Kika's
Blog
图片简介 | CC BY 4.0 | 换一张

Xrdp成功登录后闪退

2025-04-11

给服务器上的Ubuntu系统装了xrdp,然后用Remmina客户端连接gnome桌面,但是发现成功登录后,直接闪退,找了半天原因,最后通过sudo systemctl status xrdp-sesman.service查询xrdp-sesman的日志:

[WARN ] Window manager (pid 31300, display 10) exited with non-zero exit code 255 and signal 15.

发现是因为Window manager自动退出(signal 15 = SIGTERM),而这是由于上次登录的session还存在着,而一个用户账户不能被多人登录ref

所以解决方法就是强制结束Window manager之前的会话,我这里使用的Window manager是gnome,所以使用命令:

DISPLAY=:10 gnome-session-quit --force

这样来结束display 10的session,这里的display 10可参考上面的报错信息,这样再使用Remmina连接就可以了。

每次退出的时候,记得logout也可以避免此问题。


另外一台服务器也遇到了这样的闪退问题,但是并没有上面的报错,反而显示

[INFO ] connected ok

但是仍然登录成功后闪退。不过这台服务器并没有使用gnome桌面,而是使用的xfce,这次参考了这个回答下面的第一条评论,才修好。

具体办法是:在/etc/xrdp/startwm.sh文件中test -x那一行前面增加一行:

export $(dbus-launch)