1. 程式人生 > >使用X Manager遠端CentOS 7伺服器(XDMCP)

使用X Manager遠端CentOS 7伺服器(XDMCP)

  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. 安裝使用步驟
# 安裝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. 使用&問題排除
    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)