Ubuntu 25.10 原生桌面远程,终于跑通了....再也不用买 mac 了 由于家里没有 MacMini,所以之前 OpenClaw 刚起来的时候,我用零刻 Me Mini 单独跑了一套 Ubuntu 25.10 的裸系统。本地图形化桌面么,不用去配置远程、映射,直接连 HDMI 就能用。 但是随着跑的业务越来越多以后,我发现只用 IM 工具和 SSH 并不能很好的解决我使用它的场景。于是我开始尝试使用 windows 原生的 RDP 来远程。 远程,很简单对吧。脑子里第一反应就是装了 xrdp,然后搞定收工。 sudo apt install xrdp 然后我还很熟练的关闭 Wayland,开启 X11,等我悄咪咪打开 mstsc 远程桌面连接后 ——  黑屏。 ??? 大概是 GUI 不对,于是在网上找了一些方案,跑了各种 GUI,结果发现最大的问题就是没办法使用原生 Wayland,我跑在桌面上各种配置好的网页、应用,一到 RDP 就变成了丑不拉几的界面,一点用不下去。 我是真不懂阿,毕竟很少想不开远程 Ubuntu 的。然后看着价格高居不下的 Mac Mini,我决心还是换个思路来解决远程的问题。 后来 OpenClaw 提醒我,GNOME 自带了一个叫  gnome-remote-desktop  的组件, 原生支持 Wayland 下的 RDP 。而且系统里其实已经预装了,只是没有启用。 # 启用它 systemctl --user enable --now gnome-remote-desktop.service 然后设置一下 RDP 的登录凭据: # 需要连接到桌面会话的 D-Bus export DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/1000/bus # 设置用户名和密码 grdctl rdp set-credentials myuser mypassword 生成 TLS 证书(RDP 需要 TLS 加密): mkdir -p ~/.local/share/gnome-remote-desktop openssl req -x509 -newkey rsa:2048 \ -keyout ~/.local/share/gnome-remote-desktop/rdp-tls-key.pem \ -out ~/.local/share/gnome-remote-desktop/rdp-tls-cert.pem \ -days 365 -nodes \ -subj "/CN=$(hostname)" 指定证书路径: grdctl rdp set-tls-cert ~/.local/share/gnome-remote-desktop/rdp-tls-cert.pem grdctl rdp set-tls-key ~/.local/share/gnome-remote-desktop/rdp-tls-key.pem 配置完成后查看状态: grdctl status --show-credentials 输出大概长这样: Overall:   Unit status: active RDP:   Status: enabled   Port: 3389   TLS certificate: /home/user/.local/share/gnome-remote-desktop/rdp-tls-cert.pem   TLS fingerprint: ab:cd:ef:...   TLS key: /home/user/.local/share/gnome-remote-desktop/rdp-tls-key.pem   View-only: no   Username: myuser   Password: mypassword 完美! 然后熟练的反代 3389 端口,配置域名,打开远程 RDP,链接, 错误代码 0x904。 查了一下日志: journalctl --user -u gnome-remote-desktop.service --since "1 min ago" 看到了这行: gnome-remote-desktop-daemon: ../src/libei-connection.c:75: ei_connection_get_context: Assertion `connection' failed. 服务直接  中断  了。 上游 gnome-remote-desktop 49.0 的已知 bug。  当 RDP 客户端断开连接时,libei 试图获取一个已经不存在的连接上下文,然后—— 砰 ,断言失败,进程直接被杀死。 然后查了查相关的资料,发现 view-only 模式不走 libei。  然后测试了一下,果然,先开启 view-only,连接以后再关闭,这样远程 RDP 就可以直接操作 Ubuntu 桌面了  稳定如老狗 开始起飞 然后我就创建了一个脚本,大致思路就是先 view-only 开启服务,连上后断 view-only,监听 3389 连接,无连接自动重启再次开启监听。 服务启动 → 开启 view-only(稳定,不崩溃)   ↓ 用户连上 RDP(view-only 模式,绕过 libei bug)   ↓ 检测到连接 → 关闭 view-only(libei 此时已经正常初始化)   ↓ 用户正常操作鼠标键盘   ↓ 用户断开 → 服务崩溃 → 自动重启 → 回到第一步 第一步:给服务加崩溃自动重启 mkdir -p ~/.config/systemd/user/gnome-remote-desktop.service.d cat > ~/.config/systemd/user/gnome-remote-desktop.service.d/override.conf << 'EOF' [Service] Restart=always RestartSec=1 EOF 这样 libei 崩了之后,1 秒内自动重启。 第二步:创建 Watcher 脚本 这是整个方案的核心。用端口连接状态来判断用户是否在线: mkdir -p ~/.local/bin cat > ~/.local/bin/rdp-watcher.sh << 'SCRIPT' #!/bin/bash # RDP Watcher - View-Only 自动切换 # 原理:检测 3389 端口 TCP 连接状态 #   无连接 → view-only ON(稳定) #   有连接 → view-only OFF(可操作) export DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/1000/bus state="idle" while true; do if ss -tn state established 2>/dev/null | grep -q ':3389'; then   if [ "$state" = "idle" ]; then     sleep 1     grdctl rdp disable-view-only >/dev/null 2>&1     state="connected"   fi else   if [ "$state" = "connected" ]; then     # 连接断开了,等服务崩溃重启稳定后,再开 view-only     sleep 5     grdctl rdp enable-view-only >/dev/null 2>&1     state="idle"   elif [ "$state" = "idle" ]; then     # 空闲时确保 view-only 是开着的     grdctl rdp enable-view-only >/dev/null 2>&1   fi fi sleep 2 done SCRIPT chmod +x ~/.local/bin/rdp-watcher.sh • 每 2 秒检测一次 3389 端口有没有 TCP 连接 • 没连接 → 开 view-only,等待用户连接 • 有连接 → 关 view-only,用户可以操作 • 连接断开 → 等 5 秒(让崩溃和重启完成)→ 重新开 view-only 不用日志,不用 D-Bus 监听,就一个  ss  命令,简单粗暴且可靠。 第三步:注册为 systemd 用户服务 cat > ~/.config/systemd/user/rdp-watcher.service << 'EOF' [Unit] Description=RDP View-Only Auto-Switch Watcher After=gnome-remote-desktop.service [Service] ExecStart=%h/.local/bin/rdp-watcher.sh Restart=always RestartSec=5 [Install] WantedBy=default.target EOF systemctl --user daemon-reload systemctl --user enable --now rdp-watcher.service ✅ 最终效果 全部配置完成后: # 确认两个服务都在跑 systemctl --user status gnome-remote-desktop.service systemctl --user status rdp-watcher.service 然后用任意 RDP 客户端连接。 连上就能操作,断开再连也没问题。全程自动,不需要手动干预。 好了,我可以美美的开始办公远程做游戏了~~ 三国曹操传美少女版,启动!