tigerVNC远程桌面控制

用VNC可以以桌面的方式,连接到远程电脑进行操作。
下面描述如何对VNC Server和VNC Client进行配置。
VNC Server即要远程连到的电脑。

VNC Server的配置

1. 安装tigervnc-server

# yum install tigervnc-server

2. 设置VNC密码

# vncpasswd

执行这条命令的用户就是vnc的用户名;
输入两次密码就设置成功了。

3. 修改vncviewer配置文件

# vim /etc/sysconfig/vncservers 

里面加上两行

VNCSERVERS="2:root"
VNCSERVERARGS[2]="-geometry 800x600 -nolisten tcp"

2是Display号,root是用户。

4. 开放防火墙5900-6000端口,重启vncserver

# /etc/init.d/vncserver restart

VNC Client的配置

1. 安装vncviewer

# yum install tigervnc

2. 桌面远程登录

# vncviwer

输入VNC Server的IP地址:Display号
Screenshot-Untitled Window

输入之前在Server端用vncpasswd配置的密码,回车。
Screenshot-Untitled Window-1

登录成功了。
Screenshot-Untitled Window-2


另一种启动VNC-Server的方法

在欲启动VNC Server的用户下,执行

$ vncserver

即可顺利启动VNC server.


防火墙规则

VNC-Server默认使用5900+显示号作为端口。如上面实验的显示号是2,则防火墙需要开启5902端口。
所以防火墙规则可以这么设定(/etc/sysconfig/iptables)

-A INPUT -p tcp -m tcp --dport 5900:6000 -j ACCEPT

常见问题

用上面的 /etc/init.d/vncserver restart 可能会报错,我遇到过这样的报错

[root@vserver1 ~]# /etc/init.d/vncserver restart
Shutting down VNC server:                                  [  OK  ]
Starting VNC server: 2:Harry Invalid null command.
if: Expression Syntax.

New 'vserver1.intern.com:2 (Harry)' desktop is vserver1.intern.com:2

Creating default startup script /home/Harry/.vnc/xstartup
Starting applications specified in /home/Harry/.vnc/xstartup
Log file is /home/Harry/.vnc/vserver1.intern.com:2.log

else: endif not found.
                                                           [FAILED]

[root@vserver1 ~]# /etc/init.d/vncserver restart
Shutting down VNC server: 2:Harry                          [FAILED]
Starting VNC server: 2:Harry Invalid null command.
if: Expression Syntax.
A VNC server is already running as :2
else: endif not found.
                                                           [FAILED]

出现该问题,可能的原因是VNCserver在运行的时候,我们人为修改了它的配置文件,比如更改了用户名和display,然后重启的时候,之前用户名和display对应的vncserver进程没有正常关闭。
在修改vncserver的配置文件时,要先停掉vncserver,再修改,再启动。