惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

酷 壳 – CoolShell
酷 壳 – CoolShell
H
Hacker News: Front Page
P
Palo Alto Networks Blog
T
ThreatConnect
Apple Machine Learning Research
Apple Machine Learning Research
博客园_首页
T
True Tiger Recordings
P
Privacy & Cybersecurity Law Blog
B
Blog
IT之家
IT之家
Last Week in AI
Last Week in AI
F
Full Disclosure
Hacker News: Ask HN
Hacker News: Ask HN
C
Comments on: Blog
Microsoft Azure Blog
Microsoft Azure Blog
C
Cybersecurity and Infrastructure Security Agency CISA
Microsoft Security Blog
Microsoft Security Blog
博客园 - 【当耐特】
N
News and Events Feed by Topic
NISL@THU
NISL@THU
腾讯CDC
雷峰网
雷峰网
Security Latest
Security Latest
李成银的技术随笔
M
Microsoft Research Blog - Microsoft Research
L
LangChain Blog
L
Lohrmann on Cybersecurity
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
C
Check Point Blog
Y
Y Combinator Blog
Recent Announcements
Recent Announcements
博客园 - Franky
N
News | PayPal Newsroom
V
V2EX
A
About on SuperTechFans
The Register - Security
The Register - Security
月光博客
月光博客
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
Google Online Security Blog
Google Online Security Blog
MyScale Blog
MyScale Blog
Cisco Talos Blog
Cisco Talos Blog
Vercel News
Vercel News
WordPress大学
WordPress大学
C
Cyber Attacks, Cyber Crime and Cyber Security
The Hacker News
The Hacker News
IntelliJ IDEA : IntelliJ IDEA – the Leading IDE for Professional Development in Java and Kotlin | The JetBrains Blog
IntelliJ IDEA : IntelliJ IDEA – the Leading IDE for Professional Development in Java and Kotlin | The JetBrains Blog
爱范儿
爱范儿
A
Arctic Wolf
L
LINUX DO - 最新话题
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More

博客园 - 三瑞

idea 安装cline openclaw 允许局域网能访问 VirtualBox 共享文件夹配置指南(Ubuntu 24.04 不重启方案) Nginx+Bearer Key 保护 Ollama + OpenClaw 远程连接 ubuntu24.04 安装 vscode Ubuntu 24.04 安装 KVM 完整指南 - 三瑞 Ubuntu 启动卡顿 2 分钟?一条命令解决 Linux下Ollama + AMD ROCm GPU加速安装实操指南 - 三瑞 Ubuntu 24.04 挂载第二块磁盘并扩展 LVM 系统盘 openclaw qqbot 反复提示 ubuntu 终端代理设置 openclaw 使用不同的模型 AMD GPU (RX 7900 XTX) 使用情况查看 Ubuntu 24.04 自带GNOME RDP远程连不上?一招解决xrdp残留冲突问题 Ubuntu 24.04 磁盘空间管理:从查看到 LVM 动态扩容完整指南 避坑指南完整版:OpenClaw 连接 Ollama 详细实战教程 干货|Ubuntu 24.04 + AMD 7900 XTX 24G:Ollama 纯 Vulkan 加速部署(免 ROCm) Windows 连接 Ubuntu XRDP 远程桌面 QQ机器人接入OpenClaw完整指南:从零开始打造你的智能助手 VirtualBox U盘识别问题完美解决指南 ——记一次从入门到放弃再到入门的折腾历程 Ubuntu 系统 root 密码忘记怎么办?一招教你轻松重置 VirtualBox Ubuntu 虚拟机安装增强功能完整指南 HTTP 错误 500.21 - Internal Server Error 处理程序“BlockViewHandler”在其模块列表中有一个错误模块“ManagedPipelineHandler” 达梦数据库(DM)通过数据库类型生成修改字段类型的语句
干货|xrdp 无人值守+同屏稳定配置(Ubuntu 22.04/24.04 实测可用)
三瑞 · 2026-04-03 · via 博客园 - 三瑞

前言:之前折腾了很久 gnome-remote-desktop,发现其无人值守模式残缺、不稳定,最终转向 xrdp——Linux 远程桌面的“稳王”。本文整合 xrdp 无人值守(开机不用本地登录,直接RDP连接) + 同屏稳定方案(远程与本地显示同一桌面,操作同步),解决了“远程登录后本地闪屏”“找不到[xrdp1]配置”“DBus冲突”等高频坑,实测 Ubuntu 22.04/24.04 可用,全程复制命令即可落地。

一、核心前提(必看,避免走弯路)

  • 禁用 Wayland:xrdp 不兼容 Wayland,必须强制使用 Xorg(这是远程不黑屏、不闪退的核心)。
  • 版本适配:本文针对 Ubuntu 22.04/24.04(新版 xrdp 无[xrdp1],配置段为[Xorg]),其他 Debian 系可参考。
  • 同屏原则:远程与本地同屏时,同一用户不能同时在本地和远程登录,否则会触发会话抢占,导致本地闪屏。
  • 权限注意:所有命令建议用 sudo 执行,避免配置文件读写失败。

二、第一步:xrdp 基础安装(无人值守前置)

先卸载冲突服务(若之前装过 gnome-remote-desktop),再安装 xrdp 核心组件,确保无端口冲突、依赖完整。

# 1. 卸载冲突服务(若装过 gnome-remote-desktop,必做)
sudo apt remove -y gnome-remote-desktop
sudo apt autoremove -y

# 2. 安装 xrdp 核心组件(xorgxrdp 是同屏和图形显示的关键)
sudo apt update && sudo apt install -y xrdp xorgxrdp

# 3. 放行 RDP 默认端口 3389(防火墙必开,否则连不上)
sudo ufw allow 3389/tcp
sudo ufw reload

# 4. 查看 xrdp 状态,确保已启动
sudo systemctl status xrdp
# 正常输出:active (running)

避坑点:若安装后 xrdp 启动失败,大概率是依赖缺失,执行 sudo apt install -y dbus-x11 x11-xserver-utils 补充依赖,再重启服务。

三、第二步:xrdp 无人值守配置(开机即用,无需本地登录)

无人值守的核心是「开机自动启动 xrdp 服务」+「本地自动登录桌面」,解决“必须本地登录才能远程”的痛点,适配无头服务器、无人值守主机场景。

3.1 配置本地自动登录(关键)

通过修改 gdm3 配置,让系统开机后自动登录指定用户,避免手动激活桌面会话(同屏模式必须)。

# 编辑 gdm3 配置文件
sudo nano /etc/gdm3/custom.conf

# 找到以下内容,修改并去掉 # 号(xrl 替换为你的用户名)
[daemon]
WaylandEnable=false  # 禁用 Wayland,强制用 Xorg(必改)
AutomaticLoginEnable=true  # 开启自动登录
AutomaticLogin=xrl  # 自动登录的用户名(如你的 xrl)

保存退出:nano 中按 Ctrl+O → 回车确认 → Ctrl+X 退出。

3.2 配置 xrdp 开机自启

确保 xrdp 服务开机自动启动,无需手动重启服务。

# 设置 xrdp 开机自启
sudo systemctl enable xrdp

# 重启 xrdp 和 gdm3,使配置生效
sudo systemctl restart xrdp
sudo systemctl restart gdm3

注意:重启 gdm3 后,本地屏幕会短暂黑屏+光标闪烁,属于正常现象,等待10-20秒即可自动登录桌面,无需手动操作。

3.3 无人值守验证

重启电脑(模拟开机),不要本地操作,直接用另一台电脑打开 RDP 客户端(Windows 用 mstsc,macOS 用 Microsoft Remote Desktop):

  • 计算机:输入 Ubuntu 主机 IP(可通过 ip addr 查看)
  • 用户名:你的系统用户名(如 xrl)
  • 密码:你的系统登录密码

能直接登录桌面,说明无人值守配置成功 ✅

四、第三步:方案 A 同屏稳定配置(远程与本地同一桌面)

无人值守配置完成后,默认是“远程独立桌面”(远程和本地桌面互不影响),若需要「远程看到本地一模一样的画面、操作同步」,按以下步骤配置,解决“远程登录后本地闪屏”的核心问题。

4.1 修改 xrdp 核心配置(新版无[xrdp1],改[Xorg])

新版 xrdp 配置段为[Xorg],无需找[xrdp1],直接修改该段,绑定本地桌面会话(display=:0 是本地桌面的默认显示端口)。

# 编辑 xrdp 配置文件
sudo nano /etc/xrdp/xrdp.ini

# 找到 [Xorg] 段(默认存在),替换为以下内容(直接覆盖原有内容)
[Xorg]
name=Local-Screen  # 自定义会话名称,便于识别
lib=libxrdp.so     # 关键:启用同屏支持
username=          # 空着,无需手动输入(自动匹配系统用户)
password=          # 空着,登录时输入系统密码
ip=127.0.0.1       # 本地回环地址,避免网络冲突
display=:0         # 绑定本地桌面(关键,实现同屏)
port=-1            # 动态分配端口,避免冲突
code=20

避坑点:不要修改 lib=libxrdp.so,若改为 libxup.so 会导致同屏失败;display=:0 不可修改,这是本地桌面的固定显示端口。

4.2 修复 DBus 冲突(解决本地闪屏、远程闪退)

远程登录后本地闪屏,核心原因是 DBus 环境变量冲突,修改 xrdp 启动脚本,清空冲突变量,确保会话稳定。

# 编辑 xrdp 启动脚本
sudo nano /etc/xrdp/startwm.sh

# 清空原有内容,粘贴以下内容(核心是清空冲突环境变量)
#!/bin/bash
unset DBUS_SESSION_BUS_ADDRESS  # 清空 DBus 冲突变量
unset XDG_RUNTIME_DIR           # 清空 XDG 运行目录冲突
export GNOME_SHELL_SESSION_MODE=ubuntu  # 适配 Ubuntu 桌面
export XDG_CURRENT_DESKTOP=ubuntu:GNOME  # 指定桌面环境
export XDG_SESSION_TYPE=x11  # 强制用 X11
exec gnome-session  # 启动 GNOME 桌面

4.3 赋予权限并重启服务

修改脚本后需赋予执行权限,否则 xrdp 无法正常启动。

# 赋予启动脚本执行权限
sudo chmod +x /etc/xrdp/startwm.sh

# 重启 xrdp,使同屏配置生效
sudo systemctl restart xrdp

4.4 同屏稳定使用规范(必看)

  • 本地保持自动登录状态(无需锁屏,锁屏会导致同屏断开)。
  • 远程登录时,不要在本地操作鼠标/键盘,避免会话冲突(操作会同步,两边都会有反应)。
  • 若出现本地闪屏:先远程注销 → 本地注销 → 等待系统自动登录 → 再重新远程连接,一次即可稳定。
  • 可选优化(降色深,提升流畅度):编辑 /etc/xrdp/xrdp.ini,找到 max_bpp=32,改为 max_bpp=16,重启 xrdp 即可。

五、高频问题排查(避坑汇总)

远程连不上,提示“无法连接”

防火墙未放行3389,或 xrdp 未启动

sudo ufw allow 3389/tcp;sudo systemctl restart xrdp

远程登录后黑屏

Wayland 未禁用,或 display=:0 配置错误

检查 /etc/gdm3/custom.conf,确保 WaylandEnable=false;确认 [Xorg] 段 display=:0

远程登录后本地闪屏

DBus 环境变量冲突,或同一用户同时登录

重新配置 startwm.sh(清空冲突变量);远程登录前确保本地未手动登录

找不到[xrdp1]配置段

新版 xrdp 已将[xrdp1]改为[Xorg]

直接修改 [Xorg] 段,无需找[xrdp1]

xrdp 启动失败,提示依赖缺失

缺少 dbus-x11、x11-xserver-utils 等依赖

sudo apt install -y dbus-x11 x11-xserver-utils,再重启 xrdp

问题现象

核心原因

解决方案

六、最终一键部署脚本(懒人必备)

将以上所有步骤整合为一键脚本,复制全选运行,无需手动逐行输入(xrl 替换为你的用户名)。

# 一键部署 xrdp 无人值守+同屏稳定(替换 xrl 为你的用户名)
sudo apt remove -y gnome-remote-desktop
sudo apt autoremove -y
sudo apt update && sudo apt install -y xrdp xorgxrdp dbus-x11 x11-xserver-utils
sudo ufw allow 3389/tcp
sudo ufw reload
sudo sed -i 's/#WaylandEnable=false/WaylandEnable=false/' /etc/gdm3/custom.conf
sudo sed -i 's/#AutomaticLoginEnable=false/AutomaticLoginEnable=true/' /etc/gdm3/custom.conf
sudo sed -i "s/#AutomaticLogin=/AutomaticLogin=xrl/" /etc/gdm3/custom.conf
sudo nano /etc/xrdp/xrdp.ini << EOF
[Xorg]
name=Local-Screen
lib=libxrdp.so
username=
password=
ip=127.0.0.1
display=:0
port=-1
code=20
EOF
sudo nano /etc/xrdp/startwm.sh << EOF
#!/bin/bash
unset DBUS_SESSION_BUS_ADDRESS
unset XDG_RUNTIME_DIR
export GNOME_SHELL_SESSION_MODE=ubuntu
export XDG_CURRENT_DESKTOP=ubuntu:GNOME
export XDG_SESSION_TYPE=x11
exec gnome-session
EOF
sudo chmod +x /etc/xrdp/startwm.sh
sudo systemctl enable xrdp
sudo systemctl restart xrdp
sudo systemctl restart gdm3
sudo systemctl status xrdp

七、总结

xrdp 是 Linux 远程桌面的最优解,相比 gnome-remote-desktop,它更稳定、适配性更强,完美解决“无人值守”和“同屏同步”两大需求:

  • 无人值守:开机自动登录+ xrdp 自启,无需本地手动操作,直接远程连接。
  • 同屏稳定:修改[Xorg]配置+修复 DBus 冲突,远程与本地桌面完全同步,无闪屏、无闪退。
  • 避坑关键:禁用 Wayland、绑定 display=:0、清空 DBus 冲突变量,这三步是核心,缺一不可。

按本文配置,无论是无头服务器、办公主机,都能实现“远程即本地”的流畅体验,实测 Ubuntu 22.04/24.04 零失败,有其他问题可留言补充。

本地设置(已做可跳过)

  1. 设置 → 区域与语言 → 管理已安装语言
    • 汉语(中国)拖到最顶
    • 键盘输入法系统:IBus
  2. 键盘-》输入源 → 添加 → 汉语(五笔)
  3. 注销 / 重启本地桌面