最近公司的linux测试机都从RHEL6.6升级到了RHEL7.2,原先连接正常的XManager不工作了,用XManager4.0连接直接crash。一开始我以为是Xmanager版本太旧跟不上时代的发展了。于是将Xmanager升级到5.0。用5.0连还是出问题,但是这次不是直接crash而是提供一句莫名其妙的错误信息,如下:
oh no! something has gone wrong, A problem has occurred and the system can't recover
聊胜于无,虽然看似无用,但至少提供了搜索的素材。于是直接copy这段错误信息搜索之,很好!搜到了一篇类似问题的博文,使用X Manager远程CentOS 7服务器(XDMCP)
说的虽然是CentOS 7上碰到的问题,但是RHEL7和CentOS7使用的都是gdm,所以问题的解决办法应该是一致的(将linux的display manager从gdm换成lightdm)。
按照步骤照做就行了,下面是解决的步骤:
# 安装epel源
[root@gf03 ~]# yum install -y epel-release
# 安装lightdm和Xfce
[root@gf03 ~]# yum install -y lightdm && yum groupinstall -y xfce
# 修改lightdm.conf文件(配置文件中有详细的参数说明)
[root@gf03 ~]# vim /etc/lightdm/lightdm.conf
...
[XDMCPServer]
enabled=true
port=177
...
# 将Display Manager切换为lightdm
[root@gf03 ~]# systemctl disable gdm && systemctl enable lightdm
# 启动lightdm
[root@gf03 ~]# systemctl start lightdm
# 关闭或者取消防火墙(若已关闭则忽略)
[root@gf03 ~]# systemctl stop firewalld.service
# 只保留/usr/share/xsessions/下xfce.desktop文件
[root@gf03 ~]# cd /usr/share/xsessions/ && ls
gnome-classic.desktop gnome-custom-session.desktop gnome.desktop xfce.desktop
[root@gf03 xsessions]# mkdir back && mv gnome* back && ls
back xfce.desktop
[root@gf03 ~]# systemctl restart lightdm
做完这些后用Xmanager重新连接,完美!一切正常了。