使用X Manager遠端CentOS 7伺服器(XDMCP)
阿新 • • 發佈:2019-01-08
- 問題描述
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之類的錯誤 - 安裝使用步驟
# 安裝epel源
[[email protected] ~]# yum install -y epel-release
# 安裝lightdm和Xfce
[[email protected] ~]# yum install -y lightdm && yum groupinstall -y xfce
# 修改lightdm.conf檔案(配置檔案中有詳細的引數說明)
[[email protected] ~]# vim /etc/lightdm/lightdm.conf
...
[XDMCPServer]
enabled=true
port=177
...
# 將Display Manager切換為lightdm
[ [email protected] ~]# systemctl disable gdm && systemctl enable lightdm
# 啟動lightdm
[[email protected] ~]# systemctl start lightdm
# 關閉或者取消防火牆(若已關閉則忽略)
[[email protected] ~]# systemctl stop firewalld.service
- 使用&問題排除
1 systemctl status lightdm 檢視lightdm的啟動狀態, 若有狀態問題,請先重啟圖形介面 init3 && init5再檢視
2 通過’pstree’命令檢視lightdm的詳細呼叫情況(如下圖,lightdm後面還是呼叫gnome-session而不是xfce)
...
├─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檔案
[[email protected] ~]# cd /usr/share/xsessions/ && ls
gnome-classic.desktop gnome-custom-session.desktop gnome.desktop xfce.desktop
[[email protected] xsessions]# mkdir back && mv gnome* back && ls
back xfce.desktop
# 重新啟動圖形桌面(也可通過systemctl重新啟動)
[[email protected] xsessions]# init 3 && init 5
出現許可權類的問題,可先關閉SELinux
檢視selinux狀態 sestatus
臨時關閉 setenforce 0
永久關閉 --> 修改配置檔案/etc/selinux/config,將SELINU置為disabled
4. 其他
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)