在Linux中安装VNC和图形化界面

在linux机器上安装vnc服务端,然后通过本地windows机器的vnc客户端工具去连接到服务端,这样操作linux机器就能以界面化方式操作,连接到远程linux机。

连接到远程linux机器后的服务器显示效果如图:

下面就具体步骤详细讲解:

一:确认VNC服务是否有安装

1
rpm -qa|grep tigervnc

img

发现显示已经安装过vnc,说明已经安装过vnc服务了

如果显示没有安装,如下图:

img

这里提供两种安装方式:

  • rpm包安装

    此法最好用在有系统安装包的基础上,如redhat-Linux.5.5.for.x86-server-5.5 系统.iso包,打开后在Server目录下有两个包

img
   上传vnc-server包就行了,然后运行命令

1
   rpm -ivh vnc-server-4.1.2-14.el5.3.1.i386.rpm

   来安装vnc服务,此法可以避免vnc版本与系统不一致的问题,因为是从系统里找的vnc的文件,但是iso文件难以获得,一般找这个

   rpm文件都是要通过百度来找,寻找系统版本的vnc的rpm包来安装。否则因为版本不一致会导致后续很多问题。

  • yum命令安装(推荐方式)

   此法比较简单,直接使用yum命令即可:

1
   yum -y install tigervnc-server

   它会自动给你下载依赖包,如果你的yum命令不能使用,建议用如下命令:

1
   echo nameserver 8.8.8.8 >> /etc/resolv.conf

   然后在用yum命令即可。

二:启动vnc服务

使用vncserver命令启动VNC服务,命令格式为”vncserver :桌面号”,其中”桌面号”用”数字”的方式表示,每个用户连个需要占用1个桌面

启动编号为1的桌面示例如下:

命令为 vncserver :1 (注意vncserver与:之间有空格)

img

以上命令执行的过程中,因为是第一次执行,需要输入密码,这个密码被加密保存在用户主目录下的.vnc子目录(/root/.vnc/passwd)中;同时在用户主目录下的.vnc子目录中为用户自动建立xstartup配置文件(/root/.vnc/xstartup),在每次启动VND服务时,都会读取该文件中的配置信息。另外需注意的是这里设置的密码就是后面我们用vncserver客户端工具连接时要输入的密码。

BTW:/root/.vnc/目录下还有一个“主机名:1.pid”文件,这个文件记录着启动VNC后对应后面操作系统的进程号,用于停止VNC服务时准确定位进程号。

这样vnc服务端就启动成功了,这里是用root用户执行的vncserver :1命令,则启动后用vncserver客户端连接进入到该服务器的用户就是root用户,

如果用root用户安装后,用aiuap用户(其他的用户)启动:则vncserver客户端连接进入到该服务器的用户就是aiuap用户

img

三:vnc服务使用的端口号与桌面号的关系

VNC服务使用的端口号与桌面号相关,VNC使用TCP端口从5900开始,对应关系如下
桌面号为“1” —- 端口号为5901
桌面号为“2” —- 端口号为5902
桌面号为“3” —- 端口号为5903
……
基于Java的VNC客户程序Web服务TCP端口从5800开始,也是与桌面号相关,对应关系如下
桌面号为“1” —- 端口号为5801
桌面号为“2” —- 端口号为5802
桌面号为“3” —- 端口号为5803
……
基于上面的介绍,如果Linux开启了防火墙功能,就需要手工开启相应的端口,以开启桌面号为“1”相应的端口为例,命令如下

1
2
[root@xxxxx ~]# iptables -I INPUT -p tcp --dport 5901 -j ACCEPT
[root@xxxxx ~]# iptables -I INPUT -p tcp --dport 5801 -j ACCEPT

四:配置VNC图形桌面环境为KDE或GNOME桌面环境

如果您是按照我的上面方法进行的配置的,登陆到桌面后效果是非常简单的,只有一个Shell可供使用,这是为什么呢?怎么才能看到可爱并且美丽的KDE或GNOME桌面环境呢?
之所以那么的难看,是因为VNC服务默认使用的是twm图形桌面环境的,可以在VNC的配置文件xstartup中对其进行修改,先看一下这个配置文件:

1
[root@xxxx-145 ~]#  vi /root/.vnc/xstartup

可以看到最后一行为:twm &

将这个xstartup文件的最后一行修改为“startkde &”,再重新启动vncserver服务后就可以登陆到KDE桌面环境

将这个xstartup文件的最后一行修改为“gnome-session &”,再重新启动vncserver服务后就可以登陆到GNOME桌面环境,

img

如果连接vnc后发现为黑屏,原因是没有安装GNOME Desktop Environment,使用

1
$sudo  yum groupinstall "GNOME Desktop" "Graphical Administration Tools"

即可安装GNOME Desktop Environment,安装完成后可重启vnc服务即执行vncserver -kill :1,在执行vncserver :1,再次进入发现出现屏幕画面。

如果发现执行该命令报错, 可执行如下命令安装:

1
2
3
4
5
yum clean all

yum groupinstall "X Window System" "Desktop"

yum -y install gnome*

即可安装GNOME Desktop Environment,安装完成后可重启vnc服务即执行vncserver -kill :1,在执行vncserver :1,再次进入发现出现屏幕画面。

五:配置多个桌面

可以使用如下的方法启动多个桌面的VNC:

1
2
3
vncserver :1
vncserver :2
vncserver :3

但是这种手工启动的方法在服务器重新启动之后将失效,因此,下面介绍如何让系统自动管理多个桌面的VNC,方法是将需要自动管理的信息添加到/etc/sysconfig/vncservers配置文件中,先以桌面1为root用户桌面2为oracle用户为例进行配置如下:
格式为:VNCSERVERS=”桌面号:使用的用户名 桌面号:使用的用户名”

执行vi /etc/sysconfig/vncservers命令,添加配置:可根据你自己的用户具体配置,这里我配置了root和aiuap用户

1
2
3
VNCSERVERS="1:root 2:aiuap"
VNCSERVERARGS[1]="-geometry 1024x768"
VNCSERVERARGS[2]="-geometry 1024x768"

img

六:vnc服务管理

a:修改vnc访问密码

使用命令vncpasswd对不同用户的VNC的密码进行修改,一定要注意,如果配置了不同用户的VNC需要分别到各自用户中进行修改,如我用root用户执行了vncpasswd命令,则只会修改root用户的vnc密码,其他用户不受影响:

img

b:启动vnc服务

基于第五步的基础,已经在配置文件中配置好用户对应的桌面号,执行service vncserver start命令,即可启动所有的用户对应的vnc服务

img

c:停止vnc服务

同样也是基于第五的基础,执行service vncserver stop命令,即可关闭配置文件中所有用户对应的vnc服务

img

七:客户端连接安装启动好的vnc服务端

下载VNC Viewer到自己的本地机器,双击vnc viewer启动程序

服务器输入vnc服务端安装所在机器地址,后面的数字序号与vncserver启动时vncserver :1后面跟着的桌面号相同(如果配置了第五步和VNCSERVERS=”1:root 2:aiuap”中桌面号相同即可),我这里如果写1则为root用户连接进入10.165.38.68,如果为2则为aiuap用户连接进入10.165.38.68服务器

点击确定后,会让你输入密码,该处的密码与第二步中启动vncserver输入的密码一致即可

点击确定,就能进入文章开头说的那种界面了,可以看到右上角显示进入该服务器的用户名用1进入为root,用2进入为aiuap