WIN下安裝VNC實現對CENTOS的遠程控制

VNC,全稱爲Virtual Network Computing,它是一個桌面共享系統。它的功能,類似於windows中的遠程桌面功能。VNC使用了RFB(Remote FrameBuffer,遠程幀緩衝)協議來實現遠程控制另外一臺計算機。它把鍵盤、鼠標動作發送到遠程計算機,並把遠程計算機的屏幕發回到本地。
VNC技術與平臺無關,VNC Viewer可以和VNC Server在不同的操作系統上。VNC幾乎支持所有的操作系統,也支持Java,甚至可以通過支持Java的瀏覽器來訪問VNC Server。多個VNC客戶端可以同時連接到一個VNC Server上。
VNC最初由AT&T開發的,它的源代碼是開源的。

在CentOs 4.3上配置VNC服務很簡單(這裏假定你的計算機上已經安裝了VNC軟件)

首先需要配置VNC密碼,密碼在使用客戶端連接服務器時使用。
注意:VNC密碼保存在用戶的主目錄中,每個用戶都可以設置自己的密碼。因此,請使用你的用戶名(儘量不要使用root)運行下列命令:

vncpasswd
  然後輸入密碼。

接下來就可以啓動VNC server了。在啓動VNC server時,需要爲你的server指定一個display參數。你可以把display理解爲一個桌面,每個用戶都可以有自己的桌面。VNC客戶端 在連接時,可以指定連接到哪個桌面上。在系統中,display號不能重複,也就是說,如果有用戶已經建立了名爲“:1”的display,另外一個用戶 就不能再使用“:1”了,他可以使用“:2”。
啓動VNC server的命令是:

vncserver  < display >
  例如,
vncserver : 1
 

最後,需要配置一下防火牆,允許VNC客戶端連接VNC server。VNC server監聽的端口從5900開始,display :1的監聽5901,display :2監聽5902,以此類推。CentOs的防火牆缺省是不允許連接這些端口的,所以需要使用下面的步驟打開防火牆(需要root權限):

vi /etc/sysconfig/iptables
  找到下面的語句:

 

-A RH-Firewall-1-INPUT -j REJECT –reject-with icmp-host-prohibited

 

在此行之前,加上下面的內容:

-A RH-Firewall-1-INPUT -m state –state NEW -m tcp -p tcp –dport 5900:5903 -j ACCEPT
 

這句話的含義是,允許其它機器訪問本機的5900到5903端口,這樣,display:1, display:2, display:3的用戶就可以連接到本機。

然後使用root身份重新啓動防火牆:

/sbin/service iptables restart 
 

好了,現在就可以運行客戶端軟件,連接到VNC server上了。
VNC客戶端軟件很多,在linux下有vncviewer,KDE還提供了一個krdc(它的菜單項就是”Remote Desktop Connection”,遠程桌面連接)。
在window也有不少vnc客戶端,你可以到http://www.realvnc.com/ 去下載一個,安裝就可以用了。

假設VNC server的IP地址是192.168.1.1,display是:1。在VNC viewer的server欄中輸入:“192.168.1.1:1 ”,然後連接。OK,你可以看到自己的桌面了。以後不管你什麼時候關閉自己的本地PC機都不怕了,只要server不關機,你只要連接到VNC server,你就可以看到你前一天關閉本地PC機時的桌面還保持着原樣。

不過…這個桌面怎麼這麼醜?!
原來vncserver默認使用的窗口管理器是twm,這是一個很簡陋的窗口管理器,你可以把你的桌面改成GNOME或KDE。
方法是,進入你自己的home目錄,然後編輯這個文件:.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 8 0×24 + 10 + 10   - ls  - title  “ $VNCDESKTOP Desktop “   &
#twm  &
gnome - session  &
 


你可以把像上面這樣把”twm &”這一行註釋掉,然後在下面加入一行”gnome-session &”,或者是”startkde &”,分別啓動GNOME桌面和KDE桌面。

如果server重啓了,那你就需要重新運行一次vncserver命令來啓動VNC server,這很麻煩。有沒有更好的方法呢?

有!我們可以把VNC server啓動成後臺服務。執行如下步驟:

首先要允許VNC server在系統啓動過程中被啓動。這可以通過“系統設置–>服務器設置–>服務”菜單來配置,把vncserver一項選上就可以了。
如果使用命令行的話,以root身份運行以下兩條命令:

 

cd   / etc / rc5 . d
mv K35vncserver S35vncserver
 

然後編輯/etc/sysconfig/vncservers,以下是文件內容:

# The VNCSERVERS variable is a list of display:user pairs.
#
# Uncomment the line below to start a VNC server on display : 1
# 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
# <URL:http://www.uk.research.att.com/vnc/sshvnc.html>.

VNCSERVERS
= “ 1:user1 2:user2 3:user3 “
VNCSERVERARGS [ 1 ] = “ -geometry 1024×768 “
VNCSERVERARGS [ 2 ] = “ -geometry 1024×768 “
VNCSERVERARGS [ 3 ] = “ -geometry 800×600 “ 


解釋一下這個文件:
VNCSERVERS這一行是配置在系統啓動時啓動幾個VNC server,上面的例子裏運行了三個VNC server,其中user1在display :1,user2在display :2,user3在display :3。
VNCSERVERARGS這三行,分別爲VNC server 1, 2, 3配置啓動參數,上面的例子裏對user1和user2使用屏幕分辨率1024×768,對user3使用800×600。
其它支持的參數請使用“man vncserver”命令查詢。

編輯好這個文件後,保存,然後以root身份運行:

/sbin/service vncserver  start


這樣user1, user2, user3的vncserver就啓動了。
以後每次系統重啓時,都會自動啓動這三個用戶的vncserver。

注意:上面三個用戶必須已經使用vncpasswd命令設置過vnc密碼,不然他的vncserver啓動會失敗!

 

 

 

使用VNC View遠程訪問Linux,總是沒有辦法切換出SCIM輸入法,研究了很久,終於讓我找到了解決 方法

1)修改.vnc/xstartup文件,在最後一行加入:scim -d,意思爲打開SCIM輸入法

2)使用VNC View訪問Linux系統以後,修改scim輸入法的快捷鍵,因爲默認打開輸入法的快捷鍵爲ctrl+space,與本地機器上切換輸入法的快捷鍵衝突,系統 會先接收到本地的命令,所以沒辦法使用默認快捷鍵打開輸入法。將打開SCIM輸入法的快捷鍵修改爲Ctrl+Alt+Space。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章