配置 RDP 远程桌面协议连接ubuntu服务器桌面
一、简介
RDP(Remote Desktop Protocol,远程桌面协议)是微软开发的一种专有协议,用于在网络上实现远程桌面访问,允许用户通过客户端设备(如 Windows、Linux、macOS 等)远程控制另一台运行 Windows 或支持 RDP 的服务器,Linux 需要配置XRDP进行模拟,功能不如 Windows 原生。
二、服务安装
-
安装XRDP
sudo apt install xrdp -y -
检查 XRDP 是否运行
sudo systemctl status xrdp
-
如果没有,通过如下指令启动,但仅影响当前会话
sudo systemctl start xrdp -
设置开机自启
sudo systemctl enable xrdp -
禁止自启 && 停止服务 (可选)
sudo systemctl disable xrdp sudo systemctl stop xrdp
三、桌面安装
-
检查
XDG_CURRENT_DESKTOP和DESKTOP_SESSION变量的值,根据输出判断使用的桌面环境。echo $XDG_CURRENT_DESKTOP # 或 echo $DESKTOP_SESSION -
默认服务器具有桌面环境GNOME,如果没有,推荐安装轻量级的 XFCE,当然也可以选择GNOME
sudo apt install xfce4 xfce4-goodies -y # GNOME sudo apt install ubuntu-gnome-desktop -y -
XRDP 默认使用用户的桌面环境配置,如果安装了 XFCE 需要配置 XRDP 使用 XFCE
-
创建或编辑用户的
~/.xsession文件echo xfce4-session > ~/.xsession -
编辑 XRDP 的启动脚本
/etc/xrdp/startwm.sh,确保优先使用 XFCEsudo vim /etc/xrdp/startwm.sh -
在文件末尾(. /etc/X11/Xsession 之前)添加
startxfce4
-
重启 XRDP
sudo systemctl restart xrdp -
XRDP 默认监听 TCP 3389 端口,检查端口是否开放,输出应显示
0.0.0.0:3389或:::3389sudo netstat -tuln | grep 3389 -
在客户端通过
Remmina登录时,会话选择Xorg

四、BUG排查
-
如果我们在登录桌面的时候卡住,仅显示蓝色背景,可以尝试使用
root用户登录,查看是否能够正常登录,如果可以登录则证明桌面启动正常,很大概率是因为我们登录用户的权限问题导致卡住。可以优先排查/etc/X11/Xwrapper.config这个文件中是否包含allowed_users=anybody,如果是allowed_users=console,则表示只允许在物理控制台(即直接连接显示器和键盘的本地用户)启动 X 图形服务,当你通过 SSH 或 RDP 远程登录时,系统认为你不是“物理控制台用户”,所以直接拦截了启动请求。可以按照如下的操作执行:# 清理旧的会话缓存 rm -rf ~/.cache/sessions/* # 备份并重置 XFCE 配置文件(排除配置冲突) mv ~/.config/xfce4 ~/.config/xfce4.bak # 确保 .xsession 文件干净 echo "startxfce4" > ~/.xsession chmod +x ~/.xsession # 编辑 Xwrapper 配置 sudo vim /etc/X11/Xwrapper.config 修改 allowed_users=anybody # 清理可能残留的进程 pkill -u $USER xrdp # $USER替换为你的用户名 pkill -u $USER Xorg # 重启 xrdp 服务 sudo systemctl restart xrdp
小结
以上内容在ubuntu-server上进行了测试可以正常使用,如果有其他问题欢迎在评论区交流,谢谢!!
更多推荐
所有评论(0)