标题: 使用Ubuntu 26远程桌面 创建: 2026-08-06 09:51 更新: 2026-08-07 08:54 链接: https://scz.617.cn/unix/202608060951.txt https://mp.weixin.qq.com/s/9ooSaN7A3g17koVp2zfLkg 过去的工作方向,很少有用Linux GUI的时候,对GUI相关的服务、功能知之甚少。最 近想用mstsc访问Ubuntu 26的远程桌面,临时查阅一些资料,记录备忘。 -------------------------------------------------------------------------- Settings System Remote Desktop Desktop Sharing (可能需要提供普通用户密码Unlock后再操作) Desktop Sharing On (可看) Remote Control On (可控) How to Connect Port 3389 (GUI不可更改) Login Details Username any0 (必须设置,与系统账号无关) Password (必须设置,与Linux系统账号无关) Remote Login (可能需要提供root密码Unlock后再操作) Remote Login On (可控) How to Connect Port 3389 (GUI不可更改) Login Details Username any1 (必须设置,与Linux系统账号无关) Password (必须设置,与系统账号无关) -------------------------------------------------------------------------- Wayland是Linux新一代的"显示服务协议",用来取代旧的X11协议,不存在后者历史 遗留安全问题。 从Ubuntu 24开始,GNOME桌面自带RDP服务。Ubuntu 26默认用Wayland。 假设用scz在主控台GUI登录,开Terminal,执行下列命令: $ systemctl --user status gnome-remote-desktop gnome-remote-desktop.service - GNOME Remote Desktop Loaded: loaded (/usr/lib/systemd/user/gnome-remote-desktop.service; enabled; preset: enabled) Active: active (running) since Thu 2026-08-06 ... Invocation: ... Main PID: 3237 (gnome-remote-de) Tasks: ... Memory: ... CPU: ... CGroup: ... gnome-remote-desktop是GNOME原生RDP服务。检查相关进程和端口: $ ps auwx | grep gnome-remote scz 3237 0.0 0.5 722204 86056 ? SLsl 10:45 0:00 /usr/libexec/gnome-remote-desktop-daemon # ss -natp | grep :33 # netstat -natp | grep :33 (应该有输出) GNOME远程桌面有两种模式,分别是"Desktop Sharing"、"Remote Login"。 "Desktop Sharing"相当于共享屏幕,要求主控台GUI已登录。若未登录(停留在登录 界面),则不侦听3389,必须GUI登录才会触发侦听3389;logout后3389将不再侦听。 就是说,为用"Desktop Sharing",主控台GUI必须保持login状态。 "Desktop Sharing"可保持只读模式,即只能远程观摩主控台GUI操作,不能控制。若 同时打开"Remote Control",则进入读写模式,可远程操控屏幕,且主控台与远程桌 面屏显同步。这种可以双人协作,相当于Windows的"远程协助"功能。 若启用"Remote Login",则OS启动后3389一直侦听中,无需通过主控台GUI登录来触 发侦听,可在OS重启后的初始登录状态或其他锁屏状态远程使用"Remote Login",无 需主控台配合。 若同时启用"Desktop Sharing",系统自动安排"Remote Login"侦听3389、"Desktop Sharing"侦听3390,意味着RDP连接时"Remote Login"优先级更高。这些端口变动, 都是自动的,无法在GUI人工更改。 "Remote Login"最接近Windows的远程桌面,但不完全等效。Windows的远程桌面,在 没有额外License的默认情况下,会抢夺主控台的登录会话,屏显完整迁移到远程桌 面;之后主控台重新登录,又会抢夺远程桌面的登录会话,屏显完整迁移到主控台。 Ubuntu 26的"Remote Login"不会抢夺主控台的登录会话,无法迁移屏显,但有一点 是相同的,无论远程、本地,只允许一个GUI登录会话。 客户端使用"Remote Login"时,若主控台GUI已登录,会弹框提示: -------------------------------------------------------------------------- Session Already Running. Remote login is not possible because a local session is already running for scz. To login remotely, you must log out from the local session or force stop it. Force stopping will quit any running apps and processes, and could result in data loss. Cancel or Force Stop -------------------------------------------------------------------------- 此时有两种选择,一是在主控台主动logout,二是远程"Force Stop",后者相当于强 制主控台logout。 据说可命令行设置相关端口,未测试,仅记录: -------------------------------------------------------------------------- Desktop Sharing (用户级) 以普通用户身份执行 grdctl rdp set-port 3390 gsettings set org.gnome.desktop.remote-desktop.rdp port 3390 (二选一) systemctl --user restart gnome-remote-desktop.service gsettings get org.gnome.desktop.remote-desktop.rdp port (只反映默认值,不反映当前值) $ gsettings list-recursively org.gnome.desktop.remote-desktop.rdp org.gnome.desktop.remote-desktop.rdp auth-methods ['credentials'] org.gnome.desktop.remote-desktop.rdp enable true org.gnome.desktop.remote-desktop.rdp kerberos-keytab '' org.gnome.desktop.remote-desktop.rdp negotiate-port true org.gnome.desktop.remote-desktop.rdp port uint16 3389 org.gnome.desktop.remote-desktop.rdp screen-share-mode 'mirror-primary' org.gnome.desktop.remote-desktop.rdp tls-cert '/home/scz/.local/share/gnome-remote-desktop/certificates/rdp-tls.crt' org.gnome.desktop.remote-desktop.rdp tls-key '/home/scz/.local/share/gnome-remote-desktop/certificates/rdp-tls.key' org.gnome.desktop.remote-desktop.rdp view-only false -------------------------------------------------------------------------- Remote Login (系统级) 以root身份执行 grdctl --system rdp set-port 3389 (无等价gsettings版本) systemctl restart gnome-remote-desktop.service # grdctl --system status Overall: Unit status: active RDP: Status: enabled Port: 3389 Authentication methods: credentials TLS certificate: /var/lib/gnome-remote-desktop/.local/share/gnome-remote-desktop/certificates/rdp-tls.crt TLS fingerprint: ... TLS key: /var/lib/gnome-remote-desktop/.local/share/gnome-remote-desktop/certificates/rdp-tls.key Kerberos keytab: (null) Username: (hidden) Password: (hidden) -------------------------------------------------------------------------- 一般无需修改3389端口号,毕竟mstsc默认用3389。若同时启用"Desktop Sharing"、 "Remote Login",想访问前者时,在mstsc初始界面输入"ip:port"(缺省只输ip),比 如"192.168.65.26:3390"。 "Login Details"处的any0、any1俱是独立user,互不影响。它们与Linux系统账号无 关,填在mstsc中,用于RDP登录第一次认证。认证通过后,若用"Desktop Sharing", 将直接看到主控台界面;若用"Remote Login",将面对GUI登录界面,还需用Linux系 统账号完成第二次认证。RDP登录时若提示"内部错误",先检查"Login Details"处的 user/pass是否已显式设置,这个错误提示相当不友好。 用mstsc登录GNOME远程桌面时,会遭遇安全警告: -------------------------------------------------------------------------- Continue With Insecure Connection? This Remote Desktop connection is insecure. To secure this connection, enable RDSTLS Security in your client by saving the connection settings in your client as an RDP file and set "use redirection server name:i:l" in it. Disconnect or Continue -------------------------------------------------------------------------- 如果目标服务器在内网安全环境中,直接Continue即可。若想消除此警告,这样操作 mstsc 显示选项 另存为 some.rdp some.rdp是个文本文件,在其中找到 use redirection server name:i:0 改成 use redirection server name:i:l 之后通过双击some.rdp调用mstsc,不再出现前述警告,但二次出现RDP登录Windows 系列时的那种警告,同样可跳过。所以搞个some.rdp没啥意义,只是换了警告形式。 GNOME远程桌面很容易因为超时不动而断掉,这点很烦。可设整如下设置,稍微缓解 一下: -------------------------------------------------------------------------- Settings Power Power Saving Automatic Screen Blank Off Privacy & Security Screen Lock Automatic Screen Lock Off -------------------------------------------------------------------------- 排错时可查看GNOME远程桌面日志: journalctl --user -u gnome-remote-desktop -n 100 --no-pager | less