当前位置: 首页 > news >正文

使用X Manager远程CentOS 7服务器(XDMCP)

2019独角兽企业重金招聘Python工程师标准>>> hot3.png

  • 使用X Manager远程CentOS 7服务器(XDMCP)
    • 0. 前言
    • 1. 问题描述
    • 2. 安装使用步骤(以lightdm和xfce为例)
      • 2.1 安装&启动
      • 2.3 使用&问题排除
    • 3. 其他

 

0. 前言

  1. 基本概念 from vbrid
  2. 简略概述

    • Display Manager 提供登录需求

      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)

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后,若出现问题可参考如下进行排除

  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) 
最简单的解决方法如下

 
  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. 出现权限类的问题,可先关闭SELinux

  • 查看selinux状态 sestatus
  • 临时关闭 setenforce 0
  • 永久关闭 --> 修改配置文件/etc/selinux/config,将SELINU置为disabled

3. 其他

  1. 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)

  2. 相关参考链接

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

转载于:https://my.oschina.net/duanvincent/blog/811061

相关文章:

  • 怎么中文版也看不懂哦,茜色的剧本真强大
  • 探讨 ADO.NET DataRow
  • 数据库中的索引
  • 亲历北京Top 500
  • 【翻译】使用IIS 7.0 PowerShell 创建web站点,Web应用,虚拟路径和应用程序池
  • @ModelAttribute使用详解
  • 在园子里吵架属正常
  • Java socket(三)使用TCP传输文件
  • [独库骑行之我们穿过草原]巴音布鲁克大草原
  • angular-ui-bootstrap (1)
  • firefox播放mms流媒体(网络电视)
  • 学习Oracle的好地方
  • easyui datagrid 行右键生成 动态获取(toolbar) 按钮
  • SQL中 对逻辑值取反赋值的语句
  • 验证码的前世今生(前世篇)
  • Apache的基本使用
  • CentOS7 安装JDK
  • EventListener原理
  • java2019面试题北京
  • java8-模拟hadoop
  • React-flux杂记
  • Stream流与Lambda表达式(三) 静态工厂类Collectors
  • 给github项目添加CI badge
  • 记一次和乔布斯合作最难忘的经历
  • 网络应用优化——时延与带宽
  • 小程序上传图片到七牛云(支持多张上传,预览,删除)
  • 在Mac OS X上安装 Ruby运行环境
  • 《天龙八部3D》Unity技术方案揭秘
  • mysql面试题分组并合并列
  • ​如何使用ArcGIS Pro制作渐变河流效果
  • ###51单片机学习(1)-----单片机烧录软件的使用,以及如何建立一个工程项目
  • (day 12)JavaScript学习笔记(数组3)
  • (二)JAVA使用POI操作excel
  • (附源码)springboot社区居家养老互助服务管理平台 毕业设计 062027
  • (附源码)ssm本科教学合格评估管理系统 毕业设计 180916
  • (转)jdk与jre的区别
  • ***详解账号泄露:全球约1亿用户已泄露
  • .NET C# 使用 SetWindowsHookEx 监听鼠标或键盘消息以及此方法的坑
  • .net获取当前url各种属性(文件名、参数、域名 等)的方法
  • ::
  • :“Failed to access IIS metabase”解决方法
  • [CSS] 点击事件触发的动画
  • [delphi]保证程序只运行一个实例
  • [echarts] y轴不显示0
  • [FROM COM张]如何解决Nios II SBTE中出现的undefined reference to `xxx'警告
  • [git]git命令如何取消先前的配置
  • [Java][方法引用]构造方法的引用事例分析
  • [LeetCode刷题笔记]1 - 两数之和(哈希表)
  • [Mac软件]Adobe XD(Experience Design) v57.1.12.2一个功能强大的原型设计软件
  • [node] Node.js的全局对象Global
  • [SDOI2005]区间
  • [Spring]一文明白IOC容器和思想
  • [SpringCloud] Feign 与 Gateway 简介
  • [SQL]数据库语言学习
  • [svc]对称加密/非对称加密细枝末节-如何做到数据传输的authentication/data integrity/confidentiality(私密)...