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

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

文章来源: 陶老师运维笔记- 微信公众号

CentOS图形界面与vnc.png

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

1. 实验环境

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

IP 机器 操作系统 版本
192.10.1.8 Linux服务器 CentOS 6.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

配置阿里云源:

wget -O /etc/yum.repos.d/CentOS-6-aliyun.repo http://mirrors.aliyun.com/repo/Centos-6.repo
wget -O /etc/yum.repos.d/epel-aliyun.repo http://mirrors.aliyun.com/repo/epel-6.repo
yum clean all
yum makecache

2.2 检查可用组件

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

#查看系统已装组件和未装组件
yum grouplist | more   
Installed Groups:
   Additional Development
   Base
...
Available Groups:
   Client management tools
   Debugging Tools
   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 :包含软件包较多,基本系统,虚拟化平台,桌面环境,开发工具。
yum groupinstall "Desktop"  
yum groupinstall 'X Window System'  
yum groupinstall "Chinese Support"  -y 
yum install xorg-x11-xdm  -y 

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

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

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

#修改启动级别
$cp /etc/inittab  /etc/inittab.backup #备份下
$sed -i 's/id:3/id:5/' /etc/inittab
$cat /etc/inittab  
id:5:initdefault:

2.4 启动图形界面

输入startx启动图形界面。

startx &
#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软件

#安装软件
yum install tigervnc  tigervnc-server -y
#配置为开机自启动
chkconfig –level 345 vncserver on

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

$vncserver
You will require a password to access your desktops.
Creating default startup script /root/.vnc/xstartup
Starting applications specified in /root/.vnc/xstartup
Log file is /root/.vnc/DB-132038:1.log

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

vim /root/.vnc/xstartup
#twm &
gnome-session &

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

#注释掉 auth       required    pam_succeed_if.so user != root quiet
cp /etc/pam.d/gdm /etc/pam.d/gdm.backup
sed -i 's/.*!= root.*/#&/' /etc/pam.d/gdm
cat  /etc/pam.d/gdm 
 #auth       required    pam_succeed_if.so user != root quiet   
#dbus-uuidgen >/var/lib/dbus/machine-id

5)启动vncserver服务
修改配置文件:
修改配置文件,/etc/sysconfig/vncservers 。

#修改配置文件,填加VNCSERVERS="1:root"
#指该服务启动时,会在root用户下配置一个VNC服务,对应的端口为1。
vim /etc/sysconfig/vncservers 
VNCSERVERS="1:root"
VNCSERVERS="2:leuser"

启动:

/etc/init.d/vncserver start

设置开机自启动:

#chkconfig --add vncserver
$chkconfig --list |grep vnc -i
vncserver       0:off   1:off   2:off   3:off   4:off   5:off   6:off
#配置开机自启动
$chkconfig --level 345 vncserver on
$chkconfig --list |grep vnc -i    
vncserver       0:off   1:off   2:off   3:on    4:on    5:on    6:off

6)检查vnc服务

$ps aux|grep vnc -i
$netstat -ntlup |grep vnc
tcp        0      0 0.0.0.0:5902                0.0.0.0:*                   LISTEN      22738/Xvnc          
tcp        0      0 0.0.0.0:6002                0.0.0.0:*                   LISTEN      22738/Xvnc    

3.1.2 vncviewer登录

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

安装vncviewer

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

#CentOS VNCServer配置
vim /etc/sysconfig/vncservers 
VNCSERVERS="1:root"
VNCSERVERS="2:leuser"
vncviewer

登录成功后效果:


image.png

3.2 使用Xmanager登录远程桌面

3.2.1 服务端配置

1)配置Xmanager

cp  /etc/gdm/custom.conf   /etc/gdm/custom.conf.backup
vim /etc/gdm/custom.conf
[daemon]  
  
[security]  
AllowRoot=true  
AllowRemoteRoot=true  #允许root登录
  
[xdmcp]  
Enable=true  
Port=177  
  
[greeter]  
 
[chooser]  
  
[debug]  

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

cp /etc/X11/xdm/xdm-config  /etc/X11/xdm/xdm-config.backup
cat /etc/X11/xdm/xdm-config
! DisplayManager.requestPort:   0

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

$vim /etc/X11/xdm/Xaccess 
*                                       #any host can get a login window
*               CHOOSER BROADCAST       #any indirect host can get a chooser
$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

vim /etc/init/prefdm.conf
respawn limit 10 120
#exec /etc/X11/prefdm -nodaemon
exec /usr/sbin/gdm

5)关闭防火墙:

$iptables -L
#service  iptables  stop
$iptables  -A  INPUT  -p udp -s 0/0 -d 0/0 --dport 177 -j ACCEPT

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

reboot now

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

lsof -i:177
netstat    -antpu   |   grep 177

3.2.2 Xbrowser客户端配置

安装Xbrowser客户端软件:

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

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


    Xshell
  • 方法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即可。

Xstart

4. Xshell,SecureCRT等配置X11转发

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

4.1 SecureCRT配置X11转发图像

  • STEP 1: 选择Session Options.
    Session
  • STEP 2: 选择 Remote/X11, 勾选Forward X11
    iForward X11

4.2 Xshell配置X11转发图像

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


image.png

5. 问题处理

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

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

$yum install yum-plugin-downloadonly
$mkdir /root/rpm
#下载所需全部rpm包
yum --downloadonly --downloaddir=/root/rpm groupinstall  "Desktop" -y
yum --downloadonly --downloaddir=/root/rpm groupinstall  "X Window System" -y
yum --downloadonly --downloaddir=/root/rpm groupinstall  "Chinese Support" -y
yum --downloadonly --downloaddir=/root/rpm  install xorg-x11-xdm  -y

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

#不联外网机器A
nc -l 1234 | tar xzvf - >rpm
#已下载rpm的软件的机器B
tar czvf - rpm | nc 目标机A 1234

完成安装:

#进到下载软件路径/root/rpm
cd rpm #有Desktop等rpm包的目录。
yum install  *.rpm

参考:


陶老师运维笔记
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 206,602评论 6 481
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 88,442评论 2 382
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 152,878评论 0 344
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 55,306评论 1 279
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 64,330评论 5 373
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,071评论 1 285
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,382评论 3 400
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,006评论 0 259
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 43,512评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,965评论 2 325
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,094评论 1 333
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,732评论 4 323
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,283评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,286评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,512评论 1 262
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,536评论 2 354
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,828评论 2 345

推荐阅读更多精彩内容