客户需要安装LINUX操作系统,利用XenCenter管理控台管理LINUX操作系统。在xenserver上面安装LINUX虚拟机不支持图形界面。这是由于LINUX默认安装在XenServer是以HVM模式安装的,无法使用图形界面。这个需要进行模式转换,这就对于我们对不习惯命令行界面的人来说就比较麻烦了。而且通过思杰官网的方式修改比较麻烦,本人英文比较一般,命令比较复杂,看不懂。

        今天给大家介绍相对比较容易的方法,让XenServer上LINUX虚拟机看到图形界面。就是VNC服务器。

VNC服务(简要介绍):
         Telnet和SSH服务只能实现基于字符界面的远程控制,对于习惯于使用X-Window的用户而言,使用字符界面就不太方便了,是否可以远程使用X-Window呢?

         答案是肯定的,利用免费的VNC软件可以很好地解决这个问题。

         VNC提供了远程X-Window界面操作的功能。它是Virtual Network Computing的缩写。

         VNC的中文名称为虚拟网络计算,它提供了一种在本地系统上显示远程计算机整个“桌面”的轻量型协议。VNC与Symantec公司的pcAnywhere可以实现类似的功能,但是VNC与其他远程控制软件不同的是它的跨平台性。

         即VNC可以在各种流行的操作系统间实现远程控制。利用VNC可以在Windows环境下看到Linux的桌面,也可以在MacOS环境下看到Windows的桌面。

1、如何安装VNC服务器:

检查LINUX系统中有木有安装VNC软件:

命令:rpm -qa vnc*

我的系统上面显示以安装

 

若系统显示未安装VNC服务器,可进行如下安装:

挂载LINUX镜像,一般VNC的rpm包都在镜像里有。

#rpm -ivh  vnc-4.1.2-14.el5_5.4.rpm

#rpm -ivh vnc-server-4.1.2-14.el5_5.4.rpm

2、启动VNC服务器配置

#vncserver

第一次启动执行vncserver时会进行一些配置,比如会要求输入用户在访问VNC服务器时的密码,并返回访问VNC服务器的地址,如CentOS:1。其中“:1”表示桌面号。

 

 输入密码******,Verify意思是确认密码******。

 #service vncserver status  //查看VNC服务的状态

正在运行,进程号pid 1928

由于这是第1次运行该命令,因此系统会提示用户设置口令。该口令会被加密保存在用户主目录下的.vnc子目录中的passwd文件(如root/.vnc/passwd)。

此外,系统还会在该子目录中自动建立xstartup配置文件,以后每次启动VNC服务器时,都会读取该文件中的配置选项。

3、测试VNC服务器

在客户机需要安装java软件,打开Web浏览器,输入http://Linux服务器的IP或域名:5801,测试打不开网页如图:

 

这就需要你检查LINUX中的防火墙有没有关闭。可以手动关闭,这个只是暂时的。重启linux后防火墙会自动开启,那样又出现打不开。你可以把开启服务关闭或者直接修改配置文件。

再测试就能打开了,就会出现“VNC Viewer for Java”(即使用Java编写的VNC客户程序)的界面。同时还会出现一个连接对话框,如下图所示:

在该对话框中输入Linux服务器的IP和桌面号后,单击“OK”按钮,然后输入访问口令进行登录。

 

在这个登录对话框中不能输入用户名,只能输入访问口令。这是因为VNC服务只允许访动该桌面号的用户进行登录。连接成功后会出现X-Window图形桌面环境。如下
图所示:

4、VNC服务器的配置
在上面的步骤中,虽然成功地连接到了VNC服务器,但这个图形桌面环境的界面也太简陋,功能也非常简单,只提供了一个SHELL供用户使用,与KDE或GNOME图形桌面环境相差甚远。

这是VNC服务默认使用twm图形桌面环境的原因造成的。为了能使用功能强大的KDE或GNOME图形桌面环境(前提是在Linux服务器上已安装KDE或GNOME)。还要编辑/root/.vnc/xstartup文件。

(1)把用户名加入到配置文件中:

[root@CentOS ~]#vi /etc/sysconfig/vncservers

# The VNCSERVERS variable is a list of display:user pairs.
#
# Uncomment the lines below to start a VNC server on display :2
# as my 'myusername' (adjust this to your own).  You will also
# need to set a VNC password; run 'man vncpasswd' to see how
# to do that.
#
# DO NOT RUN THIS SERVICE if your local area network is
# untrusted!  For a secure way of using VNC, see
# <URL:http://www.uk.research.att.com/archive/vnc/sshvnc.html>.

# Use "-nolisten tcp" to prevent X connections to your VNC server via TCP.

# Use "-nohttpd" to prevent web-based VNC clients connecting.

# Use "-localhost" to prevent remote VNC clients connecting except when
# doing so through a secure tunnel.  See the "-via" option in the
# `man vncviewer' manual page.

# VNCSERVERS="2:myusername"
# VNCSERVERARGS[2]="-geometry 800x600 -nolisten tcp -nohttpd -localhost"
VNCSERVERS="1:root"   #新增加的部分

编辑xstartup文件

(2)编辑/root/.vnc/xstartup文件

若要使用KDE图形桌面环境,则将文件最后一行的“twm”改为“startkde”;
若要使用GNOME图形桌面环境,则将文件最后一行的“twm”改为“gnome-session”。

在修改之前先做好备份

[root@CentOS ~]# cp /root/.vnc/xstartup /root/.vnc/xstartupbak

修改xstartup如下图:

[root@CentOS ~]# vi /root/.vnc/xstartup
#!/bin/sh

# Uncomment the following two lines for normal desktop:
 unset SESSION_MANAGER     #去掉注释‘#’

exec /etc/X11/xinit/xinitrc            #去掉注释‘#’

[ -x /etc/vnc/xstartup ] && exec /etc/vnc/xstartup
[ -r $HOME/.Xresources ] && xrdb $HOME/.Xresources
xsetroot -solid grey
vncconfig -iconic &
xterm -geometry 80x24+10+10 -ls -title "$VNCDESKTOP Desktop" &
gnome session &           #‘twm’替换成‘gnome session’

 修改该文件之后,需关闭桌面号,并重新启动桌面号:
#vncserver  –kill :1       //停止显示端口号为“:1”的VNC服务器进程

#vncserver  :1   重启桌面

在浏览器输入http://linux的ip地址:5801,输入登录口令。如下图:

至此,就可以不用官网的HVM模式转换成PV模式,就可以使用图形界面了。是不是很简单呢。

5、配置多个桌面号:
使用同一用户帐号启动多个VNC服务器。同一用户可以使用vncserver命令启动多个VNC服务器。同一个用户便可以多次连接到VNC服务。即可以多次执行vncserver命令,并将其中的“桌面号”从“:1”改为“:2”或“:3”,依此类推。
#vncserver:2

#vncserver:3

#vncserver   //直接执行该命令,也可以。

6、修改VNC服务器的访问口令
#vncpasswd

希望对大家有所帮助。。。。