当前位置: > Linux服务器 > VNC >

配置VNC服务

时间:2015-02-08 22:32来源:linux.it.net.cn 作者:IT

内容简介:

VNC (Virtual Network Computing)是虚拟网络计算机的缩写,是一款优秀的远程控制工具软件,由著名的AT&T的欧洲研究实验室开发。

下面介绍在“红旗Linux DC Server 5.0”和“红旗Linux 桌面版 6.0”操作系统中,配置VNC服务,实现客户端以“远程桌面”方式的连接访问。


一、红旗Linux DC Server 5.0下提供远程桌面服务:


    服务器:RedFlag Linux DC Server 5.0

    说明:RedFlag Linux DC Server 5.0已自带安装VNC Server的rpm包。无须单独安装。


  配置和操作如下:


  1. 配置VNC Server

 

     编辑/etc/sysconfig/下的vncservers文件,添加VNC用户。

 

     在vncservers文件末尾,加入如下一行:

     -------------

     VNCSERVERS="1:root"

     --------------

     注意:

      *. 添加的用户(此处是根用户root),需是已经存在用户。

 

      *. “1”为会话编号。可以添加多个会话,提供同时多个远程桌面服务。


  2.  配置VNC Server密码

      运行命令:#vncpasswd,设置vnc登录的密码。

 

      设置完密码后,会在路径/root/.vnc/下生成一个名称是“passwd”的文件

 

      如果想更改VNC Server密码,再次执行#vncpasswd命令即可。


  3.  启动vncserver服务

 

      运行命令:#/etc/init.d/vncserver start


            或:#service vncserver start

 

      vncserver启动后,会在/root/.vnc/下生成xstartup文件和1.log文件。

 

      xstartup文件中,最主要的是定义了VNC Server在提供服务时,客户端会话中所能看到的远程桌面的显示方式

 

      可以针对xstartup做编辑修改,加入自定义内容。

 

      1.log文件是会话编号为“1”的VNC Server的日志文件。

 

      如VNC Server启动失败,可以根据日志查找原因。


  4.  修改VNC服务远程桌面启动方式

 

      默认情况下,远程桌面VNC启动的是TWM窗口管理器(TabWindow Manager for the X WindowSystem)。

 

      客户端所能看到的远程界面(TWM窗口)比较简单,虽系统各功能均可在命令行下得到执行,但是缺乏高效的人机交互功能。
       
      如果要VNC Server启动KDE界面服务,需修改 /root/.vnc/xstartup文件。

 

      修改方法如下:

 

      打开/root/.vnc/xstartup文件,注释掉最后一行twm &,改如下这样:

 

     --------------

      #twm &
      startkde &

     --------------

     保存xstartup文件,再次启动vncserver服务后,客户端即可访问到友好的KDE界面。


  5.  VNC Server常用命令

     *. vncserver重启服务命令:

          #service vncserver stop
          #service vncserver start
      或:
          #service vncserver restart


     *. 查看vncserver服务状态的命令:

          #service vncserver status


     *. 查看vncserver服务侦听端口命令:

 

          #netstat -tlnp |grep vnc

 

        默认情况下,VNC Server提供通过浏览器方式访问的端口是:5800 +会话编号

      提供通过VNC Viewer客户端方式访问的端口是:5900+会话编号
        
        如果需要提供跨防火墙的服务器,则防火墙需打开相应的端口。


     *. 结束提供会话服务命令:

          #vncserver -kill :会话编号
      如:#vncserver -kill :1 //结束会话编号为1的服务

 

  6.  VNC客户端及使用:

      有三种客户端可供选择:

      A.客户端是Linux环境

        运行如下命令即可:

        #vncviewer VNCServerIP:1 
 
        然后输入VNS Server的登录密码,即可连上VNC Server,打开并显示远程桌面。

        前提是客户端需要安装VNC Client的rpm包,可下载并安装的包:vnc-4.0-8.1.i386.rpm。

        VNCServerIP为服务器的IP地址,“1”是会话编号。

 

VNC Server默认寻找的X系统的字体路径在/usr/X11R6/lib/X11/fonts/下。

 

       但RedFlag Linux Desktop 6.0,在/usr/X11R6/lib/X11/fonts/下,只有TrueType这个文件夹。 

 

 

 

 

安装服务:

 

yum install tigervnc-server

 

 

[plain] view plaincopy

 

  1. [root@localhost ~]# yum install tigervnc-server  

  2. Loaded plugins: fastestmirror, refresh-packagekit, security  

  3. Loading mirror speeds from cached hostfile  

  4.  * base: mirror.bit.edu.cn  

  5.  * extras: mirrors.yun-idc.com  

  6.  * updates: mirrors.yun-idc.com  

  7. Setting up Install Process  

  8. Resolving Dependencies  

  9. --> Running transaction check  

  10. ---> Package tigervnc-server.x86_64 0:1.1.0-8.el6_5 will be installed  

  11. --> Finished Dependency Resolution  

  12.   

  13. Dependencies Resolved  

  14.   

  15. ===============================================================================================================================================================================================  

  16.  Package                                           Arch                                     Version                                            Repository                                 Size  

  17. ===============================================================================================================================================================================================  

  18. Installing:  

  19.  tigervnc-server                                   x86_64                                   1.1.0-8.el6_5                                      updates                                   1.1 M  

  20.   

  21. Transaction Summary  

  22. ===============================================================================================================================================================================================  

  23. Install       1 Package(s)  

  24.   

  25. Total download size: 1.1 M  

  26. Installed size: 2.9 M  

  27. Is this ok [y/N]: y  

  28. Downloading Packages:  

  29. tigervnc-server-1.1.0-8.el6_5.x86_64.rpm                                                                                                                                | 1.1 MB     00:02       

  30. Running rpm_check_debug  

  31. Running Transaction Test  

  32. Transaction Test Succeeded  

  33. Running Transaction  

  34.   Installing : tigervnc-server-1.1.0-8.el6_5.x86_64                                                                                                                                        1/1   

  35.   Verifying  : tigervnc-server-1.1.0-8.el6_5.x86_64                                                                                                                                        1/1   

  36.   

  37. Installed:  

  38.   tigervnc-server.x86_64 0:1.1.0-8.el6_5          

  39. Complete!  

 

 

运行并设置密码:

 

vncserver :1

注意:vncserver和:1之间必须有空格的。

 

输入密码,会生成相关的文件

 

[plain] view plaincopy在CODE上查看代码片派生到我的代码片

 

  1. [root@localhost ~]# vncserver :1  

  2.   

  3. You will require a password to access your desktops.  

  4.   

  5. Password:  

  6. Verify:  

  7. xauth:  creating new authority file /root/.Xauthority  

  8.   

  9. New 'localhost.localdomain:1 (root)' desktop is localhost.localdomain:1  

  10.   

  11. Creating default startup script /root/.vnc/xstartup  

  12. Starting applications specified in /root/.vnc/xstartup  

  13. Log file is /root/.vnc/localhost.localdomain:1.log  

配置用户

 

vim /etc/sysconfig/vncservers  

最后一行加入:

VNCSERVERS="1:root" 多个用户用空格分开

实用命令

usage: vncserver [:<number>] [-name <desktop-name>] [-depth <depth>]
                 [-geometry <width>x<height>]
                 [-pixelformat rgbNNN|bgrNNN]
                 [-fp <font-path>]
                 [-fg]
                 <Xvnc-options>...
       vncserver -kill <X-display>
       vncserver -list
vncserver[:n]开服务
vncserver -list看有几个在运行
vncserver -kill :n   杀掉第几个x-display
vncpasswd           修改密码

 

服务管理

service vncserver restart
其它用法:/etc/init.d/vncserver {start|stop|restart|try-restart|status|force-reload}
chkconfig vncserver on 加入到自启动(chkconfig --level 35 vncserver on)

 

客户端连接
CentOS:使用TigerVNC Viewer 连接 ip:1
Windows:使用Real VNC Viewer 连接ip:1
输入密码即可访问

错误记录及解决方案:

 

[plain] view plaincopy在CODE上查看代码片派生到我的代码片

 

  1. 错误记录:  

  2. [root@localhost media]# service vncserver start  

  3. Starting VNC server: 1:root   

  4. WARNING: The first attempt to start Xvnc failed, possibly because the font  

  5. catalog is not properly configured.  Attempting to determine an appropriate  

  6. font path for this system and restart Xvnc using that font path ...  

  7. Could not start Xvnc.  

  8.   

  9.   

  10. /usr/bin/Xvnc: symbol lookup error: /usr/bin/Xvnc: undefined symbol: pixman_composite_trapezoids  

  11. /usr/bin/Xvnc: symbol lookup error: /usr/bin/Xvnc: undefined symbol: pixman_composite_trapezoids  

  12.   

  13.   

  14.                                                            [FAILED]  

  15. 解决方案:  

  16. yum install pixman pixman-devel libXfont  

  17.   

  18.   

  19. 错误记录:  

  20. [root@localhost /]# vncserver :1  

  21.   

  22. WARNING: The first attempt to start Xvnc failed, possibly because the font  

  23. catalog is not properly configured.  Attempting to determine an appropriate  

  24. font path for this system and restart Xvnc using that font path ...  

  25. Could not start Xvnc.  

  26.   

  27. _XSERVTransSocketUNIXCreateListener: ...SocketCreateListener() failed  

  28. _XSERVTransMakeAllCOTSServerListeners: server already running  

  29.   

  30. Fatal server error:  

  31. Cannot establish any listening sockets - Make sure an X server isn't already running  

  32. _XSERVTransSocketUNIXCreateListener: ...SocketCreateListener() failed  

  33. _XSERVTransMakeAllCOTSServerListeners: server already running  

  34.   

  35. Fatal server error:  

  36. Cannot establish any listening sockets - Make sure an X server isn't already running  

  37.   

  38.   

  39. 解决过程:  

  40.   

  41.   

  42. ps aux |grep -i "xorg|x11"  

  43.   

  44. yum -y groupinstall "GNOME Desktop Environment"  CentOS6.5下不能用。  

  45.   

  46. yum groupinstall "X Window System" "KDE (K Desktop Environment)"  

  47.   

  48. rm -rf /tmp/.X11-unix  

  49.   

  50.   

  51. 错误记录:  

  52. [root@hn opt]# vncserver :1  

  53.   

  54. Warning: hn.kd.ny.adsl:1 is taken because of /tmp/.X1-lock  

  55. Remove this file if there is no X server hn.kd.ny.adsl:1  

  56. A VNC server is already running as :1  

  57. [root@hn opt]# cp /tmp/.X1-lock X1-lock.bak  

  58. [root@hn opt]# rm -rf /tmp/.X1-lock  

  59. [root@hn opt]# vncserver :1  

  60.   

  61. Warning: hn.kd.ny.adsl:1 is taken because of /tmp/.X11-unix/X1  

  62. Remove this file if there is no X server hn.kd.ny.adsl:1  

  63. A VNC server is already running as :1  

  64. [root@hn opt]# vncserver :1  

  65.   

  66. Warning: hn.kd.ny.adsl:1 is taken because of /tmp/.X11-unix/X1  

  67. Remove this file if there is no X server hn.kd.ny.adsl:1  

  68. A VNC server is already running as :1  

  69. [root@hn opt]# rm -rf /tmp/.X11-unix/X1  

  70. [root@hn opt]# vncserver :1  

  71. xauth:  creating new authority file /root/.Xauthority  

  72.   

  73. WARNING: The first attempt to start Xvnc failed, possibly because the font  

  74. catalog is not properly configured.  Attempting to determine an appropriate  

  75. font path for this system and restart Xvnc using that font path ...  

  76. Could not start Xvnc.  

  77.   

  78. _XSERVTransSocketUNIXCreateListener: ...SocketCreateListener() failed  

  79. _XSERVTransMakeAllCOTSServerListeners: server already running  

  80.   

  81. Fatal server error:  

  82. Cannot establish any listening sockets - Make sure an X server isn't already running  

  83. _XSERVTransSocketUNIXCreateListener: ...SocketCreateListener() failed  

  84. _XSERVTransMakeAllCOTSServerListeners: server already running  

  85.   

  86. Fatal server error:  

  87. Cannot establish any listening sockets - Make sure an X server isn't already running  

  88.   

  89.   

  90.   

  91.   

  92. 正在启动 VNC 服务器:1:root   

  93. WARNING: The first attempt to start Xvnc failed, possibly because the font  

  94. catalog is not properly configured.  Attempting to determine an appropriate  

  95. font path for this system and restart Xvnc using that font path ...  

  96. Could not start Xvnc.  

  97.   

  98. _XSERVTransSocketUNIXCreateListener: ...SocketCreateListener() failed  

  99. _XSERVTransMakeAllCOTSServerListeners: server already running  

  100.   

  101. Fatal server error:  

  102. Cannot establish any listening sockets - Make sure an X server isn't already running  

  103. _XSERVTransSocketUNIXCreateListener: ...SocketCreateListener() failed  

  104. _XSERVTransMakeAllCOTSServerListeners: server already running  

  105.   

  106. Fatal server error:  

  107. Cannot establish any listening sockets - Make sure an X server isn't already running  

  108.   

  109.                                                            [失败]  

  110.   

  111. 正在启动 VNC 服务器:1:root   

  112. WARNING: The first attempt to start Xvnc failed, possibly because the font  

  113. catalog is not properly configured.  Attempting to determine an appropriate  

  114. font path for this system and restart Xvnc using that font path ...  

  115. Could not start Xvnc.  

  116.   

  117. _XSERVTransSocketUNIXCreateListener: ...SocketCreateListener() failed  

  118. _XSERVTransMakeAllCOTSServerListeners: server already running  

  119.   

  120. Fatal server error:  

  121. Cannot establish any listening sockets - Make sure an X server isn't already running  

  122. _XSERVTransSocketUNIXCreateListener: ...SocketCreateListener() failed  

  123. _XSERVTransMakeAllCOTSServerListeners: server already running  

  124.   

  125. Fatal server error:  

  126. Cannot establish any listening sockets - Make sure an X server isn't already running  

  127.   

  128.                                                            [失败]  

  129.   

  130. 执行:setup 命令  

  131.   

  132. 没有需要的选项;  

  133.   

  134.   

  135. 以下为2014年10月21日安装VNCServer遇到的问题及解决方法  

  136. 错误记录:  

  137. [root@hn]# service vncserver restart  

  138. 关闭 VNC 服务器:                                          [确定]  

  139. 正在启动 VNC 服务器:1:root   

  140. Warning: hn.kd.ny.adsl:1 is taken because of /tmp/.X1-lock  

  141. Remove this file if there is no X server hn.kd.ny.adsl:1  

  142. A VNC server is already running as :1  

  143.                                                            [失败]  

  144. [root@hn]# find -name hn.kd.my.ads1:1  

  145. [root@hn]# rm -rf /tmp/.X1-lock  

  146. [root@hn]#   

  147. [root@hn]#   

  148. [root@hn]# service vncserver restart  

  149. 关闭 VNC 服务器:                                          [确定]  

  150. 正在启动 VNC 服务器:1:root   

  151. Warning: hn.kd.ny.adsl:1 is taken because of /tmp/.X11-unix/X1  

  152. Remove this file if there is no X server hn.kd.ny.adsl:1  

  153. A VNC server is already running as :1  

  154.                                                            [失败]  

  155. [root@hn]# rm -rf /tmp/.X11-unix/X1  

  156. [root@hn]# service vncserver restart  

  157. 关闭 VNC 服务器:                                          [确定]  

  158. 正在启动 VNC 服务器:1:root   

  159. WARNING: The first attempt to start Xvnc failed, possibly because the font  

  160. catalog is not properly configured.  Attempting to determine an appropriate  

  161. font path for this system and restart Xvnc using that font path ...  

  162. Could not start Xvnc.  

  163.   

  164. _XSERVTransSocketUNIXCreateListener: ...SocketCreateListener() failed  

  165. _XSERVTransMakeAllCOTSServerListeners: server already running  

  166.   

  167. Fatal server error:  

  168. Cannot establish any listening sockets - Make sure an X server isn't already running  

  169. _XSERVTransSocketUNIXCreateListener: ...SocketCreateListener() failed  

  170. _XSERVTransMakeAllCOTSServerListeners: server already running  

  171.   

  172. Fatal server error:  

  173. Cannot establish any listening sockets - Make sure an X server isn't already running  

  174.   

  175.                                                            [失败]  

  176. [root@hn]#   

  177.   

  178.   

  179. 解决方案:  

  180. [root@hn]# init 3  

  181. [root@hn]# service vncserver restart  

  182. 关闭 VNC 服务器:                                          [确定]  

  183. 正在启动 VNC 服务器:1:root   

  184. New 'hn.kd.ny.adsl:1 (root)' desktop is hn.kd.ny.adsl:1  

  185.   

  186. Creating default startup script /root/.vnc/xstartup  

  187. Starting applications specified in /root/.vnc/xstartup  

  188. Log file is /root/.vnc/hn.kd.ny.adsl:1.log  

  189.   

  190.                                                            [确定]  

  191. [root@hn]#   

 

 

 

vi /etc/sysconfig/vncservers

使用上面命令的时候,可能您服务器上面已经存在这个配置文件,也可能您服务器上面不存在这个配置文件,将下面的内容添加到配置文件内:

VNCSERVERS="1:root"
VNCSERVERARGS[1]="-geometry 800x600"

下面这段是上面所讲配置文件注解,做参考之用:
#这个是配置远程桌面登录的用户名,如果两个用户,则使用VNCSERVERS="1:user12:user2",,


依次类推,默认情况下,1:user1对应5901,2:user2对应5902(VNC的默认监听端口是5900,监听端口规则为590+usernumber),如下


VNCSERVERS="usernumber:myusername" 
#下面这项配置为登录桌面配置,其中的“1”为用户序号,800x600为分辨率,-nolisten tcp为阻止tcp包,-localhost代表只监听本地,
VNCSERVERARGS[1]="-geometry 800x600 -nolisten tcp -localhost"


如果想阻止http包,可以使用如下配置


VNCSERVERARGS[1]="-geometry 800x600 -nolisten tcp -nohttpd-localhost"

使用下面的命令为vnc设置密码(需要使用su切换到要设置vnc密码的用户上,比如:su user1,其中user1就是在上面配置文件内写的帐号)

vncpasswd

设置好密码之后,就是启动VNC服务了,启动VNC服务的时候也需要用su user1(user1就是在上面配置文件内写的帐号)切换到要启动服务的帐号上(很多朋友在使用DirectSpace默认的桌面VNC的时候,遇到无法连接“10061错误”,即可在ssh下输入下面命令解决!)

vncserver

其他命令,比如重启VNC服务就用下面的命令:

service vncserver restart

设置VNC服务开机启动用下面的命令:

chkconfig vncserver on

在一些minimal系统里,即使英文也会出现方框乱码,请使用本处命令修正:yum -y installfontforge

其它说明:

设置完毕后使用servers vncserver start(如果不能启动,检查软件是否安装正常,检查/etc/rc.d/init.d目录是否存在vncserver控制脚本),

启动完毕后使用netstat -nat查看监听端口(默认为5901,5902,5903等),如果开启了防火墙,则需要配置规则允许对应端口tcp包通过。

参考配置:iptables-I INPUT 1 -p tcp --dport 5901 -j ACCEPT

(其中-I INPUT 1代表插入一条规则,这条规则的位置是1,详情请查阅iptables相关配置)

Linux VPS,VPS hosting

为了工作上、或网络管理的方便,有时候我们会配置vncserver服务器,大部分情况下linux都是携带vnc viewer客户端的,也安装了vncserver服务器,我们只需要在setup里系统服务里将vncserver服务启动即可,然后在终端运行命令:vncserver,会提示输入vnc操作密码,然后vnc就正确启动了,但是有时候直接使用vnc viewer连接时会出现一个黑屏/,即无法正常显示linux桌面,这是默认vnc配置文件的问题,运行vim /root/.vnc/xstartup将里面配置内容全部删除,并将以下配置内容输入,或直接保存成xstartup然后替换即可(不要忘记给xstartup赋予可执行权限chmod +xxstartup)

 

#****************************vncserver新配置文件内容**********************

#!/bin/sh 

# Uncomment the following two lines for normaldesktop: (去掉以下两行的#就可以允许使用桌面了

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 & 

gnome-session &

 

配置文件修改后,先杀死已运行的服务,vncserver -kill :1 然后再重新启动vnc服务 service vncserver restart,再运行vncserver即可,vncserver端口由系统自动分配,运行vncserver可以看到提示,连接时输入IP地址:端口号即可,输入密码后可以操作,如下面启动vncserver分配的端口号是6,root用户

 

[root@localhost .vnc]# vncserver

 

New 'localhost.localdomain:6 (root)' desktop is localhost.localdomain:6

 

Starting applications specified in/root/.vnc/xstartup

Log file is /root/.vnc/localhost.localdomain:6.log

 

#!/bin/sh

# Uncomment the following two lines fornormal 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" &
#twm &
#startkde &  #
启动KDE桌面
gnome-session & #启动gnome桌面

 

 

 

一、Redhat上VNC Server配置
本文以当前Linux系统未安装VNC服务器为基本,如果已安装请跳过第1节!

前提:
1.连接到互联网,将使用yum在线安装VNC服务器
2. 确认 SSH 在运行

1.安装 TigerVNC Server

yum search tigervnc-server


返回大概如下内容:

tigervnc-server.x86_64 : A TigerVNC Server
tigervnc-server-applet.noarch : Java TigerVNC Viewer applet for TigerVNC Server
tigervnc-server-module.x86._64 : TigerVNC Mode to Xorg
...


第一行即是我们要安装的VNS服务器,第二行是客户端,执行

# yum install tigervnc-server.x86_64


回车后会有一次安装确认,输入y后回车即可安装,安装完毕后返回到命令行输入光标,执行

vncserver


会提示输入验证密码,至少6位,该密码是客户端连接时用到的。


2.配置图形界面
修改配置文件,激活图形界面,执行命令:

vi /root/.vnc/xstartup


注释掉这行

#twm & // 注释该行


末尾增加一行

gnome-session & // 增加该行


保存退出


3.启动VNC服务
执行命令

# /etc/init.d/vncserver start

service vncserver start


启动后提示:

Starting VNC server: no displays configured [FAILED]


解决方法:
执行命令

# vim /etc/sysconfig/vncservers


修改最后两行如:

VNCSERVERS="1:root"


VNCSERVERARGS[1]="-geometry 1024x768"


说明:
第一行为服务配置,当前只配置了一个VNC服务,使用用户root启动,如果还需要使用其他用户登陆,

可以修改VNCSERVERS的值如:“1:root 2:tiger”(tiger为系统另一存在用户)。

 

第二行可以注释,是配置窗口分辨率的,需要去掉后面的-localhost


VNC Server随系统自动启动
执行命令

# sudo chkconfig --level 345 vncserver on


4.停止VNC服务
执行命令

# /etc/init.d/vncserver stop

# service vncserver stop


二、Windows借助VNC Viewer访问Linux
首先安装RealVNC,从互联网下载获得
开始 - Run VNC Viewer,输入IP地址,后面的:1代表使用root用户登陆,在RH上配置的1:root,如果想使用其他用户登陆则调整冒号后的数字即可,密码就是先前配置的。


解决连接不上问题的方法
执行命令,查看VNC监听的端口是什么,在防火墙中开放端口即可

netstat -ntupl|grep vnc


返回列表如:

1. tcp 0 0 0.0.0.0:5901 0.0.0.0:* LISTEN 4411/Xvnc 
2. tcp 0 0 0.0.0.0:6001 0.0.0.0:* LISTEN 4411/Xvnc 
3. tcp 0 0 :::6001 :::* LISTEN 4411/Xvnc


修改防火墙配置文件,开放5901端口即可

# vi /etc/sysconfig/iptables


可以复制22端口一行,黏贴修改即可,重新启动防火墙服务

# service iptables restart

 

 

telnet与ssh只是基于字符界面的远程控制,如果想要对linux服务器时行桌面的远程控制的话,我们可以安装vnc-server服务来实现。
一、vnc服务简介
vnc本身一个远程控制软件,可以安装在windows,linux等操作系统上。
vnc软件主要由两个部分组成:
vnc server
vnc viewer
二、vnc服务的安装
[root@fc5 /]# rpm -q vnc-server
vnc-server-4.1.1-36
说明:如果没有正确安装,vnc服务不能成功。
三、vnc服务的启动与测试
1.vnc服务的启动
vncserver :1
vncserver -kill :1  关闭桌面号:1
 
启用编号为1的桌面,系统会提示用户输入访问口令,口令会被加密保存在用户主目录下的.vnc子目录中的passwd文件。系统会在用户主目录下的.vnc目录为用户自动建立xstartup配置文件,谁启动的服务,就在谁的目录下建立相关文件。 
[tom@fc5 ~]$ vncserver :1
You will require a password to access your desktops.
Password:
Verify:
xauth:  creating new authority file /root/.Xauthority
New 'fc5:2 (root)' desktop is fc5:1
Creating default startup script /root/.vnc/xstartup
Starting applications specified in /root/.vnc/xstartup
Log file is /root/.vnc/fc5:1.log 
说明:该用户建立的桌面号,会要求输入进行该桌面环境的密码。
[root@fc5 ~]# cd /root/.vnc
[root@fc5 .vnc]# ll
总计 16
-rw-r--r-- 1 root root 787 05-28 19:39 fc5:1.log
-rw-r--r-- 1 root root   5 05-28 19:39 fc5:1.pid
-rw------- 1 root root   8 05-28 16:55 passwd
-rwxr-xr-x 1 root root 344 05-28 17:21 xstartup

[root@fc5 .vnc]# service vncserver start

2.vnc服务的测试
对于windos客户端而言,必须要事先安装JAVA运行环境。
http://192.168.1.6:5801
 linux vnc服务 - koumm - koumm的博客
如果能出现vnc viewer的对话框,,因为5801是启动的是桌面号1,桌面号1又是由root建立的,只输入建立桌面号1的密码就可以了。但是界面非常简单,只是有一个shell。
四、vnc桌面环境配置
vnc在默认状态下使用twm桌面环境,只能输入shell来进行配置,对于linux安装了KDE或GNOME图形桌面环境,如何通过vnc也能够登陆到KDE或GNOME桌面,实现远程控制。还需要修改/root/.vnc/xstartup文件。修改成对应的桌面环境,就可以通过vnc登陆到相应的桌面环境。
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 &
#GNOME桌面环境应修改: gnome-session
#KDE桌面环境应修改:startkde
#默认状态是:twm

vncserver -kill :1  /*杀死原桌面进程号*/
vncserver :1        /*重新建立桌面进程号*/
然后客户端重新连接,就会出现对应的图形桌面环境,如图
五、vnc应用配置
1.创建多桌面号

可以建立多个桌面号,可以使用该帐户建立多个vnc连接。
命令:
vncserver :1
vncserver :2
以上建立的桌面号在计算机重启之后就自己消失,如何实现系统自动建立桌面号,并且实现不同用户通过自己的密码来进行相应的桌面环境。
方法如下:
vi /etc/sysconfig/vncservers
#在最后加入以下内容
VNCSERVERS="1:root"
VNCSERVERS="2:tom"

2.修改用户访问口令
vncpasswd 
示例:
[root@fc5 ~]# vncpasswd       /*没有参数,默认是当前用户用户修改密码*/
Password:
Verify:

3.启用VNC远程协助功能
思路:大家都可以看到同一个屏幕,也可以操作对方的电脑。实现也很简单,就是双方都连接到同一个桌面号,如桌面号1,2等。
实现:
服务端:启用远程协助,请求别人协助。
在桌面上开一个终端,指行以下命令,终端不能关闭,等待连接。
[root@fc5 ~]# x0vncserver -PasswordFile=/root/.vnc/passwd
Thu May 28 23:19:19 2009
main:    Xtest extension present –version 2.2
main:    Listening on port 5900

客户端:
用VNC viewer 连接:192.168.1.2:0连接桌面0进入,两边桌面内容同步。
注:必须要linux中的VNC viewer才行。
六、vnc客户端
1.vnc linux客户端

[root@fc5 ~]# rpm -q vnc   /*安装linux VNC客户端软件*/
vnc-4.1.1-36
在图形界面对运行vnc viewer,会出现一个对话框输入:192.168.1.2:1,然后输入VNC服务桌面1的密码,即可看到vnc服务端的桌面环境了。如图:
 linux vnc服务 - koumm - koumm的博客

 2.vnc windows客户端
(1)IE
输入http://192.168.1.2:1

(2)tightVNC
tightVNC是一个vnc服务端软件,里面包括一个vnc客户端,可以通过该客户端来进行VNC的访问。输入:192.168.1.2:1
如图:
linux vnc服务 - koumm - koumm的博客

(责任编辑:IT)
------分隔线----------------------------