Linux系统的主要应用就是作为网络服务器。服务器一般都放在专门机房中,这种环境不可能让管理员进行本地管理工作,并且作为一个系统管理员直接在服务器上进行日常维护工作是落伍、错误和不可取的。因此绝大部分服务器都通过“远程管理”的方式进行维护管理工作。VNC就是一款非常适合Linux的远程管理软件。

 

1VNC简介

 

VNCVirtual Network Computing,虚拟网络计算机)是一种可以对远程计算机进行远程控制的软件,支持linux远程桌面管理,也适合其它操作系统。而puttySSH等只能进行命令模式的远程管理。

 

VNC软件由服务器端VNC Server和客户端VNC Viewer组成,可以单独安装其中一部分。远程计算机必须安装服务器端,才能通过本地计算机的客户端进行远程管理。

 

2.LinuxVNC的启动和设置

 

Red Hat Enterprise Linux 3.0下,系统自带了VNC软件,用如下命令查看是否已安装了VNC软件:

 

#rpm qa|grep vncà查看Linux系统中是否已安装了VNC

 

Vnc-4.0-0.beta4.1.1

 

Vnc-server-4.0-0.beta4.1.1

 

如果系统中没有安装VNC则可以去http://www.realvnc.com/下一个装上,或者从linux安装盘上安装,这里不再多说。

 

VNC Server 的启动和设置

 

(1)启动VNC Server:

 

#vncserverà第一次启动时要求你生成口令文件

 

You will require a password to access your desktops. 

Password:à设置远程管理密码

Verify:à确认密码

New X desktop is linux:1-à要记住这一行稍后会用到。

Creating default startup script /root/.vnc/xstartup 

Starting applications specified in /root/.vnc/xstartup 

Log file is /root/.vnc/linux:1.log

 

我是用root用户进行远程管理的,当然这不是一个好习惯如果是用别的用户进行远程管理的,先用允许远程登陆的帐号登陆系统,再用vncpasswd命令生成口令文件,当然也可以用此命令更改密码。

 

2)设置VNC Server

 

编辑$HOME/.vnc/xstartup文件($HOMELinux用户目录,我这里是root超级用户目录)。

 

这一步要注意,如果这里没做好,那么可能用客户端登陆的时候显示出来的就是一个灰色的界面或者根本无法连接。

 

#vi root/.vnc/xsatartup

 

去掉以下两句的注释:

 

unset SESSION_MANAGER

 

exec /etc/X11/xinit/xinitrc

 

因为VNC自带默认的TWM窗口管理器用起来很不爽,所以把twm &这句改为:gnome session &,如果是用KDE桌面的,则改为 kde-session &。以便能远程使用GNOMEKDE桌面。重启vnc

 

#sudo /sbin/service vncserver restart

 

按以上的设置情况下,要服务器关闭防火墙才能使用VNC Viewer进行连接。若要在不关闭防火墙的情况下也能进行远程管理则要编辑/etc/sysconfig/iptables文件

 

#vi /etc/sysconfig/iptables

 

增加如下一句:

 

-A RH-Firewall-1-INPUT –m state –-state NEW –m –tcp –dport 5901 –j ACCEPT

 

如果还要配置成系统服务,那么还要编辑/etc/sysconfig/vncservers文件,添加如下一句:

 

VNCSERVERS=”1:root”

 

如果允许多个不同的用户进行远程管理的可以如下方式添加多个:

 

VNCSERVERS=1root 2:ZhangSan 3:XXXX

 

当然,也可以在系统的服务配置中直接设定系统每次启动时自动启动VNC Server,应用程序—系统设置—服务器设置—服务,在打开“服务配置”窗口后把“vncserver”选上即可。也可以用此窗口进行关闭、启动和重启等操作。

 

至此VNC服务器端的配置都完成了,如果按我上述所说的做,基本上能一次成功。

 

2windows下使用VNC Viewer对远程的linux系统进行远程控制

 

windows下安装VNC Viewer,运行VNC Viewer出现”Connection details”对话框,在Server对话框中输入IP地址(或主机名及显示装置编号,(请看启动VNC Server部份。在Linux上启动VNC server的这一行,New X desktop is linux:1 得到此信息),例如:192.168.0.11(冒号后面的1是执行VNC Server生成的显示装置编号),如图1

 

单击“OK”按钮后,VNC Server即会开始检查所输入的信息,若是信息错误,系统会出现如图2的错误提示:

 

如果正确后系统会提示你输入密码,如图3

 

正常登陆后就可以像操控本地电脑一样控制远程服务器。VNC还可以通过浏览器进行远程控制。打开IE,在地址览中输入IP地址或主机名和端口号,这里的端口号默认为5801,如果是别的要根据自己安装时所设置的端口号而定。后面的情况和以上所述相差不多。

 

如果是在Linux下用VNC Viewer,只要在shell下输入vncviewer 启动VNC Viewer,接下来操作和Windows并无两样。

1. 使用vncserver命令为当前用户启动vnc服务(将在当前用户主目录下生成.vnc配置文件夹)

[root@tech `]# vncserver

You will require a password to access your desktops.

Password:<输入密码>

Verify:<输入密码>

 

 

2. 首次创建 /.vnc/xstartup 时,指定的窗口管理器是twn,它是一个极小的窗口管理器,几乎每台xwindows系统及其上都有twn twn不具备完整桌面管理器的大部分花哨功能,下面是修改过的实例。

[root@tech]# vi .vnc/xstartup

在最下面添加一行:

DISPPLAY=:1 gnome-session &

3. 设置开机自动运行vncserver

a. /etc/rc.d/rc.local文件中加入下面行

/etc/init.d/vncserver start

b. 编辑/etc/sysconfig/vncservers

VNCSERVERS="1:root"

VNCSERVERARGS[1]="-geometry 1024x768"--配置启动的桌面

多个用户可以这样写:

VNCSERVERS= "1:user 2:user2 3:user3"

 

 

redhat系统上vnc启动命令:

/etc/init.d/vncserver start

查看vnc启动情况

netstat -tulnp

关闭服务器上自己的vnc链接

vncserver -kill :桌面号

例如:关闭上面的vnc链接

vncserver -kill :1