0. 前言
- 基本概念
-
简略概述
-
Display Manager 提供登录需求
- 在文字界面下可以通过startx来启动Xwindows
- 在runlevel 5下,在tty7处有可以使用的图形登录界面(方便输入账号密码),这个就是Display Manager–>最大的任务就是登录
- 在CentOS上,利用GDM (GNOME Display Manager) 程序来提供tty7的图形接口登录–>但作用不仅仅如此
- gdm配置文件–>/etc/gdm/custom.conf
-
XDMCP (X Display Manager Contorl Protocol)
1. 问题描述
- CentOS7中的GNOME启用了本地硬件加速功能,所以通过XDMCP协议远程连接CentOS时会有问题。这个在X Manager官网博客中已提及,并建议使用其他的display manager(
如lightdm等
)和desktop environment(Xfce或KDE等
)来规避该问题
- 在CentOS7中安装好
lightdm
和Xfce
后,由于系统前期已安装了GNOME desktop,在windows下通过xmanager在输入用户名和密码后,仍会报an error:oh no! something has gone wrong, A problem has occurred and the system can't recover
之类的错误,如图
2. 安装使用步骤(以lightdm和xfce为例)
2.1 安装&启动
# 安装epel源
[root@linuxidc ~]# yum install -y epel-release
# 安装lightdm和Xfce
[root@linuxidc ~]# yum install -y lightdm && yum groupinstall -y xfce
# 修改lightdm.conf文件(配置文件中有详细的参数说明)
[root@linuxidc ~]# vim /etc/lightdm/lightdm.conf
...
[XDMCPServer]
enabled=true
port=177
...
# 将Display Manager切换为lightdm
[root@linuxidc ~]# systemctl disable gdm && systemctl enable lightdm
# 启动lightdm
[root@linuxidc ~]# systemctl start lightdm
# 关闭或者取消防火墙(若已关闭则忽略)
[root@linuxidc ~]# systemctl stop firewalld.service
2.3 使用&问题排除
简略概述
-
Display Manager 提供登录需求
- 在文字界面下可以通过startx来启动Xwindows
- 在runlevel 5下,在tty7处有可以使用的图形登录界面(方便输入账号密码),这个就是Display Manager–>最大的任务就是登录
- 在CentOS上,利用GDM (GNOME Display Manager) 程序来提供tty7的图形接口登录–>但作用不仅仅如此
- gdm配置文件–>/etc/gdm/custom.conf
-
XDMCP (X Display Manager Contorl Protocol)
- CentOS7中的GNOME启用了本地硬件加速功能,所以通过XDMCP协议远程连接CentOS时会有问题。这个在X Manager官网博客中已提及,并建议使用其他的display manager(
如lightdm等
)和desktop environment(Xfce或KDE等
)来规避该问题 - 在CentOS7中安装好
lightdm
和Xfce
后,由于系统前期已安装了GNOME desktop,在windows下通过xmanager在输入用户名和密码后,仍会报an error:oh no! something has gone wrong, A problem has occurred and the system can't recover
之类的错误,如图
2. 安装使用步骤(以lightdm和xfce为例)
2.1 安装&启动
# 安装epel源
[root@linuxidc ~]# yum install -y epel-release
# 安装lightdm和Xfce
[root@linuxidc ~]# yum install -y lightdm && yum groupinstall -y xfce
# 修改lightdm.conf文件(配置文件中有详细的参数说明)
[root@linuxidc ~]# vim /etc/lightdm/lightdm.conf
...
[XDMCPServer]
enabled=true
port=177
...
# 将Display Manager切换为lightdm
[root@linuxidc ~]# systemctl disable gdm && systemctl enable lightdm
# 启动lightdm
[root@linuxidc ~]# systemctl start lightdm
# 关闭或者取消防火墙(若已关闭则忽略)
[root@linuxidc ~]# systemctl stop firewalld.service
2.3 使用&问题排除
# 安装epel源
[root@linuxidc ~]# yum install -y epel-release
# 安装lightdm和Xfce
[root@linuxidc ~]# yum install -y lightdm && yum groupinstall -y xfce
# 修改lightdm.conf文件(配置文件中有详细的参数说明)
[root@linuxidc ~]# vim /etc/lightdm/lightdm.conf
...
[XDMCPServer]
enabled=true
port=177
...
# 将Display Manager切换为lightdm
[root@linuxidc ~]# systemctl disable gdm && systemctl enable lightdm
# 启动lightdm
[root@linuxidc ~]# systemctl start lightdm
# 关闭或者取消防火墙(若已关闭则忽略)
[root@linuxidc ~]# systemctl stop firewalld.service
2.3 使用&问题排除
Windows下通过xmanager连接CentOS 7后,若出现问题可参考如下进行排除
systemctl status lightdm
查看lightdm的启动状态, 若有状态问题,请先重启图形界面init3 && init5
再查看- 通过’pstree’命令查看lightdm的详细调用情况(如下图,lightdm后面还是调用
gnome-session
而不是xfce
),1节中的2问题就是通过如下方式排除并解决的
...
├─lightdm─┬─X───32*[{X}]
│ ├─lightdm─┬─lightdm-gtk-gre───2*[{lightdm-gtk-gre}]
│ │ └─{lightdm}
│ ├─lightdm
│ ├─2*[lightdm─┬─gnome-session───ssh-agent]
│ │ └─{lightdm}]
│ └─2*[{lightdm}]
...
出现上述问题2是因为系统默认的将最先安装的Environment Desktop作为启动桌面,而最开始安装的是GNOME,故lightdm也调用gnome-seesion了,进而出现错误,所以最根本的解决方法是告诉系统默认启动xfce.desktop
!
最简单的解决方法如下:
# 只保留/usr/share/xsessions/下xfce.desktop文件
[root@linuxidc ~]# cd /usr/share/xsessions/ && ls
gnome-classic.desktop gnome-custom-session.desktop gnome.desktop xfce.desktop
[root@linuxidc xsessions]# mkdir back && mv gnome* back && ls
back xfce.desktop
# 重新启动图形桌面(也可通过systemctl重新启动)
[root@linuxidc xsessions]# init 3 && init 5
启动成功的界面如下
3. 若还出现其他问题,可查看Xmanager 日志进行分析,不过最保险的办法是——先更新Xmanager,本人的版本是Xbrowser for Xmanager Enterprise 4 (Build 0243)
4. 出现权限类的问题,可先关闭SELinux
- 查看selinux状态
sestatus
- 临时关闭
setenforce 0
- 永久关闭 –> 修改配置文件/etc/selinux/config,将SELINU置为
disabled
3. 其他
-
CentOS6下可直接使用gdm通过XDMCP来远程连接,一般步骤如下
- 通过
yum groupinstall
安装系列软件,如yum groupinstall "Desktop" "X Window System"
-
修改gdm配置文件,/etc/gdm/custom.conf,在这个文件中,以节的形式组织各类配置参数,节名用中括号[]包围起来,如[security]、[xdmcp]等,要支持远程连接,需要在配置文件中增加以下内容:
[security]
#允许用root用户进行远程连接
AllowRemoteRoot=true
[xdmcp]
#启动远程连接服务支持
Enable=true
#服务端口
Port=177
-
启动服务(init 3 && init 5
)
-
官方网站参考
xmanager forum
netsarang
CentOS6下可直接使用gdm通过XDMCP来远程连接,一般步骤如下
- 通过
yum groupinstall
安装系列软件,如yum groupinstall "Desktop" "X Window System"
-
修改gdm配置文件,/etc/gdm/custom.conf,在这个文件中,以节的形式组织各类配置参数,节名用中括号[]包围起来,如[security]、[xdmcp]等,要支持远程连接,需要在配置文件中增加以下内容:
[security] #允许用root用户进行远程连接 AllowRemoteRoot=true [xdmcp] #启动远程连接服务支持 Enable=true #服务端口 Port=177
-
启动服务(
init 3 && init 5
)
官方网站参考
xmanager forum
netsarang
本文永久更新链接地址:http://www.linuxidc.com/Linux/2017-03/142022.htm