使用X Manager遠程CentOS 7服務器(XDMCP)

 

0. 前言

  1. 基本概念 from vbrid
  2. 簡略概述php

    • Display Manager 提供登陸需求html

      1. 在文字界面下能夠經過startx來啓動Xwindows
      2. 在runlevel 5下,在tty7處有可使用的圖形登陸界面(方便輸入帳號密碼),這個就是Display Manager-->最大的任務就是登陸
      3. 在CentOS上,利用GDM (GNOME Display Manager) 程序來提供tty7的圖形接口登陸-->但做用不單單如此
      4. gdm配置文件-->/etc/gdm/custom.conf
    • XDMCP (X Display Manager Contorl Protocol)linux

1. 問題描述

  1. CentOS7中的GNOME啓用了本地硬件加速功能,因此經過XDMCP協議遠程鏈接CentOS時會有問題。這個在X Manager官網博客中已說起,並建議使用其餘的display manager(如lightdm等)和desktop environment(Xfce或KDE等)來規避該問題
  2. 在CentOS7中安裝好lightdmXfce後,因爲系統前期已安裝了GNOME desktop,在windows下經過xmanager在輸入用戶名和密碼後,仍會報an error:oh no! something has gone wrong, A problem has occurred and the system can't recover之類的錯誤,如圖 
    image_1ajqfoee21r4r11cl1asc8n817n19.png-14.7kB

2. 安裝使用步驟(以lightdm和xfce爲例)

2.1 安裝&啓動

 
  1. # 安裝epel源
  2. [root@gf03 ~]# yum install -y epel-release
  3. # 安裝lightdm和Xfce
  4. [root@gf03 ~]# yum install -y lightdm && yum groupinstall -y xfce
  5. # 修改lightdm.conf文件(配置文件中有詳細的參數說明)
  6. [root@gf03 ~]# vim /etc/lightdm/lightdm.conf
  7. ...
  8. [XDMCPServer]
  9. enabled=true
  10. port=177
  11. ...
  12. # 將Display Manager切換爲lightdm
  13. [root@gf03 ~]# systemctl disable gdm && systemctl enable lightdm
  14. # 啓動lightdm
  15. [root@gf03 ~]# systemctl start lightdm
  16. # 關閉或者取消防火牆(若已關閉則忽略)
  17. [root@gf03 ~]# systemctl stop firewalld.service

2.3 使用&問題排除

windows下經過xmanager鏈接centos7後,若出現問題可參考以下進行排除ubuntu

  1. systemctl status lightdm 查看lightdm的啓動狀態, 如有狀態問題,請先重啓圖形界面 init3 && init5再查看
  2. 經過'pstree'命令查看lightdm的詳細調用狀況(以下圖,lightdm後面仍是調用gnome-session而不是xfce),1節中的2問題就是經過以下方式排除並解決的
 
  1. ...
  2. ├─lightdm─┬─X───32*[{X}]
  3. │ ├─lightdm─┬─lightdm-gtk-gre───2*[{lightdm-gtk-gre}]
  4. │ │ └─{lightdm}
  5. │ ├─lightdm
  6. │ ├─2*[lightdm─┬─gnome-session───ssh-agent]
  7. │ │ └─{lightdm}]
  8. │ └─2*[{lightdm}]
  9. ...

出現上述問題2是由於系統默認的將最早安裝的Environment Desktop做爲啓動桌面,而最開始安裝的是GNOME,故lightdm也調用gnome-seesion了,進而出現錯誤,因此最根本的解決方法是告訴系統默認啓動xfce.desktop(可參考change the default session
最簡單的解決方法以下vim

 
  1. # 只保留/usr/share/xsessions/下xfce.desktop文件
  2. [root@gf03 ~]# cd /usr/share/xsessions/ && ls
  3. gnome-classic.desktop gnome-custom-session.desktop gnome.desktop xfce.desktop
  4. [root@gf03 xsessions]# mkdir back && mv gnome* back && ls
  5. back xfce.desktop
  6. # 從新啓動圖形桌面(也可經過systemctl從新啓動)
  7. [root@gf03 xsessions]# init 3 && init 5

啓動成功的界面以下 
image_1ajqi1rnhvgv1k02lfs4s21c49.png-34.4kB 
3. 若還出現其餘問題,可查看Xmanager 日誌進行分析,不過最保險的辦法是——先更新Xmanager,本人的版本是Xbrowser for Xmanager Enterprise 4 (Build 0243) 
4. 出現權限類的問題,可先關閉SELinuxwindows

  • 查看selinux狀態 sestatus
  • 臨時關閉 setenforce 0
  • 永久關閉 --> 修改配置文件/etc/selinux/config,將SELINU置爲disabled

3. 其餘

  1. CentOS6下可直接使用gdm經過XDMCP來遠程鏈接,通常步驟以下centos

    • 經過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)session

  2. 相關參考連接ssh

修改auto-logins默認修改會話 
xmanager forum 
netsarang 
Xfce 
redhat-Remote Graphical Desktops and XDMCP 
Install MATE or XFCE on CentOS 7 
GDM wiki 
LightDM wiki

相關文章
相關標籤/搜索