在對linux主機進行管理時,儘管很多時候並不需要圖形界面,但是在一些特殊的場合,如動態監控,採用OUI通用安裝oracle時候圖形界面是必須要展示出來的。但是囿於數據庫服務器一般都在標準的數據中心機房,想要身臨其境地接上vga線纜來展示圖形界面便太費周折。這時,我們就懷念windows下的遠程桌面了,如果linux也有遠程桌面的話這就解決問題了。linux當然也有同樣的功能,這就是vnc服務(virtual network computing)。配置好vnc服務後,客戶端的計算機有2種方式展開主機的桌面,第一種就是使用vncview客戶端軟件進行連接。另一種方式是使用瀏覽器直接訪問主機的iP和端口。第二種方式需要java環境的支持。下面我就分別兩種方式展示下vnc的配置和使用。
一,服務端配置。
1,安裝vnc軟件包。
[root@localhost Server]# rpm -ivh vnc-server-4.1.2-9.el5.i386.rpm
warning: vnc-server-4.1.2-9.el5.i386.rpm: Header V3 DSA signature: NOKEY, key ID 37017186
Preparing... ########################################### [100%]
package vnc-server-4.1.2-9.el5 is already installed
安裝好之後我們可以通過使用[root@localhost Server]# man vncserver 來查看具體的配置方 式。這裏把vnc的配置原理說下:
$HOME/.vnc/xstartup :這個腳本文件存在於每個用戶下,這個文件包含了vnc運行的參 數,一會兒我們會對這個文件進行編輯,將vnc默認顯示的圖形改成我們熟悉的gnome或者kde模式。
$HOME/.vnc/passwd :這個腳本文件和參數文件一起。記錄了vnc登錄的密碼。
$HOME/.vnc/host:display#.pid :當vnc啓動後,這個文件便指明瞭vnc執行的x桌面的ID,如在第一個x桌面下便是 $HOME/.vnc/127.0.0.1:1.pid。當我們要關閉這個x桌面,我們使用vncserver -kill : 1
2.啓動VNC服務
啓動vnc的服務很簡單,如果要啓動第一個x桌面。在當前用戶的shell下輸入vncserver :1
[lion@localhost ~]$ vncserver :1
You will require a password to access your desktops.
Password:
Password must be at least 6 characters - try again
Password:
Verify:
A VNC server is already running as :1
這裏,密碼也要求至少6個字符。vnc服務啓動成功,這裏我們查看下後臺的開放的端口號
[lion@localhost ~]$ netstat -tupln
tcp 0 0 0.0.0.0:5801 0.0.0.0:* LISTEN -
tcp 0 0 0.0.0.0:5901 0.0.0.0:* LISTEN -
這裏我們看到了建立了2個端口,分別是TCP的5801和TCP的5901。這裏我們使用客戶端的IE瀏覽器連接。5901指的是服務端的監聽端口,5801指的是web訪問時使用的監聽端口號。
打開防火牆,如果使用了防火牆功能則執行下面的命令
[root@localhost ~]# iptables -I INPUT -p tcp --dport 5901 -j ACCEPT
[root@localhost ~]# iptables -I INPUT -p tcp --dport 5801 -j ACCEPT
3.修改配置文件。
儘管服務可以啓動,但是如果不修改配置文件只有root用戶可以通過vnc訪問主機。這裏我們對配置文件進行修改,文件 /etc/sysconfig/vncservices 這裏添加進去希望使用vnc服務的用戶
[lion@localhost ~]$ su - root
Password:
[root@localhost ~]# cp /etc/sysconfig/vncservers /etc/sysconfig/vncservers.bak
[root@localhost ~]# vi /etc/sysconfig/vncservers
修改#vncservers 選項,注意#符號不是註釋
改動後的那一行:# VNCSERVERS="1:root 2:lion" 表示root,和lion用戶均可以訪問。修改後重啓服務
[root@localhost ~]# /etc/init.d/vncserver stop
Shutting down VNC server: [ OK ]
[root@localhost ~]# /etc/init.d/vncserver start
Starting VNC server: no displays configured [ OK ]
4。修改默認的顯示選項,改成我想要的KDE,或者GNOME桌面。
我想要在lion用戶下建立vnc服務,這時我要進入lion的家目錄修改。
[lion@localhost ~]$ cd ~
[lion@localhost ~]$ cd .vnc
[lion@localhost .vnc]$ cp xstartup xstartup.bak
[lion@localhost .vnc]$ vi xstartup
(1)修改爲KDE模式:
#twm & **註釋掉默認的twm方式
gnome-session & **添加的一行,啓動以KDE方式。
修改後重啓服務。
(2)修改爲gnome模式
#twm & **註釋掉默認的twm方式
startkde & **添加的一行,啓動以gnome方式。
之後,進入lion用戶,我要在lion用戶下啓用vnc。
[root@localhost ~]# su - lion
[lion@localhost ~]$ vncserver :1
A VNC server is already running as :1
使用vnc 方式,以web方式是訪問580x端口。使用vncview直接使用:x即可。