標題:配置VNC服務實現紅旗Linux遠端桌面訪問
內容簡介:
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視窗)比較簡單,雖系統各功能均可在命令列下得到執行,但是缺乏高效的人機互動功能。
(當然,並無貶低TWM的意思--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”是會話編號。
B.用戶端是Windows環境
需要運行VCN的用戶端工具,如VNC Viewer等。可到 www.realvnc.com/ 去下載。
訪問地址形式如下:
VNCServerIP:5900+會話編號。(注意:VNC Server提供的通過VNC Viewer用戶端方式訪問的連接埠是:5900+會話編號)
例如訪問地址為:192.168.100.82:5901。
注意此處一定要寫正確會話編號,否則會如下報錯:
---------------------------
failed to connect: Connection refused (10061)
---------------------------
然後輸入VNS Server的登入密碼,即可連上VNC Server,開啟並顯示遠端桌面。
C.用瀏覽器作為用戶端訪問VNC伺服器,以JAVA Applet方式顯示遠端桌面
在瀏覽器地址欄中輸入伺服器的訪問地址,如下:
http://VNCServerIP:5801/
注意,此時連接埠號碼為:5800+會話編號。(注意:VNC Server提供的瀏覽器方式訪問的連接埠是:5800 +會話編號)
然後輸入VNS Server的登入密碼,即可連上VNC Server,在JAVA小應用程式中開啟並顯示遠端桌面。
二、紅旗Linux 案頭版 6.0下提供遠端桌面服務:
伺服器:RedFlag Linux Desktop 6.0
說明:RedFlag Linux Desktop 6.0 預設下未安裝VNC Server的rpm包。需單獨安裝VNC Server的rpm包。
配置和操作如下:
1. 安裝VNC Server rpm包。
安裝包:vnc-server-4.0-8.1.i386.rpm
如果需要Linux下的VNC用戶端,則同時安裝包:vnc-4.0-8.1.i386.rpm
安裝後的rpm包可以在“軟體包管理器”中查看到。
2. 配置VNC Server,同上。
編輯/etc/sysconfig/下的vncservers檔案末尾,加入如下一行:
-------------
VNCSERVERS="1:root"
--------------
3. 配置VNC Server密碼,同上。
運行命令:#vncpasswd,設定vnc登入的密碼。
4. 啟動vncserver服務
運行命令:#service vncserver start
注意,此時Linux控制台會出現一個提示:
------------------------
啟動 VNC 伺服器:1:root WARNING: initlog is deprecated and will be removed in a future release
-------------------------
用#service vncserver status 命令查看服務狀態,發現VNC Server並未成功啟動。
此時,查看/root/.vnc/檔案中的日誌,會發現報錯資訊:
------------------------------------------------------
Couldn't open RGB_DB '/usr/X11R6/lib/X11/rgb'
Xvnc version 4.0 - built Aug 4 2005 10:11:38
Underlying X server release 60801000, The X.Org Foundation
Thu May 20 11:26:06 2010
vncext: VNC extension running!
vncext: Listening for VNC connections on port 5902
vncext: Listening for HTTP connections on port 5802
vncext: created VNC server for screen 0
error opening security policy file /usr/X11R6/lib/X11/xserver/SecurityPolicy
Could not init font path element /usr/X11R6/lib/X11/fonts/misc/, removing from list!
Could not init font path element /usr/X11R6/lib/X11/fonts/TTF/, removing from list!
Could not init font path element /usr/X11R6/lib/X11/fonts/Type1/, removing from list!
Could not init font path element /usr/X11R6/lib/X11/fonts/CID/, removing from list!
Could not init font path element /usr/X11R6/lib/X11/fonts/75dpi/, removing from list!
Could not init font path element /usr/X11R6/lib/X11/fonts/100dpi/, removing from list!
Fatal server error:
could not open default font 'fixed'
xrdb: Connection refused
xrdb: Can't open display 'localhost.localdomain:2'
xsetroot: unable to open display 'localhost.localdomain:2'
/root/.vnc/xstartup: line 12: twm: command not found
vncconfig: unable to open display "localhost.localdomain:2"
Warning: This program is an suid-root program or is being run by the root user.
The full text of the error or warning message cannot be safely formatted
in this environment. You may get a more descriptive message by running the
program as a non-root user or by removing the suid bit on the executable.
xterm Xt error: Can't open display: %s
------------------------------------------------------
根據日誌中所寫,報錯主要是因為無法載入X系統所需的字型,在 /usr/X11R6/lib/X11/ 下無法找到所需字型的路徑。
VNC Server預設尋找的X系統的字型路徑在/usr/X11R6/lib/X11/fonts/下。
但RedFlag Linux Desktop 6.0,在/usr/X11R6/lib/X11/fonts/下,只有TrueType這個檔案夾。
這就是引發問題的所在!
解決方案:
在RedFlag Linux Desktop 6.0中,搜尋到在/usr/share/X11/fonts下有 VNC Server所需的misc、TTF、Type1、75dpi、100dpi等字型路徑。
在/usr/X11R6/lib/X11/fonts/中,把/usr/share/X11/fonts下的這些路徑以連結方式(檔案夾捷徑)加入即可。
建立檔案連結的命令,類似的,如下:
#cd /usr/X11R6/lib/X11/fonts/
#ln -s /usr/share/X11/fonts/misc misc
#ln -s /usr/share/X11/fonts/TTF TTF
#ln -s /usr/share/X11/fonts/Type1 Type1
#ln -s /usr/share/X11/fonts/75dpi 75dpi
#ln -s /usr/share/X11/fonts/100dpi 100dpi
#mkdir /usr/X11R6/lib/X11/fonts/CID/
(說明:因沒有找到CID這個檔案夾,所以此處以命令方式建立立了一個名稱為“CID”的空檔案夾矇混過關。
這主要是參考了RedFlag Linux DC Server 5.0的檔案夾結構。不過,有沒有CID這個檔案夾,不受太大的影響。 ^_^)
然後運行命令重啟VNC Server:
#service vncserver restart
接下來可用 #service vncserver status 命令查看服務狀態,發現VNC Server成功啟動,正常了。^_^
5. 修改VNC服務遠端桌面啟動方式,同上。
開啟/root/.vnc/xstartup檔案,注釋掉最後一行twm &,改如下這樣:
--------------
#twm &
startkde &
--------------
然後運行命令 #service vncserver restart,重啟VNC Server。
6. 用戶端的遠端桌面連線方式,同上。
不再贅述。
[-完-]
By JRQ
2010/05/20 於南昌