首先講述一下vnc的機制:
Linux下的VNC可以同時啟動多個vncserver,各個vncserver之間用顯示編号(display number)來區分,每個vncserver服務監聽3個端口,它們分别是:
5800+顯示編号: VNC的httpd監聽端口,如果VNC用戶端為IE,Firefox等非vncviewer時必須開放
5900+顯示編号: VNC服務端與用戶端通信的真正端口,必須無條件開放
6000+顯示編号: X監聽端口,可選顯示編号、開放的端口分别由/etc/sysconfig/vncservers檔案中的VNCSERVERS和VNCSERVERARGS控制。
-geometry 桌面分辨率,預設1024x768;
-nohttpd 不監聽HTTP端口(58xx端口);
-nolisten tcp 不監聽X端口(60xx端口);
-localhost 隻允許從本機通路;
-AlwaysShared 預設隻同時允許一個vncviewer連接配接,此參數允許同時連多個vncviewer;
-SecurityTypes None 登入不需要密碼認證VncAuth預設值,要密碼認證。
1、首先确認系統上有沒有vnc,vnc-server
rpm -qa | grep 'vnc'
否則安裝之
yum install vnc vnc-server
2、配置/etc/sysconfig/vncserver
[plain] view plain copy print ?
- # 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 this URL:
- # http://kbase.redhat.com/faq/docs/DOC-7028
- # Use "-nolisten tcp" to prevent X connections to your VNC server via TCP.
- # 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:cshi"
- VNCSERVERARGS[2]="-geometry 800x600 -nolisten tcp -localhost"
即uncomment最後二行,并改成實際的使用者名
重新開機VNC服務:

3、安裝libXfont和pixman等
若此時執行vncserver,則會有如下報錯:
[plain] view plain copy print ?
- vncext: VNC extension running!
- vncext: Listening for VNC connections on all interface(s), port 5902
- vncext: created VNC server for screen 0
- [dix] Could not init font path element /usr/share/X11/fonts/misc, removing from list!
- [dix] Could not init font path element /usr/share/X11/fonts/100dpi, removing from list!
- [dix] Could not init font path element /usr/share/X11/fonts/Type1, removing from list!
- [dix] Could not init font path element /usr/share/fonts/default/Type1, removing from list!
- [dix] Could not init font path element built-ins, removing from list!
- Fatal server error:
- could not open default font 'fixed'
經調查得知:yum install libXfont可解決之
再執行vncserver,又有如下錯誤:
[plain] view plain copy print ?
- /usr/bin/Xvnc: symbol lookup error: /usr/bin/Xvnc: undefined symbol: pixman_composite_trapezoids
- /usr/bin/Xvnc: symbol lookup error: /usr/bin/Xvnc: undefined symbol: pixman_composite_trapezoids
解決辦法:yum install pixman
4、準備登陸
用vncviewer用戶端進行登陸。如果沒有指定Xvnc的顯示号,則
指定顯示号後:
若系統中安裝了智能卡軟體,則會有如下反應,可不管:
或者停止該服務:service pcscd stop