今天计划通过VNC远程登录服务器,但是发现服务器拒绝连接。
服务器用的centOS系统,已经安装好了VNCserver,之前连接没有问题。客户端是win8.1系统,用的是VNC-Viewer-5.2.3-Windows-64bit。
于是我通过ssh登录服务器查看服务器的网络状态,使用下面的命令:
[shell]
[lxk@ndc ~]$ netstat -lp|grep -i vnc
(Not all processes could be identified, non-owned process info
will not be shown, you would have to be root to see it all.)
[lxk@ndc ~]$
[/shell]
发现没有找到vnc的相关监听端口信息。然后直接用vncserver命令:
[shell]
vncserver -list
[/shell]
用来列出所有的vncserver服务,发现是有一个4号的端口在监听,但是在netstat中查询不了,应该是服务挂了。于是重启4号端口的服务:
[shell]
[lxk@ndc ~]$ vncserver :4
New ‘www.xxxxxxx.com:4 (lxk)’ desktop is www.xxxxxxx.com:4
Starting applications specified in /home/lxk/.vnc/xstartup
Log file is /home/lxk/.vnc/www.xxxxxxx.com:4.log
[lxk@ndc ~]$ netstat -lp|grep -i vnc
(Not all processes could be identified, non-owned process info
will not be shown, you would have to be root to see it all.)
tcp 0 0 0.0.0.0:5904 0.0.0.0:* LISTEN 41052/Xvnc
tcp 0 0 0.0.0.0:6004 0.0.0.0:* LISTEN 41052/Xvnc
tcp6 0 0 [::]:6004 [::]:* LISTEN 41052/Xvnc
unix 2 [ ACC ] STREAM LISTENING 6179297 41052/Xvnc @/tmp/.X11-unix/X4
unix 2 [ ACC ] STREAM LISTENING 6179298 41052/Xvnc /tmp/.X11-unix/X4
[lxk@ndc ~]$
[/shell]
再vncserver -list后,发现PID更新了,表示已经重启了服务进程。然后再用VNC客户端,顺利登录。
[shell]
[lxk@ndc ~]$ vncserver -list
TigerVNC server sessions:
X DISPLAY # PROCESS ID
:4 41052
[/shell]
如果没有指定端口,直接使用
[shell]
vncserver
[/shell]
系统回以此开启监听端口,譬如刚才已经开启了4号端口,那么接下来会开启5、6、7。。。。号端口。
可以通过kill命令关闭进程,如下:
[shell]
vncserver -kill :4
[/shell]
直接杀掉4号端口的vncserver进程。
另外,如果其他用户已经开启了4号端口,那么在执行vncserver :4命令时,会提示:
[shell]
A VNC server is already running as :4
[/shell]