Ubuntu 22.04.2 LTS xRDP频繁终止已有远程会话问题求助
Ubuntu 22.04.2 LTS xRDP频繁终止已有远程会话问题求助
我之前也碰到过类似的xRDP会话异常终止的情况,结合Ubuntu 22.04的xRDP特性,给你梳理几个可能的原因和对应的解决办法:
1. 会话超时或系统闲置检测触发终止
Ubuntu的xRDP默认可能配置了会话超时,或者系统的systemd-logind服务会在检测到会话闲置时自动终止它,这就会导致你重新连接时旧会话已经被干掉,只能新建。
- 解决步骤:
- 编辑xRDP的主配置文件:
sudo nano /etc/xrdp/xrdp.ini,找到session_timeout参数,把值改成0(禁用超时)或者一个足够大的数值,保存后重启xrdp服务:sudo systemctl restart xrdp - 检查系统闲置行为:编辑
/etc/systemd/logind.conf,找到IdleAction项,改成IdleAction=ignore,然后重启logind服务:sudo systemctl restart systemd-logind - 同时检查Ubuntu系统设置里的电源选项,确保“关闭闲置会话”之类的功能处于关闭状态。
- 编辑xRDP的主配置文件:
2. Windows RDP客户端连接参数不匹配
Windows自带的RDP客户端有时候会因为默认参数(比如分辨率、颜色深度)和现有会话不一致,或者没开启会话恢复选项,导致xRDP无法复用旧会话,只能强制终止后新建。
- 解决步骤:
- 打开Windows RDP客户端,点击「显示选项」,切换到「体验」标签,确保重新连接时恢复会话选项是勾选状态
- 固定连接时的分辨率和颜色深度:在「显示」标签里设置和你现有远程会话一致的分辨率,颜色深度选「最高质量(32位)」,避免因环境差异触发新会话创建。
3. xorgxrdp模块的版本bug或配置问题
Ubuntu 22.04默认的xorgxrdp(xRDP依赖的Xorg模块)可能存在会话复用的小bug,尤其是当会话中有持续运行的进程(比如你的定时日志程序)时,容易触发异常终止逻辑。
- 解决步骤:
- 先更新xRDP相关组件到最新版本:
sudo apt update && sudo apt upgrade xrdp xorgxrdp - 修改会话管理配置:编辑
/etc/xrdp/sesman.ini,找到KillDisconnected参数,设置为KillDisconnected=false,这样即使断开连接,会话也不会被自动杀死,保存后重启xrdp服务:sudo systemctl restart xrdp
- 先更新xRDP相关组件到最新版本:
4. 用户会话配置文件损坏
有时候用户目录下的xRDP会话配置文件(比如~/.xrdp目录)损坏,会导致xRDP无法正常加载现有会话,只能新建并终止旧会话。
- 解决步骤:
- 备份旧的配置目录:
mv ~/.xrdp ~/.xrdp_backup - 重新发起一次RDP连接,系统会自动生成新的配置文件
- 检查新生成的
~/.xrdp目录权限,确保是drwx------(只有当前用户可读写),如果不是可以用chmod 700 ~/.xrdp修正。
- 备份旧的配置目录:
另外,你可以通过日志进一步定位问题:查看xRDP的会话日志/var/log/xrdp-sesman.log和主日志/var/log/xrdp.log,里面会记录会话终止的具体原因(比如超时、权限问题等),方便精准排查。
备注:内容来源于stack exchange,提问作者Jacek
相关产品推荐
相关产品推荐

