最近又把那台吃灰大半年的 XUbuntu 22.04 轻薄本翻了出来,目的很明确:远程操作实验室里那台 Ubuntu 24.04 桌面机。场景很简单——机器长期开着,接着显示器,但人不方便天天跑过去,最好能让我在局域网里用另一台 Linux 设备直接接管它的桌面。我第一反应是装 xrdp 或者 VNC,但翻了一圈系统设置后发现,Ubuntu 24.04 桌面版自带了一套基于 RDP 协议的远程桌面能力,根本不用额外装服务端,客户端用常见的远程桌面工具就能连。这篇就以 XUbuntu 22.04 连接 Ubuntu 24.04 自带远程桌面为主线,把完整过程、选型思路和踩过的坑都记录下来,给同样折腾 Linux 远程桌面的朋友做个参考。
这套方案适合谁?其实很明确:手里有一台 Ubuntu 24.04 桌面版需要被远程控制,客户端是 XUbuntu 或者其他任意 Linux 桌面,又不想为了远程桌面专门去配置 xrdp、VNC 这类第三方服务的用户。接下来我会从为什么选自带方案、服务端怎么设置、客户端怎么连,到实际连的时候常见的认证失败、黑屏、键盘布局等问题,一步一步拆开讲。
1. 为什么我盯上了Ubuntu 24.04自带的远程桌面
1.1 先交代一下我的具体使用场景
实验室那台 Ubuntu 24.04 是一台标准桌面版,装了一大堆开发环境和数据,因为经常有人要在上面跑实验,所以不能随便重启,也不能轻易乱动显卡驱动。我手头这台 XUbuntu 22.04 是 Xfce 桌面,性能比较一般,但跑一个远程桌面客户端绰绰有余。
需求本身并不复杂:偶尔需要过去看一眼进程、改个配置、操作一下 GUI 程序,平时大多数时候是不需要碰它的。这种“轻量客户端 + 重量级桌面服务端”的组合,最适合的方案就是远程桌面协议,而不是 SSH 终端。因为我要操作的不只是命令行,还有桌面环境里的图形程序。
1.2 自带远程桌面与 xrdp、VNC 怎么选
我把常用方案放在一起对比了一下,这样选型时比较直观:
| 对比项 | GNOME 自带远程桌面(RDP) | xrdp 服务端 | VNC(如 TigerVNC/vino) |
|---|---|---|---|
| 协议 | RDP | RDP | VNC |
| 服务端安装 | 不需要,系统自带 | 需要额外安装配置 | 需要额外安装 |
| Wayland 支持 | 好,官方主推 | 差,基本依赖 Xorg | 有限,Wayland 下兼容性一般 |
| 多会话并发 | 不支持,接管当前桌面会话 | 可以支持独立会话 | 一般不支持 |
| 配置成本 | 系统设置里几分钟搞定 | 装包、配启动器、处理权限 | 设密码、配端口,步骤较多 |
| 客户端生态 | 任何 RDP 客户端都行 | 任何 RDP 客户端都行 | VNC Viewer 等专用客户端 |
我的结论很直接:如果只是远程操作一台正常的桌面版 Ubuntu,GNOME 自带的远程桌面是最省事的选择。它走 RDP 协议,客户端生态成熟,XUbuntu 侧不需要装什么特殊软件,服务端零安装成本。xrdp 更适合那种“无头 + 多用户独立会话”的服务器场景,VNC 则更适合需要兼容各种异构平台的临时连接。
1.3 一个容易被忽略的前提:它接管的是当前桌面会话
用自带远程桌面连上去之后,你看到的就是服务端当前登录用户正在使用的 GNOME 桌面。你在远程的鼠标键盘操作,和坐在那台机器前面操作是同一件事,相当于把面前的屏幕“延伸”过来了。
这意味着它不适合那种“想给每个远程用户开一个独立桌面”的场景。如果你要的是多人同时登录、各看各的桌面,那就得用 xrdp/X2Go 这类支持独立会话的方案。但对于我这种一对一远程接管桌面的需求,自带方案反而刚刚好。另外,客户端是 XUbuntu 也好,Windows 也好,只要是 RDP 客户端,连上去的行为都差不多,这也是 RDP 协议带来的跨平台好处。
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 服务端这台机器,先把窗户彻底打开
2.1 系统设置里的操作顺序
在 Ubuntu 24.04 上开启远程桌面,不需要碰任何配置文件,直接在图形界面里操作就行。步骤如下:
- 打开“设置”,在左侧找到“系统”,再点“远程桌面”。
- 打开顶部的“远程桌面”开关,这时候系统会提示你为远程连接设置一个“用户名”和“密码”。
- 继续打开“远程控制”开关,这个开关决定远程端能不能操作鼠标键盘。
- 设置完成后,顶部状态栏会出现一个齿轮或显示器样式的图标,表示远程桌面服务已经就绪。
这里有个细节值得单独说:打开“远程桌面”开关时弹出的用户名密码,和系统登录用户密码完全无关,它是一组独立的 RDP 认证凭据。很多人后面连接失败,就是栽在这一步——习惯性地填了系统登录密码,结果怎么都连不上。
2.2 用户与密码的设置细节
远程用户名理论上可以随便填,比如叫 remote、admin 都行,不一定非得是系统里真实存在的用户名。密码则建议设成一个中等强度以上、容易记住的独立密码,因为这个密码会直接用于 RDP 登录认证。
如果你哪天忘了远程密码,最靠谱的解决办法不是去翻什么“本地保存的远程桌面密码查看工具”,而是直接到服务端的“设置 → 系统 → 远程桌面”里重新设置一遍。网上有些人费劲找本地 RDP 凭据查看器,其实在这套方案里根本用不上,因为密码就明明白白存在系统设置里,重置一下就不纠结了。
2.3 Wayland还是Xorg,这一项直接决定成败
Ubuntu 24.04 默认的登录会话是 Wayland 下的 GNOME,GNOME 自带远程桌面的 RDP 链路恰恰就是针对 Wayland 优化的,所以正常情况下连接体验比较稳定。
但如果之前因为某些原因,比如 N 卡驱动、录屏软件兼容性,在登录界面右下角手动切换到了“Ubuntu on Xorg”,那就要留意了:自带的远程桌面在 Xorg 会话下可能出现黑屏、画面卡死、只能看不能操作这类兼容问题。这不是你设置错了,而是 gnome-remote-desktop 在 Xorg 下的状态确实不如 Wayland 稳。
判断当前会话类型很简单,在服务端终端执行:
bash复制echo $XDG_SESSION_TYPE
输出是 wayland 就放心用自带方案;输出是 xorg 而你又必须留在 Xorg 的话,我的建议是干脆别跟自带远程桌面死磕,转用 xrdp 这类方案更稳妥。如果不用必须留在 Xorg 的理由,直接在登录界面齿轮里选回 Wayland 再试一次,问题往往就消失了。
2.4 防火墙、息屏和合盖策略
Ubuntu 桌面版默认没有启用 ufw,所以很多人第一次测试时能直接连上。但如果你之前开启过防火墙,记得放行 TCP 3389 端口:
bash复制sudo ufw allow 3389/tcp
更严谨一点可以限定来源网段:
bash复制sudo ufw allow from 192.168.1.0/24 to any port 3389 proto tcp
服务端的自动息屏也值得处理。默认设置下,屏幕闲置一段时间后会关闭,远程连接过去看到的画面就可能是一片黑。我一般会把空闲熄屏时间改大,或者直接用命令关闭屏幕空白:
bash复制gsettings set org.gnome.desktop.session idle-delay 0
锁屏策略上,理论上 RDP 连接后如果服务端处于锁屏状态,远程端也会看到锁屏界面并允许输入密码,但实际中偶发无法输入的情况并不少见。测试阶段建议先把自动锁屏关掉,等确认一切正常再按需开启。
2.5 无头机器上的尴尬:没有显示器的时候
有些人会把桌面版 Ubuntu 当无头服务器用,完全不接显示器。这种情况下自带远程桌面不是不能启动,但有一定概率拿到一个空桌面、低分辨率画面,或者干脆黑屏。
我的解决办法比较土但很有效:插一个 HDMI 诱骗器,也叫虚拟显示适配器,让系统认为有一个显示器在线,远程分辨率就能正常拉高。这些东西很便宜,十几块钱一个,解决无头远程桌面问题立竿见影。
如果机器是笔记本,还要注意合盖休眠问题。系统默认合盖会挂起,远程肯定断连,需要到电源设置里改成合盖不动作。简单来说,只要这台 Ubuntu 24.04 能保持一个稳定的图形会话,自带远程桌面就能正常工作。
3. 客户端连接:XUbuntu 22.04这边的三种接法
3.1 Remmina:图形化最省事,重点是装对插件
XUbuntu 22.04 默认没有安装 Remmina,需要自己装。安装时有一个坑:很多人只装了 remmina,结果新建连接时找不到 RDP 协议,就是因为缺少 RDP 插件包。正确的安装命令是:
bash复制sudo apt update
sudo apt install remmina remmina-plugin-rdp
装好之后打开 Remmina,新建连接,关键字段这样填:
- 协议:选择 RDP
- 服务器:填 Ubuntu 24.04 的 IP 地址,比如
192.168.1.100 - 用户名:填远程桌面设置里创建的那个用户名
- 密码:填设置的远程密码,不是系统登录密码
- 分辨率:建议填 1920x1080,或者用自动/自适应
连接成功后,Remmina 顶部工具栏可以切换全屏、调整画质,使用习惯和 Windows 自带的远程桌面很接近。第一次连的时候如果遇到认证报错,先别怀疑服务端配置,重点检查用户名密码是不是填成了系统登录凭据。
3.2 GNOME Connections:轻量而“无聊”的选择
如果你不想装 Remmina 那么重的客户端,可以试试 GNOME 官方出的 gnome-connections:
bash复制sudo apt install gnome-connections
这个客户端界面极简,支持 RDP 和 VNC,适合“一键进入”的场景。不过它的可调参数比较少,遇到网络延迟、画质问题很难做精细调整。在 Xfce 环境下它的依赖会多一些,属于可选方案。我个人体验下来,它更像一个应急用的备用客户端,日常操作还是 Remmina 顺手。
3.3 xfreerdp 命令行:调试和自动化更顺手
命令行党或者需要脚本化连接的话,xfreerdp 是很好的选择。XUbuntu 22.04 里对应的包名是 freerdp2-x11:
bash复制sudo apt install freerdp2-x11
连接命令可以写成这样:
bash复制xfreerdp /v:192.168.1.100 /u:remoteuser /p:'remote-password' /dynamic-resolution /gfx:AVC444 /f
参数含义:
/v:服务端 IP 地址/u和/p:远程桌面设置里创建的独立用户名和密码/dynamic-resolution:开启动态分辨率,窗口拉伸时远程端会自动调整分辨率/gfx:AVC444:启用图形管线里的 AVC444 模式,低带宽下画质和流畅度更平衡/f:全屏启动
xfreerdp 的报错信息比图形客户端更明确。如果看到 ERRINFO_LOGON_FAILED (0x00000005),基本就是认证失败,直接到服务端设置里重设一遍远程密码,比对着错误码猜原因快得多。
3.4 不同客户端的取舍
日常使用我首选 Remmina,因为它参数全、社区资料多,遇到问题好搜。出问题时我会切到 xfreerdp 命令行,看具体错误码定位。GNOME Connections 偶尔用一下,毕竟它轻量,不需要配置太多东西。三者的对比简单列一下:
| 客户端 | 优点 | 缺点 | 适用场景 |
|---|---|---|---|
| Remmina | 参数全面、可调画质、社区常用 | 首次安装需要插件 | 日常使用 |
| GNOME Connections | 简洁、开箱即用 | 参数少、无法精细调优 | 临时快速连接 |
| xfreerdp | 命令行、报错明确、可脚本化 | 没有图形界面 | 排查问题、自动化连接 |
4. 实际连接时,最容易踩的四个坑
4.1 认证失败:用户名密码到底填哪个
这是最多人遇到的问题,包括我自己第一次也栽了。现象很典型:Remmina 弹窗提示“认证失败”,xfreerdp 报 0x00000005。
原因其实只有一个:把系统登录密码当成了远程桌面密码。前面提过,Ubuntu 24.04 的远程桌面功能要求单独创建一组 RDP 用户名密码,这组凭据和系统账户完全独立。你在服务端设置里填写的是 remote 用户名加一个自定义密码,那客户端这边就必须填这组,而不是你平时登录系统用的那组。
解决方式有两个:
- 到服务端“设置 → 系统 → 远程桌面”里核对一下用户名密码。
- 直接把远程密码重新设置一遍,然后在客户端重试。
别花时间去找什么本地 RDP 密码查看工具,在这套方案里没有必要,重置密码最干净利落。
4.2 黑屏、花屏或只有桌面背景
连上之后黑屏,或者只有纯色背景没有桌面图标,这个问题原因的维度比较多,按可能性排序:
第一种,服务端跑在 Xorg 会话下,自带远程桌面的兼容性翻车。这种情况最典型的特征就是远程画面可能偶尔刷新,但键盘鼠标基本无效。解法是切回 Wayland 会话,或者换 xrdp。
第二种,服务端显示器处于关闭状态。即使你本地插着显示器,系统节能策略也可能把屏幕关了。RDP 连接时有时唤不醒输出,导致远端看到黑屏。解法是关闭自动息屏,或者按一下服务端物理键盘鼠标唤醒,最保险的就是用 gsettings set org.gnome.desktop.session idle-delay 0 彻底关闭熄屏。
第三种,无头场景。机器根本没接显示器,远程端拿不到正常的显示输出,这时候插一个 HDMI 诱骗器基本能解决。
还有一个小概率情况:服务端图形会话刚启动时,gnome-remote-desktop 还没完全初始化,等十几秒再重连一次通常就好。
4.3 连上之后鼠标键盘没反应
如果你能正常看到远程桌面画面,但鼠标键盘操作完全无效,问题大概率不在客户端,而在服务端的“远程控制”开关没打开。
Ubuntu 24.04 的远程桌面设置里有两个独立开关:“远程桌面”控制的是能不能看到屏幕,“远程控制”控制的是能不能操作鼠标键盘。很多人只开了第一个,自然只能看不能动。到服务端设置里把“远程控制”打开,重新连接一次即可。
另外有个细节值得留意:如果你连接时发现状态栏显示一个远程桌面的图标,但没有开启远程控制,RDP 连接会以“观看模式”存在,画面是实时同步的,但你的输入事件不会传给服务端。这不是 bug,是开关的设计行为。
4.4 复制粘贴和键盘布局的怪脾气
键盘布局问题在 Wayland 会话下特别明显。GNOME 远程桌面在 Wayland 下会让服务端当前会话的输入法状态直接参与输入处理。如果服务端当时切换到了中文拼音布局,你在远程敲英文字母时,可能会弹出候选框,或者字母输入到一半被输入法截胡。
解决方式很朴素:远程连接前,先在服务端那个物理屏幕或者已经建立的连接里,把输入法切回英文/默认布局,再操作就顺畅了。也可以用 xfreerdp 的键盘布局参数强制设置美式键盘,比如:
bash复制xfreerdp /v:192.168.1.100 /u:remoteuser /p:'remote-password' /kbd:0x00000409
但这只能保证客户端上报的键盘布局是美式,服务端输入法状态仍然可能捣乱,所以最靠谱的还是从输入法源头处理。
再来说剪贴板。Wayland 的安全策略比 X11 严格很多,RDP 剪贴板在有些配置下是单向的,从远程复制到本地可能失败。Remmina 里可以在设置中调整剪贴板方向,有双向、仅本地到远程、仅远程到本地等选项。如果你经常需要在远程和本地之间复制文本,记得提前设置好。
至于通过远程桌面直接拖拽复制大文件,这里有一个很常见的痛点:不少人想在远程会话里直接粘贴复制 10M 以上的文件,结果常常传一半断开。这其实是 RDP 剪贴板传大文件的通病,不是你网络问题。大文件传输建议直接用 scp 或 rsync,远程桌面只负责图形界面的操作和查看,不要指望它当文件传输工具使。
5. 手感调优:画质、延迟与日常使用习惯
5.1 局域网下怎么调 Remmina 画质
RDP 连接的手感很大程度上取决于画质参数。Remmina 的工具栏里可以设置画质模式,常用的是“质量优先”和“速度优先”。
局域网千兆环境下,我建议直接“质量优先”,颜色深度选 24bit 或 32bit,画面清晰度和流畅度都很不错,基本感觉不到延迟。如果用的是百兆网络或者无线网络,可以适当降低画质,比如选“速度优先”,分辨率缩到 1600x900 左右,操作反馈会更跟手。
另外,在 Remmina 设置里可以勾选“禁用桌面壁纸”。这个选项在低带宽环境下降延迟效果明显。Ubuntu 默认壁纸虽然好看,但远程桌面传输时始终要占一点流量。
5.2 动态分辨率:窗口缩放比固定分辨率舒服
我习惯在客户端开启动态分辨率。Remmina 里对应的是“自动调整分辨率”选项,xfreerdp 里就是 /dynamic-resolution。
开启之后,远程桌面窗口在本地拉伸或缩放时,服务端的显示分辨率会自动匹配,就像在用本机桌面一样自然。多显示器场景下尤其方便,把窗口拖到另一块屏上,远程桌面会自动调整尺寸,不需要手动改分辨率再重连。
不过有一点要注意,服务端如果显卡性能一般,频繁拉动窗口边界会让远程画面短暂卡顿,这是它在重新协商分辨率,属正常现象。日常操作稳定下来之后,体感会很快就恢复正常。
5.3 会话保持和远程重启
关于远程桌面会话的行为模式,有一点必须清楚:连接断开后,服务端的桌面会保持在远端操作后的最后一个状态。你远程打开了一个文件管理器窗口,断开连接后,那个窗口依然在服务端桌面上。这意味着,你远程做了什么事,服务端本地用户回来一眼就能看到。在共享机器上操作时,尽量别在远程会话里留下敏感页面或明显痕迹。
顶栏的远程桌面图标会在被连接时显示出来,服务端本机用户很容易发现。如果你是在公用机器上开远程,这个行为其实很友好,等于给了本机用户一个感知通道。
远程重启则是另一个要注意的点。RDP 连接只是接管当前桌面,如果服务端重启,桌面会话结束,开机后会停留在登录界面,远程连接无法直接进入桌面。你需要到服务端本地解锁登录,或者开启自动登录才能绕开这个环节。对无人值守场景,这一点要在方案设计时就考虑好,别等重启完才发现连不上。
5.4 安全建议:别把RDP端口直接暴露到公网
局域网内使用自带远程桌面,风险相对可控,但我强烈不建议把 3389 端口直接映射到公网。这类端口一旦暴露,就会被各种扫描工具盯上,暴力破解几乎无法避免。
如果确实需要在不同网络之间远程访问,更稳妥的做法是先建立一条加密的 SSH 转发通道,再通过本地端口去连接远程桌面。比如:
bash复制ssh -L 3389:localhost:3389 user@你的服务器网关IP
然后让客户端连接 localhost:3389,这样 3389 本身不出现在公网,安全性能好很多。
另外,远程凭据虽然和系统账户独立,但密码强度不能放松。建议使用较长随机密码,保持系统和 gnome-remote-desktop 相关组件更新,避免已知漏洞被利用。
6. 最后的经验之谈:什么时候别硬用这套方案
折腾到这一步,我基本摸清了 Ubuntu 24.04 自带远程桌面的能力边界。它最适合的场景就一句话:一对一、常驻桌面、Wayland 会话、局域网内或加密通道内远程操作。只要这四个条件都满足,这套方案几乎零成本,稳定性和手感也都在线。
但反过来,有些场景我建议直接绕开它。
第一种,无头机器且要以多人独立会话方式远程登录。自带远程桌面接管的是当前物理桌面,不支持拆出多个独立会话,这时候 xrdp 反而更合适。第二种,服务端必须跑 Xorg 会话且不能切换。这种情况自带方案兼容性不稳定,与其跟黑屏问题斗智斗勇,不如一开始就选 xrdp。第三种,需要在系统开机后无人登录的状态下直连桌面。自带远程桌面依赖一个已登录的图形会话,开机停在登录界面时,远程侧基本无能为力,这种情况要么开自动登录,要么换独立的远程桌面服务端。
从我这个折腾过程来看,结论其实很简单:能用系统自带功能,就别给自己造轮子。Ubuntu 24.04 这套自带远程桌面,在它擅长的场景里足够好用,关键是提前确认 Wayland、独立密码、远程控制开关这三个基础条件。只要这三件事不出岔子,XUbuntu 22.04 连过去基本就是一路顺畅,剩下的只是画质、分辨率和键盘布局的细节微调罢了。
