Ubuntu之xrdp远程桌面报错处理
  TEZNKK3IfmPf 2023年11月13日 37 0

一、需求说明

  某开发测试环境操作系统为Ubuntu20.04,给开发人员安装了xrdp,一次远程桌面连接过程中异常奔溃后无法再次远程连接,重启xrdp服务后所有人连接远程连接均出现闪退。此情况在半年前出现过一次,当时也是百度搜索排查了很多,尝试了更换桌面,重新安装xrdp等,最后是通过重启解决的闪退问题。这一次受疫情影响(服务器在上海自建机房)不方便重启,且除了桌面远程登录,其他服务一切正常,还没有到必须重启的境遇。此博文部分截图和操作记录来自续搭建的实验环境。排查记录为当时的整个记录,因为个人觉得这次排查对自己有启发作用,全部记录,实际解决问题为最后步骤,如果您不敢兴趣,您可以直接跳转到最后。博文实验环境如下:

  • 操作系统:Ubuntu20.04.3 LTS
  • ubuntu-desktop版本:1.450.2

二、问题排查步骤记录

1、首先重启了xrdp服务

root@s147:~# systemctl restart xrdp
#重启之后,检查xrdp服务状态正常,但是远程是出现闪退,原来远程正常的账户也全部出现闪退。

2、查看xrdp连接日志

  查看登录账户下的.xsession-errors日志文件,发现大量的“dbus-update-activation-environment: error: unable to connect to D-Bus: Failed to connect to socket /run/user/1007/bus: Connection refused”报错信息。
Ubuntu之xrdp远程桌面报错处理

3、取消gvfs挂载

  根据日志信息查看了/run/user/1000目录下信息(经测试验证,异常退出远程桌面会导致gvfs目录异常。),gvfs目录状态异常,root账户也无法删除,gvfs取消挂载后,再次查看正常。
Ubuntu之xrdp远程桌面报错处理
Ubuntu之xrdp远程桌面报错处理

4、重启xrdp服务再次验证

root@s147:/run/user/1000# systemctl restart xrdp
#重启xrdp服务再吃验证发现还是闪退

5、停止xrdp服务并查看进程

  停止xrdp服务情况下,过来xrdp关键字,发现存在多个xrdp进程,均为前期启动时进程未正常退出。因为Ubuntu上的xrdp服务并不是直接提供远程桌面,需要xorg进行中转。因为异常奔溃或者连接中重启xrdp服务导致xorg进程未正常退出,占用了xrdp通道,所以出现重启xrdp服务后远程桌面出现闪退或者黑屏(实验环境Ubuntu小版本有些区别,实验结果为xrdp异常重启或者重连后win7闪退,win10黑屏)。
Ubuntu之xrdp远程桌面报错处理

6、kill所有xrdp相关进程后重启服务

root@s147:/run/user/1000# pgrep -f xrdp |xargs kill
root@s147:/run/user/1000# systemctl start xrdp

7、windows终端重新远程桌面Ubuntu

通过win7和win10终端再次连接Ubuntu服务器,远程都成功了,操作也正常。
Ubuntu之xrdp远程桌面报错处理

三、经验总结

  rdp是windows系统专用的远程连接方式,但是ubuntu等linux系统下是通过移花接木的方式,也就是xrdp, xrdp本身不具备桌面服务功能,需要和图形化桌面配合,这个提供桌面能力的其实就是xorg,xorg在ubuntu中默认存在,所以通过xrdp连接远程桌面默认会选择xorg,xorg为xrdp提供桌面服务,xrdp本身提供远程连接能力。如果你安装了GNOME, 那xorg就将GNOME桌面远程提供给你,如果你安装了xfce,xorg就将xfce桌面提供给你。可以说xorg是远程桌面服务的中间件,但是xorg和gnome配合不是很好,往往会有问题,但是网上也有解决方案,最佳的配合还是xfce+xorg+xrdp,由于xorg是ubuntu默认存在的图形化能力,所以只要在ubuntu中安装上xrdp,如果你的桌面系统是xfce就能直接使用远程桌面。
  出现问题的时候,我们通过百度查找报错关键字是常规手段,但是在出现网友提供的解决方案无效的时候,我们应该多思考。既然通过百度关键字查找相关信息,我们在系统层面一样可以通过进程、应用、软件本身相关关键字同样可以找到蛛丝马迹。通过测试环境大胆测试,你很可能就会柳暗花明又一村了!

【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月13日 0

暂无评论

推荐阅读
  TEZNKK3IfmPf   2023年11月15日   27   0   0 ubunturedisbash
  TEZNKK3IfmPf   2023年11月14日   26   0   0 ubuntu
  TEZNKK3IfmPf   2023年11月14日   32   0   0 linuxubuntu
  TEZNKK3IfmPf   2024年05月31日   27   0   0 ubuntu
  TEZNKK3IfmPf   2023年11月15日   253   0   0 ubuntu
TEZNKK3IfmPf