1. 为什么要在 Ubuntu 26.04 上折腾远程桌面Ubuntu 26.04 这个版本号一出来很多老用户的第一反应是又该重装系统了。但真正让我在意的是它默认桌面环境的变化——GNOME 版本迭代之后远程桌面的底层协议栈也跟着动了。以前那套装个 xrdp 就完事的粗暴玩法在新版本上会遇到不少新情况。我前后在三台不同配置的机器上做了实测踩了一些坑也总结出一套比较稳的流程这里完整分享出来。先说清楚这个内容解决什么问题你有一台装了 Ubuntu 26.04 的机器可能是办公室的台式机、家里的迷你主机、或者云上的实例你想从一台 Windows 电脑远程连过去像操作本地电脑一样使用它的图形界面。适合谁看适合有一定 Linux 基础、能敲命令、但不想在远程桌面这种小事上反复折腾的开发者、运维人员、以及把 Linux 当主力机用的普通用户。如果你完全没碰过 Linux建议先补一下基本的终端操作再来。远程桌面这件事表面上看是连上去就行实际上涉及三个层面的东西服务端用什么协议、桌面会话怎么管理、网络和认证怎么打通。Ubuntu 26.04 在这三块都有它自己的脾气尤其是 GNOME 从 X11 向 Wayland 迁移的大背景下传统的 xrdp 方案会遇到会话冲突、黑屏、剪贴板失效等一系列问题。我实测下来最稳的路线是走 GNOME 自带的远程桌面功能配合 RDP 协议而不是硬上 xrdp。下面把整个思路、原理、操作和避坑经验一层层拆开讲。2. 方案选型为什么我不推荐一上来就装 xrdp2.1 三种主流路线的对比在 Ubuntu 上做远程桌面常见的有三条路VNC、xrdp、以及 GNOME 内置的 RDP 远程桌面。很多人习惯性地搜Ubuntu 远程桌面然后照着老教程装 xrdp结果在新版本上各种报错。我先把这三条路的本质区别讲清楚你就知道为什么选型比操作更重要。VNC 的原理是服务端把屏幕帧缓冲抓下来编码传给你客户端解码显示同时把你的键鼠事件回传。它跟桌面环境是解耦的所以兼容性好但性能一般尤其在动画多、分辨率高的时候明显卡顿而且默认不加密需要额外套一层。xrdp 是一个开源的 RDP 服务端实现它让 Linux 能接受 Windows 自带的远程桌面客户端连接。听起来很美但它的工作方式是自己起一个 X 会话这跟 GNOME 已经登录的会话是两套东西。你在 Windows 上连过去看到的是一个全新的、空的桌面而不是你本机正在用的那个。更麻烦的是在 Wayland 环境下 xrdp 的兼容性一直不太理想经常出现黑屏或者登录后闪退。GNOME 内置的远程桌面基于 gnome-remote-desktop是 Ubuntu 官方从 22.04 开始逐步主推的方案。它直接集成在系统设置里走 RDP 协议Windows 自带的远程桌面连接就能连不需要装任何第三方客户端。它的关键优势是跟当前登录的桌面会话绑定你连过去看到的就是本机正在跑的那个桌面窗口、剪贴板、文件都是同一套。方案协议是否共享当前会话性能配置复杂度新版本兼容性VNC (TigerVNC等)RFB可配置中等中等较好xrdpRDP默认新建会话较好较高一般GNOME 内置远程桌面RDP是好低好2.2 我最终选择 GNOME 内置 RDP 的理由选型的核心判断标准其实就一条你要的是远程操作这台机器上正在运行的那个桌面还是远程开一个独立的新桌面。绝大多数人的真实需求是前者——本机开着的东西远程接着用。GNOME 内置方案天然满足这一点而 xrdp 默认是后者要改成前者还得折腾会话接管成本高且不稳定。另一个理由是协议。RDP 在 Windows 端是原生支持的你不需要在 Windows 上装任何软件直接 WinR 输入 mstsc 就能连。这对从 Windows 远程连 Ubuntu这个场景来说是最省事的。VNC 则需要在 Windows 上装客户端多一道手续。还有一点是维护成本。GNOME 内置功能跟着系统更新走Ubuntu 官方在维护出问题的概率低。xrdp 是社区项目版本更新和桌面环境的适配总有滞后每次大版本升级都可能踩坑。我实测在 26.04 上内置方案的稳定性明显优于 xrdp。注意GNOME 内置远程桌面要求系统运行在 Wayland 会话下才能发挥最佳效果如果你之前手动切到了 X11建议切回 Wayland否则某些功能会受限。2.3 前置条件盘点动手之前先确认几件事避免做到一半发现缺东西。第一你的 Ubuntu 26.04 必须是带图形界面的桌面版服务器版默认没有桌面环境需要先装 GNOME。第二确认当前会话类型终端里执行echo $XDG_SESSION_TYPE输出应该是wayland。第三确保你知道自己的登录密码远程桌面认证要用。第四网络层面Ubuntu 和 Windows 要在能互相访问的网络里如果是跨网段或者云服务器还得考虑端口放行的问题。3. 服务端配置在 Ubuntu 26.04 上把远程桌面开起来3.1 图形界面下的开启步骤最直接的方式是走系统设置。打开设置找到系统分类下的远程桌面选项。进去之后你会看到一个总开关默认是关闭的。打开它系统会自动启用 RDP 服务并监听 3389 端口。这里有几个关键配置项需要留意。首先是远程登录的认证方式默认使用系统账户密码你可以选择是否需要每次连接时在本地机器上确认。我建议初次配置时把需要确认打开这样每次有人连进来本机屏幕上会弹一个授权提示安全一些。等你确认整套流程跑通、环境可信之后再关掉它图方便。其次是网络接口的绑定。默认它可能只监听在某些接口上如果你是从外部网络连进来需要确认监听地址是否正确。在设置界面里通常有允许从以下网络连接之类的选项选所有网络或者指定你的网卡。还有一个容易被忽略的点屏幕锁定。如果本机屏幕锁了远程连过去可能看到的是锁屏界面而不是桌面。这个行为在不同版本上略有差异实测 26.04 上如果本机处于锁屏状态远程连接会要求你先解锁输入的是同一个账户密码。所以远程操作前最好确保本机没有进入深度休眠。3.2 命令行方式更可控的配置路径图形界面点几下虽然简单但如果你想脚本化、或者在没有显示器的机器上配置就得用命令行。GNOME 的远程桌面配置存在 dconf 里可以用gsettings来读写。先看当前状态gsettings get org.gnome.desktop.remote-desktop.rdp enable返回false说明没开。开启它gsettings set org.gnome.desktop.remote-desktop.rdp enable true认证相关的配置项在org.gnome.desktop.remote-desktop.rdp这个 schema 下你可以用gsettings list-keys org.gnome.desktop.remote-desktop.rdp把所有可配置项列出来。其中比较重要的有view-only只读模式开了之后远程只能看不能操作、screen-share是否共享当前屏幕等。端口方面RDP 默认 3389如果你想改可以在配置里调整。改端口的好处是避开一些自动化扫描但要注意 Windows 客户端连接时得手动指定端口格式是地址:端口。提示用命令行改完配置后有些设置需要重新登录会话或者重启远程桌面服务才生效。最稳妥的做法是注销再登录一次。3.3 防火墙与端口放行Ubuntu 默认可能启用了 ufw 防火墙。如果开了3389 端口默认是拦着的远程连不进来。先看防火墙状态sudo ufw status如果是active放行 RDP 端口sudo ufw allow 3389/tcp如果你改了端口把 3389 换成你的端口。放行之后再用sudo ufw status确认规则生效。这里有个实操心得很多人放行了端口还是连不上问题往往出在云服务商的安全组上。如果你用的是云主机除了系统内的 ufw还得在云控制台的安全组里放行对应端口。这两层防火墙是独立的缺一不可。我第一次配的时候就在这上面卡了半小时系统内怎么查都通最后发现是安全组没开。3.4 确认服务监听状态配置完验证一下服务是不是真的在监听。用ss命令看端口ss -tlnp | grep 3389正常应该能看到类似LISTEN 0 128 0.0.0.0:3389的输出说明服务在监听所有网络接口的 3389 端口。如果只看到127.0.0.1:3389说明只监听了本地回环外部连不进来需要回去检查绑定地址的配置。还可以用systemctl看相关服务的状态。GNOME 远程桌面在 26.04 上通常由用户级的 systemd 服务管理可以这样查systemctl --user status gnome-remote-desktop.service如果服务没起来先看日志找原因journalctl --user -u gnome-remote-desktop.service -n 50日志里通常会直接告诉你缺什么依赖或者配置哪里有问题。4. Windows 端连接mstsc 的正确用法与参数调优4.1 基本连接流程Windows 这边不需要装任何东西系统自带的远程桌面连接就是现成的客户端。按 WinR输入mstsc回车弹出连接窗口。在计算机栏里填 Ubuntu 机器的 IP 地址如果改了端口就填IP:端口然后点连接。接下来会弹出凭据输入框用户名填你在 Ubuntu 上的账户名密码填对应的登录密码。注意这里有个坑如果你的 Ubuntu 账户名和显示名不一致要填的是登录名也就是whoami输出的那个不是设置里显示的全名。我第一次连的时候填了显示名一直认证失败排查半天才发现是这个问题。认证通过后如果服务端开了需要确认Ubuntu 本机屏幕上会弹一个授权框点允许之后 Windows 这边才会真正显示桌面。整个过程大概几秒钟。4.2 连接参数的针对性调整mstsc 默认的参数不一定适合 Linux 桌面有几个地方值得调。点连接窗口左下角的显示选项展开详细设置。显示标签页里分辨率建议选全屏或者跟你的 Windows 屏幕匹配的分辨率。如果选得太小Ubuntu 桌面会挤在一个小窗口里操作很难受。颜色深度一般默认 32 位就行除非你的网络特别差可以降到 16 位省带宽。体验标签页里有个连接速度的下拉框它会自动帮你勾选一些优化项。如果你是在局域网内选局域网画质和响应都最好。如果是跨网络选低带宽会自动关掉一些视觉效果牺牲画质换流畅度。我实测在局域网下选局域网模式动画和滚动都很顺基本感觉不到延迟。本地资源标签页值得关注的是剪贴板。默认剪贴板是勾选的这意味着你在 Windows 上复制的东西可以直接在 Ubuntu 里粘贴反过来也行。这个功能实测在 26.04 上工作正常是提升效率的关键。如果你发现剪贴板不通先检查这里有没有勾上。4.3 保存连接配置省去重复输入每次连接都重新填 IP 和参数很烦。在 mstsc 里配置好之后点另存为存成一个.rdp文件。下次直接双击这个文件就能连参数都保留着。更进一步你可以在保存的 rdp 文件里手动加一行username:s:你的用户名这样连用户名都不用每次输了只剩密码。不过要注意rdp 文件里如果存了密码是有安全风险的明文或者弱加密存储都可能被读取。我的做法是只存用户名和参数密码每次手动输兼顾方便和安全。5. 实测中遇到的典型问题与排查实录5.1 连接被拒绝的几种可能最常见的问题是 mstsc 报由于网络错误连接被拒绝或者无法连接到远程计算机。这个报错信息很笼统实际原因可能有好几种得逐一排查。先确认服务端服务在跑、端口在监听前面 3.4 节的命令再跑一遍。如果服务没起来看日志。如果服务正常但连不上检查防火墙系统内的 ufw 和云安全组都要看。如果防火墙也放行了试试从 Ubuntu 本机自己连自己在 Ubuntu 上装个 RDP 客户端或者用telnet 127.0.0.1 3389看端口通不通。本机通、外部不通基本就是防火墙或网络隔离的问题。还有一种情况是 IP 填错了或者机器换了 IP。如果你用的是 DHCP 动态分配机器重启后 IP 可能变了。建议给 Ubuntu 配个静态 IP或者在路由器上做 IP 绑定省得每次找 IP。5.2 连上了但黑屏或闪退这个在 xrdp 方案里特别常见GNOME 内置方案相对少但也不是没有。黑屏通常意味着会话建立失败或者桌面渲染出了问题。先看服务端日志journalctl --user -u gnome-remote-desktop.service里往往有线索。一个常见诱因是会话类型不匹配。如果你的系统跑在 X11 下而远程桌面功能期望 Wayland就可能出问题。用echo $XDG_SESSION_TYPE确认如果是x11在登录界面切换回 Wayland 会话再试。另一个诱因是显卡驱动。某些专有驱动在远程桌面场景下渲染异常导致黑屏。可以临时切到开源驱动测试如果开源驱动正常说明是驱动兼容性问题考虑换驱动版本或者调整渲染后端。5.3 剪贴板不互通的排查剪贴板失效是很影响体验的问题复制个命令还得手动敲。先确认 mstsc 的本地资源里剪贴板勾选了。如果勾了还不通检查服务端这边有没有相关限制。GNOME 远程桌面在某些配置下会禁用剪贴板同步可以在 dconf 里查一下相关键值。实测中还有一个隐蔽原因如果本机屏幕处于锁定状态剪贴板同步可能被安全策略阻断。解锁本机屏幕后再试往往就恢复了。这个行为跟具体版本和安全策略有关遇到时先排除这个因素。5.4 常见问题速查表现象可能原因排查动作连接被拒绝服务未启动/端口未监听查 systemctl 状态、ss 端口连接被拒绝防火墙拦截查 ufw 状态、云安全组认证失败用户名填错填了显示名用 whoami 确认登录名黑屏会话类型不匹配确认 Wayland 会话黑屏显卡驱动问题换开源驱动测试剪贴板不通客户端未勾选/本机锁屏检查 mstsc 设置、解锁本机卡顿严重带宽不足/分辨率过高降分辨率、调体验模式5.5 几个我踩过的坑第一个坑是账户名。前面提过填显示名导致认证失败这个坑很隐蔽因为报错信息不会告诉你用户名错了只说认证失败。第二个坑是休眠。Ubuntu 默认一段时间无操作会休眠休眠后远程就连不上了。如果你需要长期远程访问得在电源设置里把自动休眠关掉或者改成从不。这个设置在本机操作时无所谓但作为远程主机就很关键。第三个坑是分辨率自适应。有时候连上去之后Ubuntu 桌面的分辨率跟 Windows 窗口对不上出现黑边或者拉伸。这通常是客户端和服务端协商分辨率时出了问题。在 mstsc 的显示设置里手动指定一个固定分辨率往往能解决。6. 安全加固与长期使用建议6.1 别把 3389 裸奔在公网RDP 端口直接暴露在公网是很危险的自动化扫描和暴力破解非常猖獗。如果你的 Ubuntu 机器有公网 IP强烈建议不要直接把 3389 开放给所有人。几个可行的做法一是只允许特定 IP 访问在 ufw 里限制来源地址二是改一个非默认端口降低被扫到的概率但这只是障眼法不能替代真正的防护三是通过内网或者专线访问不暴露公网。在 ufw 里限制来源 IP 的写法sudo ufw allow from 你的Windows机器IP to any port 3389 proto tcp这样只有指定 IP 能连其他一律拒绝。如果你 Windows 这边的 IP 是动态的这个方案就不太适用得考虑其他方式。6.2 强密码与账户策略远程桌面的第一道防线是账户密码。确保 Ubuntu 账户用的是强密码别用生日、123456 这种。如果条件允许可以考虑更严格的认证方式但要注意兼容性不是所有方案都能跟 Windows 的 mstsc 顺畅配合。实测下来系统账户密码认证是最省事且够用的前提是密码足够强。另外建议给远程访问单独建一个账户而不是用你的主账户。这样权限可以控制得更细出问题也好隔离。不过要注意GNOME 远程桌面是跟当前登录会话绑定的用哪个账户登录本机远程看到的就是哪个账户的桌面所以这个隔离策略要结合你的实际使用方式来设计。6.3 保持系统和客户端更新远程桌面涉及协议实现安全漏洞时有出现。Ubuntu 这边保持系统更新sudo apt update sudo apt upgrade定期跑一下。Windows 这边也保持更新mstsc 的协议实现跟着系统补丁走。两边都新兼容性和安全性都更有保障。6.4 性能调优的几个实操点如果觉得远程操作不够流畅除了前面说的调 mstsc 体验模式服务端这边也有可调的地方。降低桌面特效能明显减轻编码负担比如关掉动画、减少透明效果。在设置的辅助功能或者用 GNOME Tweaks 工具可以调整这些。网络层面如果 Ubuntu 和 Windows 在同一个局域网确保走的是有线或者 5G 频段的 Wi-Fi2.4G 频段带宽和稳定性都差一些远程桌面这种实时性要求高的场景容易卡。实测有线连接下1080p 分辨率的远程桌面基本无感延迟。7. 一些延伸玩法这套流程跑通之后其实还能扩展出不少用法。比如你可以把 Ubuntu 机器当成一台远程工作站Windows 只作为瘦客户端重活都在 Ubuntu 上跑。又比如多台 Windows 设备连同一台 Ubuntu虽然同一时间只能有一个活跃会话但切换起来很方便。还有一个实用的点如果你经常在不同网络环境间切换可以给 Ubuntu 配一个固定的内网地址然后在 Windows 这边做个 hosts 记录或者用计算机名访问省得每次记 IP。计算机名访问的前提是局域网内有名称解析这个在大多数家用和办公网络里都能工作。我个人在实际操作中的体会是远程桌面这种基础设施配置一次就要配扎实把安全、稳定性、性能都考虑到后面用起来才省心。图省事裸奔端口、用弱密码迟早要出问题。反过来前期多花二十分钟把防火墙、账户、分辨率这些细节调好后面每天用都是顺的。这套在 26.04 上实测下来的流程我用了几个月没出过幺蛾子你可以直接照着抄。
阅读完成 · 觉得有帮助?