本文來源於:http://wenda.tianya.cn/wenda/thread?tid=3be1f26dea527034
網絡遙控技術是指由一部計算機(主控端)去控制另一部計算機(
VNC(Virtual Network Computing)是一套由AT&
(在windows中也由一套著名的網絡遙控軟件――
VNC server與VNC viewer支持多種操作系統,如Unix系列(Unix,
整個VNC運行的工作流程如下:
(1) VNC客戶端通過瀏覽器或VNC Viewer連接至VNC Server。
(2) VNC Server傳送一對話窗口至客戶端,要求輸入連接密碼,
(3) 在客戶端輸入聯機密碼後,VNC Server驗證客戶端是否具有存取權限。
(4) 若是客戶端通過VNC Server的驗證,客戶端即要求VNC Server顯示桌面環境。
(5) VNC Server通過X Protocol 要求X Server將畫面顯示控制權交由VNC Server負責。
(6) VNC Server將來由 X Server的桌面環境利用VNC通信協議送至客戶端,
『VNC的安裝與使用』
本人的操作環境:被控端 Redhat9.0,主控端Windows XP。
1. 載VNC Server
VNC Server下載地址:http://gwbn.
2.安裝。
vnc-3.3.7-x86_linux.tar.gz (如果是源代碼請看包裏的說明),
3.在Linux上啓動VNC Server
執行vncserver命令:
[root@linux root]# vncserver
You will require a password to access your desktops.
Password: —-爲了不想任何人都可以任意遙控此計算機。因此當第
Verify: —1次啓動VNC server時,會要求設置網絡遙控的密碼。
New ‘X’ desktop is linux:1 —-一定要記住這一行稍後會用到。
Creating default startup script /root/.vnc/xstartup
Starting applications specified in /root/.vnc/xstartup
Log file is /root/.vnc/linux:1.log
(經上述步驟後,便已啓動了VNC Server。如果你想要更改VNC Server的密碼,只要執行vncpasswd命令即可。)
5. 從瀏覽器遠程遙控。
啓動VNC Server 後直接打開瀏覽器,在地址欄中輸入被控端的網址或IP地址,
例如:http://192.168.01.:5801 (如果顯示編號爲1,一般第一次設置的顯示編號都是1,
如果看到窗口,就說明你成功,在密碼框輸入密碼,
6.FAQ
A. 如何以圖形界面登錄被控端?
編輯~/.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 80×24+10+10 -ls -title “$VNCDESKTOP Desktop” &
gnome-session &
startkde &
twm &
gnome-session是啓動Gnome圖形界面;
A. 如何開機時自動啓動vnc服務
打開“系統設置”–>”服務器設置”–>”服務”,
修改 /etc/sysconfig/vncservers
VNCSERVERS=”1:root 2:phred 3:sysadmin” 1代表“桌面1”,root代表用戶名;可同時啓動多個用戶桌面
VNCSERVERARGS[1]=”-geometry 800×600 -alwaysshared -depth 24″
-alwaysshared代表允許多用戶同時登錄 -depth代爲色深,參數有8,16,24,32。
A.爲什麼連接後,不能顯示桌面,
試着修改/root/.vnc/xstartup,把最後一行 twm& 改成 gnome-session& or kde&(據說KDE在目前的VNC Viewer上的表現不太穩定)
B. 爲什麼重新啓動VNC Server後,連接不上了?
因爲重新啓動VNC Server時,系統會指定一個新的顯示編號,
——————————————————————————————
查看vnc已啓用的桌面號及監聽進程
[root@linux /]# netstat -tlnp |grep vnc
vncserver 命令帶有一些很有用的參數,用vncserver –help 查看。
簡單解釋一下:
vncserver [:] [-name ] [-geometry x] [-depth ]
[-pixelformat format]
vncserver -kill :display
:
vnc服務的display號,可以自行指定,
vncserver :99
使用時必須輸入正確的display號才能連接;
-name 指定vncserver桌面名字
比如要讓名字顯示爲 “紅帽”
vncserver -name 紅帽
-geometry x指定顯示桌面的分辨率,默認爲1024×768
vncserver -geometry 800×600
這個命令實際中很有用,例如本地分辨率爲1024×768 如果不設定遠程vnc服務分辨率就會造成桌面顯示不全的問題。
-depth 指定顯示顏色,設定範圍8~32
vncserver -depth 16
用16bits顏色顯示
-pixelformat 指定色素格式 與-depth大致相同,只是表示方法不一樣
vncserver -pixelformat RGB888
用24bits顏色顯示
vncserver -kill :display
結束vnc服務及遠程桌面
vncserver -kill :1
其它更詳細的使用請用man查看。
vnc內定的窗口管理器是twm與大家使用的可能不同,
修改用戶目錄下的 .vnc/xstartup 文件
#!/bin/sh
[ -r $HOME/.Xresources ] && xrdb $HOME/.Xresources
xsetroot -solid grey
vncconfig -iconic &
xterm -geometry 80×24+10+10 -ls -title “$VNCDESKTOP Desktop” &
twm &
將#!/bin/sh後面的內容全部註釋掉,改成
~/.Xclients
保存文件
現在可以測試修改是否成功,先kill vncserver服務
vncserver -kill :
或
pa aux|grep Xvnc
kill PID
重新啓動vncserver ,
在前面有vnc server 設置的文章(http: //bbs.chinaunix.net/forum/
1. 口令傳輸是明文,很容易被偵聽到.
2. 防火牆需要打開59xx端口,
幸運的是,我們有ssh這個強大的工具,象X11
假設vncserver運行在服務器 myserver (
情形一: vnc客戶端爲linux
這種情形很簡單,
1. 用ssh登錄到服務器
ssh -L 5901:localhost:5901 -lfoo myserver
或者直接用ip地址
ssh -L 5901:localhost:5901 -lfoo 192.168.x.x
2. 在本機的另外開的終端上,運行vncviewer (
vncviewer localhost:1