Ubuntu XRDP 远程桌面0秒退和黑屏的解决办法

张开发
2026/6/8 9:37:00 15 分钟阅读
Ubuntu XRDP 远程桌面0秒退和黑屏的解决办法
在 Ubuntu 系统上配置远程桌面XRDP 是一个非常流行且方便的选择。它允许我们使用 Windows 自带的“远程桌面连接”工具直接访问 Linux 图形界面体验非常流畅。然而很多同学在按照教程安装好 XRDP 和桌面环境如 XFCE4后满心欢喜地输入密码连接结果却遇到了令人抓狂的 “闪退” 问题窗口一闪而过或者直接黑屏然后断开连接。今天我们就来深入剖析这个问题的根源并提供一个简单、高效的解决方案。XRDP 启动一个图形会话的过程其实挺复杂。简单来说当你连接时XRDP 会调用一个名为 startwm.sh 的脚本来启动你的桌面环境比如 XFCE4。问题的关键在于XRDP 在建立会话时会继承一些来自当前系统的环境变量。其中有两个变量在现代 Linux 桌面环境中至关重要DBUS_SESSION_BUS_ADDRESS负责进程间通信IPC。XDG_RUNTIME_DIR定义了用户运行时文件的存放目录。在某些情况下尤其是在 WSL2 或某些 Ubuntu 版本中XRDP 会话继承的这些变量路径可能不正确或者与 XRDP 创建的独立会话环境产生冲突。这会导致桌面环境在启动时因为无法正确建立通信或找不到运行时目录而立即崩溃。反映在客户端就是我们看到的“闪退”。打开 XRDP 的启动脚本在终端中使用 sudo 权限打开 /etc/xrdp/startwm.sh 文件。你可以使用你熟悉的任何编辑器这里以 nano 为例sudo nano /etc/xrdp/startwm.sh添加“清理”代码在文件的末尾你会看到类似 exec /bin/sh /etc/X11/Xsession 的行。我们需要在它之前或者直接替换掉它添加我们的解决方案。将以下内容添加到文件末尾bash编辑# 清除可能引起冲突的环境变量unset DBUS_SESSION_BUS_ADDRESS unset XDG_RUNTIME_DIR把这两个放出来# 启动 XFCE4 桌面环境sudo service xrdp restart在此连接

更多文章