暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

CentOS安装图形界面及VNC/Xmanager远程访问

陶老师运维笔记 2019-11-18
2055

CentOS安装图形界面及VNC/Xmanager远程访问

在某些特殊工作场景中(如Oracle运维),使用图形化界面操作Linux有时比命令行更加方便。VNC和Xmanager都可以远程连接到Linux并进行图形化操作,今天给大家分享如何在Linux操作系统中安装图形界面及配置VNC/Xmanager远程桌面。

1. 实验环境

在Linux服务器上安装图形界面,在Mac/Windows客户机上远程访问Linux服务器。

IP机器操作系统版本
192.10.1.8Linux服务器CentOS6.6
192.10.1.2客户机Mac windows-

2. 服务端篇

2.1 配置国内YUM源/EPEL源

安装软件时用国外yum源网速通常不如国内源速度快,为加快安装速度可以改用国内yum 阿里云源。[EPEL](Extra Packages for Enterprise Linux)是由 Fedora 社区打造,现在流行的nginx、htop、ncdu、vnstat等等,都可以使用EPEL很方便的安装更新。

EPEL官网: https://fedoraproject.org/wiki/EPEL/zh-cn

配置阿里云源:

  1. wget -O /etc/yum.repos.d/CentOS-6-aliyun.repo http://mirrors.aliyun.com/repo/Centos-6.repo

  2. wget -O /etc/yum.repos.d/epel-aliyun.repo http://mirrors.aliyun.com/repo/epel-6.repo

  3. yum clean all

  4. yum makecache

2.2 检查可用组件

检查Desktop等组件是否可以安装。

  1. #查看系统已装组件和未装组件

  2. yum grouplist | more

  3. Installed Groups:

  4. Additional Development

  5. Base

  6. ...

  7. Available Groups:

  8. Client management tools

  9. Debugging Tools

  10. Desktop

2.3 安装图形化界面软件

安装图形化界面Desktop,X Window System等。

Linux常用来构建服务器的,所以基本上选择Basic Server,但依实际情况也可以选择如下:

  • Desktop  :基本的桌面系统,包括常用的桌面软件,如文档查看工具。

  • Minimal Desktop :基本的桌面系统,包含的软件更少。

  • Minimal :基本的系统,不含有任何可选的软件包。

  • Basic Server  :安装的基本系统的平台支持,不包含桌面。

  • Database Server :基本系统平台,加上MySQL和PostgreSQL数据库,无桌面。

  • Web Server :基本系统平台,加上PHP,Web server,还有MySQL和PostgreSQL数据库的客户端,无桌面。

  • Virtual Host :基本系统加虚拟平台。

  • Software Development Workstation :包含软件包较多,基本系统,虚拟化平台,桌面环境,开发工具。

  1. yum groupinstall "Desktop"

  2. yum groupinstall 'X Window System'

  3. yum groupinstall "Chinese Support" -y

  4. yum install xorg-x11-xdm -y

说明:若是没有外网,可以找一台可以联外网的机器把rpm软件包down下来,传到不联网机器上完成安装。(可用yum-plugin-downloadonly软件帮助实现)。详细见本文中问题处理章节

修改启动级别:(可选)若是希望服务器以后以图形界面启动,可以修改/etc/inittab,修改系统的运行级别为5。

Linux系统启动过程: https://www.jianshu.com/p/33437df8c969Linux系统7个运行级别:0:系统停机状态,系统默认运行级别不能设为0,否则不能正常启动 1:单用户工作状态,root权限,用于系统维护,禁止远程登陆 2:多用户状态(没有NFS) 3:完全的多用户状态(有NFS),登陆后进入控制台命令行模式 4:系统未使用,保留 5:X11控制台,登陆后进入图形GUI模式 6:系统正常关闭并重启,默认运行级别不能设为6,否则不能正常启动

  1. #修改启动级别

  2. $cp /etc/inittab /etc/inittab.backup #备份下

  3. $sed -i 's/id:3/id:5/' /etc/inittab

  4. $cat /etc/inittab

  5. id:5:initdefault:

2.4 启动图形界面

输入startx启动图形界面。

  1. startx &

  2. #virt-manager &

3. 用VNC或Xmanager登录远程桌面

Xmanager及VNC都可以调用远程桌面。咱们只需要安装其中的一种就可。

VNC和Xmanager的区别:VNC和Xmanager都可以远程连接到UNIX或Linux并进行图形化操作,但两者的工作原理并不相同。

  • VNC是远程连入操作系统,所有操作在UNIX、Linux主机服务端进行,即使操作中网络断开,也不影响操作的进行;

  • Xmanager是通过端口将主机服务器的UI界面引导到本地电脑进行展现,如果操作中网络断开,操作将失败。VNC剪切板内容不能跨本地和远程(同VMware没有安装VMtools的效果),而Xmanager可以(同VMware安装VMtools后的效果)。VNC只有几百K大小,Xmanager有几十M大小。
    VNC以GPL授权,衍生出了几个VNC软件:RealVNC:由VNC团队部份成员开发,分为全功能商业版及免费版。TightVNC:强调节省带宽使用。UltraVNC:加入了TightVNC的部份程序及加强效能的图型映射驱动程序,并结合Active Directory及NTLM的帐号密码认证,但仅有Windows版本。Vine Viewer:MacOSX的VNC用户端。

3.1 使用VNC登录远程桌面

VNC主要有两部分组成:vncserver和vncviewer,其中vncserver是服务器端软件,提供VNC服务,vncviewer是客户端软件,远程调用VNC服务的。即vncviewer能远程登录到vncserver所在的主机。

3.1.1 安装配置vncserver

在CentOS服务器上安装及配置vncserve。

1)安装vncserver软件

  1. #安装软件

  2. yum install tigervnc tigervnc-server -y

  3. #配置为开机自启动

  4. chkconfig level 345 vncserver on

2)设置vncserver密码

第一次执行会让你输入密码,至少6位,示例密码为vncadmin。后续在vncviewer连接服务器端主机中需要用到。注意:后续可用vncpasswd命令修改密码。

  1. $vncserver

  2. You will require a password to access your desktops.

  3. Creating default startup script /root/.vnc/xstartup

  4. Starting applications specified in /root/.vnc/xstartup

  5. Log file is /root/.vnc/DB-132038:1.log

3)配置使用gnome桌面

配置为使用gnome桌面,修改 root/.vnc/xstartup文件,把最后的 twm & 删掉 加上 gnome-session &

  1. vim /root/.vnc/xstartup

  2. #twm &

  3. gnome-session &

4)允许root访问图形界面

允许root访问图形界面和生成新的machine-id(可选)。

  1. #注释掉 auth required pam_succeed_if.so user != root quiet

  2. cp /etc/pam.d/gdm /etc/pam.d/gdm.backup

  3. sed -i 's/.*!= root.*/#&/' /etc/pam.d/gdm

  4. cat /etc/pam.d/gdm

  5. #auth required pam_succeed_if.so user != root quiet

  6. #dbus-uuidgen >/var/lib/dbus/machine-id

5)启动vncserver服务修改配置文件

修改配置文件,/etc/sysconfig/vncservers 。

  1. #修改配置文件,填加VNCSERVERS="1:root"

  2. #指该服务启动时,会在root用户下配置一个VNC服务,对应的端口为1。

  3. vim /etc/sysconfig/vncservers

  4. VNCSERVERS="1:root"

  5. VNCSERVERS="2:leuser"

启动:

  1. /etc/init.d/vncserver start

设置开机自启动:

  1. #chkconfig --add vncserver

  2. $chkconfig --list |grep vnc -i

  3. vncserver 0:off 1:off 2:off 3:off 4:off 5:off 6:off

  4. #配置开机自启动

  5. $chkconfig --level 345 vncserver on

  6. $chkconfig --list |grep vnc -i

  7. vncserver 0:off 1:off 2:off 3:on 4:on 5:on 6:off

6)检查vnc服务

  1. $ps aux|grep vnc -i

  2. $netstat -ntlup |grep vnc

  3. tcp 0 0 0.0.0.0:5902 0.0.0.0:* LISTEN 22738/Xvnc

  4. tcp 0 0 0.0.0.0:6002 0.0.0.0:* LISTEN 22738/Xvnc

3.1.2 vncviewer登录

服务端安装配置好vncserver,咱们就可以利用vncviewer登录服务器。

安装vncviewer

  • vncviewer软件下载: https://www.realvnc.com/en/connect/download/vnc/

登录远程Server

输入IP:vncservers中序号,(即1:root,2:leuser ),输入前一节设置的密码vnc密码(密码vncadmin),点击“OK”即可登录。注意:Username为灰,无法填写,在该例中,输入为IP:2,即登录的是leuser账户,若输入IP:1,则为root用户。

  1. #CentOS VNCServer配置

  2. vim /etc/sysconfig/vncservers

  3. VNCSERVERS="1:root"

  4. VNCSERVERS="2:leuser"

登录成功后效果:

3.2 使用Xmanager登录远程桌面

  • 软件下载: https://www.netsarang.com/zh/all-downloads/

3.2.1 服务端配置

1)配置Xmanager

  1. cp /etc/gdm/custom.conf /etc/gdm/custom.conf.backup

  2. vim /etc/gdm/custom.conf

  3. [daemon]


  4. [security]

  5. AllowRoot=true

  6. AllowRemoteRoot=true #允许root登录


  7. [xdmcp]

  8. Enable=true

  9. Port=177


  10. [greeter]


  11. [chooser]


  12. [debug]

2)修改xdm-config

修改xdm-config,在尾行“DisplayManager.questPort: 0”前面加一个感叹号。

  1. cp /etc/X11/xdm/xdm-config /etc/X11/xdm/xdm-config.backup

  2. cat /etc/X11/xdm/xdm-config

  3. ! DisplayManager.requestPort: 0

3)修改Xaccess

vim /etc/X11/xdm/Xaccess ,找到“#any host can get a login window”这一行,去掉这行开头的注释,找到“#any indirect host can get a chooser”这一行,去掉这行开头的注释。

  1. $vim /etc/X11/xdm/Xaccess

  2. * #any host can get a login window

  3. * CHOOSER BROADCAST #any indirect host can get a chooser

  4. $cat /etc/X11/xdm/Xaccess |grep -v '^#'|grep -v '^$'

4)修改prefdm.conf

修改/etc/init/prefdm.conf文件。注释exec /etc/X11/prefdm -nodaemon,添加exec /usr/sbin/gdm

  1. vim /etc/init/prefdm.conf

  2. respawn limit 10 120

  3. #exec /etc/X11/prefdm -nodaemon

  4. exec /usr/sbin/gdm

5)关闭防火墙

  1. $iptables -L

  2. #service iptables stop

  3. $iptables -A INPUT -p udp -s 0/0 -d 0/0 --dport 177 -j ACCEPT

6)重启linux 服务器

重启linux 服务器,执行reboot now。

  1. reboot now

7)检查xdmcp服务

由于xdmcp服务默认使用udp177端口,所以要查看xdmcp服务是否已启动。

  1. lsof -i:177

  2. netstat -antpu | grep 177

3.2.2 Xbrowser客户端配置

安装Xbrowser客户端软件:

  • 软件下载: https://www.netsarang.com/zh/all-downloads/

远程登录:

打开Xmanager,点击Xbrowser。(建议关闭本地计算机防火墙后再使用Xmanager远程登陆。)

  • 方法1: 在Xshell中调用,设置会话属性。如下图所示,需在“隧道”选项上勾选“转发X11连接到(X):”。

  • 方法2: 用Xstart登录远程桌面. 输入主机,用户名和身份验证是必须的,协议必须为SSH,关键在于命令的填写(下面详表),填写完毕后,即可点击“运行”。


登录远程桌面的主要有以下三个命令:1> gnome-session 调用gnome桌面 2> startkde 调用kde桌面 3> /usr/bin/xterm -ls -display $DISPLAY 调用终端窗口 第一种和第二种比较容易理解,第三种出来的图形其实如下,其实就是一个终端窗口。如果报“/usr/bin/xterm: DISPLAY is not set”错误,可在终端上设置xhost +或者export DISPLAY=192.168.2.1:0.0,这里,192.168.2.1指的是客户端地址。

在实际生产环境中,往往没有必要登陆到远程桌面,直接调用应用程序即可,譬如,安装Oracle,直接执行./runInstaller即可。

4. Xshell,SecureCRT等配置X11转发

参考: [Putty, Xshell,SecureCRT] 本地显示X11转发图像 https://blog.csdn.net/u010472607/article/details/80356216

4.1 SecureCRT配置X11转发图像

  • STEP 1: 选择Session Options.

  • STEP 2: 选择 Remote/X11, 勾选Forward X11 

4.2 Xshell配置X11转发图像

选择相应会话的属性,选择[隧道], 然后在右侧进行如下勾选, X DISPLAY项内容不需要修改。

5. 问题处理

5.1 无外网机器安装桌面软件

机器没有外网,可以找一台可以联外网的机器把rpm软件包down下来,传到不联网机器上完成安装。(可用yum-plugin-downloadonly软件帮助实现)。

下载软件:

  1. $yum install yum-plugin-downloadonly

  2. $mkdir /root/rpm

  3. #下载所需全部rpm包

  4. yum --downloadonly --downloaddir=/root/rpm groupinstall "Desktop" -y

  5. yum --downloadonly --downloaddir=/root/rpm groupinstall "X Window System" -y

  6. yum --downloadonly --downloaddir=/root/rpm groupinstall "Chinese Support" -y

  7. yum --downloadonly --downloaddir=/root/rpm install xorg-x11-xdm -y

传递软件:

使用nc来实现两服务器软件传输。陶老师运维笔记- nc传输文件

  1. #不联外网机器A

  2. nc -l 1234 | tar xzvf - >rpm

  3. #已下载rpm的软件的机器B

  4. tar czvf - rpm | nc 目标机A 1234

完成安装:

  1. #进到下载软件路径/root/rpm

  2. cd rpm #有Desktop等rpm包的目录。

  3. yum install *.rpm

参考:

  • http://mirrors.163.com/.help/centos.html

  • https://www.netsarang.com/zh/all-downloads/

  • 用Xmanager及VNC登录远程桌面 https://www.cnblogs.com/ivictor/p/4760914.html?utm_source=tuicool

  • vnc viewer mac http://mac.orsoon.com/Mac/153107.html

  • Xshell,SecureCRT X11转发图像https://blog.csdn.net/u010472607/article/details/80356216


最后修改时间:2019-12-17 12:28:33
文章转载自陶老师运维笔记,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论