*? from: http://heli.bokee.com/1453085.html
VNC使用小記
?VNC本身就是為了跨平臺(tái)的遠(yuǎn)程控制誕生的,具有很多優(yōu)秀的性質(zhì),如小巧,跨平臺(tái)等等。我們這里一方面介紹VNC在Windows平臺(tái)下面的使用,另一方面介紹VNC在Linux平臺(tái)里面的使用。
- Windows下面VNC的使用
- Linux下面VNC的使用
Windows下面VNC的使用
正如Windows里面大多數(shù)遠(yuǎn)程控制軟件一樣,VNC安裝好以后會(huì)產(chǎn)生一個(gè)系統(tǒng)服務(wù),設(shè)置好系統(tǒng)托盤區(qū)那個(gè)圖標(biāo)進(jìn)去的密碼,并允許你的網(wǎng)絡(luò)防火墻打開相應(yīng)的端口即可。使用那個(gè)端口,我也不記得了,
netstat -an
看看吧。
Linux下面VNC的使用
使用vnc主要用到下面幾個(gè)命令,首先設(shè)置自己的密碼,可以用vncpasswd,它將創(chuàng)建~/.vnc/passwd文件。然后打開服務(wù),這不要求你是管理員。
vncserver -depth 24 -geometry 800x600
更詳細(xì)的參數(shù)可以看看man page。打開后可以退出登錄,不會(huì)關(guān)閉該進(jìn)程。如果想關(guān)閉,可以使用
vncserver -kill :1
其中的1可以為其他,這相當(dāng)于X里面的編號(hào),在啟動(dòng)的時(shí)候會(huì)有顯示。
然后就可以連接到該VNC Server了,使用
vncviewer 10.20.40.65 :1
值得注意的是,默認(rèn)情況下vnc啟動(dòng)的是twm這個(gè)簡易的窗口管理器,如果你需要不同的管理器,如GNOME,KDE,或者WindowMaker等等,你可以在~/.vnc/xstartup文件里面更改,這個(gè)文件和.xinitrc類似。
* ?from: http://blog.csdn.net/anonfan/archive/2006/11/29/1420890.aspx
VNC基本上是由兩部分組成:一部分是客戶端的應(yīng)用程序(vncviewer);另外一部分是服務(wù)
器端的應(yīng)用程序(vncserver)。VNC的基本運(yùn)行原理和一些Windows下的遠(yuǎn)程控制軟件很相
象。VNC的服務(wù)器端應(yīng)用程序在UNIX和Linux操作系統(tǒng)中適應(yīng)性很強(qiáng),圖形用戶界面十分友好,
看上去和Windows下的軟件界面也很類似。在任何安裝了客戶端的應(yīng)用程序(vncviewer)的
Linux平臺(tái)的計(jì)算機(jī)都能十分方便的和安裝了服務(wù)器端的應(yīng)用程序(vncserver)的計(jì)算機(jī)
相互連接。另外,服務(wù)器端 (vncserver)還內(nèi)建了JavaWeb接口,這樣用戶通過服務(wù)器端對(duì)
其他計(jì)算機(jī)的操作就能通過firefox等瀏覽器顯示出來了,這樣的操作過程和顯示方式比較
直觀方便。
服務(wù)器端設(shè)置
一、linux系統(tǒng)
安裝VNC和VNC-server兩個(gè)rpm包,也有tar包下載,但為了方便還是用了rpm包。
安裝完兩個(gè)包后:
1、運(yùn)行“vncserver”命令正式將一個(gè)xdm作為VNC服務(wù)器,這時(shí)會(huì)出現(xiàn)“New "x" desktop
is hostname"1”之類的話,其中最后的“1”表示這是第一個(gè)VNC的圖形界面,如果再運(yùn)行一
次“vncserver”命令,則會(huì)出現(xiàn)“New "x" desktop is hostname"2"”,最后的2表示這
是第二個(gè)圖形界面。如此類推,再運(yùn)行再增加......
?
2、server端的設(shè)置就是這么簡單,但如果你不想用xdm而想用更漂亮的gdm或kdm的話,就要作
一些修改了:編輯~/.vnc/xstartup文件,該文件在第一次運(yùn)行“vncserver”命令的時(shí)候自
動(dòng)產(chǎn)生。將xstartup文件中的默認(rèn)未被禁用的行用“#”全部注釋掉,把默認(rèn)用“#”注釋掉了的
行取消注釋,如下所示即可。
?#!/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 80x24+10+10 -ls -title "$VNCDESKTOP Desktop" & #twm &
|
3、可以在/usr/local/bin/vncserver中更改分辨率和色度。(也可能是/usr/bin/vncserver
中,可用“whick vncserver”看看哪個(gè)才是你真正在用的“vncserver”。
4、配置VNC自動(dòng)啟動(dòng)。在/etc/sysconfig 下有一個(gè)vncservers 的配置文件。修改成如下:
VNCSERVERS="1:root"
意思就是使用ip:1即可使用root的用戶桌面。 而在屏幕上不顯示。
使用chkconfig --level 3 vncserver 即可在啟動(dòng)時(shí)加載vncserver
5,vncserver可以帶參數(shù)運(yùn)行,請(qǐng)看下面的例子。
以分辨率 800x600 啟動(dòng)vncserver : vncserver -geometry 800x600
以16位色深啟動(dòng)vncserver : vncserver -depth 16
讓vncserver允許所有客戶機(jī)共享接入同一桌面: vncserver -alwaysshared (這種啟動(dòng)
方式可作簡單的視頻會(huì)議,或遠(yuǎn)程教學(xué))
vncserver默認(rèn)啟動(dòng)的vnc服務(wù)器有新連接請(qǐng)求時(shí)會(huì)斷開舊的連接,若想讓vncserver拒絕新
連接請(qǐng)求保持舊的連接 : vncserver -dontdisconnect
以上參數(shù)可配合使用。
二、windows系統(tǒng)
windows版本的VNC更簡單,下載VNC的exe文件,雙擊安裝,安裝過程和其它windows的軟件
沒有什么不同,一路next。最后選擇是否產(chǎn)生快捷方式和開機(jī)自動(dòng)運(yùn)行等即可。
在桌面雙擊VNC SERVER圖標(biāo),填入密碼,按確定即可。其默認(rèn)的listen端口是3900。
客戶端設(shè)置
一般來說,我們會(huì)使用windows作客戶端(因?yàn)閘inux的xwindow其實(shí)已經(jīng)是一個(gè)能共享桌面的
服務(wù)器)。
一、windows:雙擊桌面的VNC VEIWER圖標(biāo)。
?? linux:在Xwindow中運(yùn)行vnccleint命令。
二、以下對(duì)windows和linux來說都是一樣的:
在彈出的對(duì)話框中填入server的ip,
1、server端是windows的話,直接填I(lǐng)P即可;
2、server端是linux的話,必須填上“IP:數(shù)字”,其中的“數(shù)字”是第幾個(gè)圖形界面。
(在上面linux server端的第二點(diǎn)有談過這問題)。
比如:192.168.0.99:1或192.168.0.99:2
3、輸入在server端設(shè)置的密碼即可。
4、如果您的Linux系統(tǒng)中安裝了Java classes,您可以啟動(dòng)firefox等瀏覽器來連接
vncserver,然后輸入以下URL:
http://xxx. xxx.xxx.xxx:5801
xxx.xxx.xxx.xxx是您計(jì)算機(jī)的IP地址或者主機(jī)名。
* from: http://www.x5dj.com/Blog/00550659/00422691.shtml
vnc使用
網(wǎng)絡(luò)遙控技術(shù)是指由一部計(jì)算機(jī)(主控端)去控制另一部計(jì)算機(jī)(被控端),而且當(dāng)主控端在控制端時(shí),就如同用戶親自坐在被控端前操作一樣,可以執(zhí)行被控端的應(yīng)用程序,及使用被控端的系統(tǒng)資源。 VNC(Virtual Network Computing)是一套由AT&T實(shí)驗(yàn)室所開發(fā)的可操控遠(yuǎn)程的計(jì)算機(jī)的軟件,其采用了GPL授權(quán)條款,任何人都可免費(fèi)取得該軟件。VNC軟件主要由兩個(gè)部分組成:VNC server及VNC viewer。用戶需先將VNC server安裝在被控端的計(jì)算機(jī)上后,才能在主控端執(zhí)行VNC viewer控制被控端。 (在windows中也由一套著名的網(wǎng)絡(luò)遙控軟件――Symantec公司推出的pcAnywhere。 VNC server與VNC viewer支持多種操作系統(tǒng),如Unix系列(Unix,Linux,Solaris等),windows及MacOS,因此可將VNC server 及VNC viewer分別安裝在不同的操作系統(tǒng)中進(jìn)行控制。如果目前操作的主控端計(jì)算機(jī)沒有安裝VNC viewer,也可以通過一般的網(wǎng)頁瀏覽器來控制被控端。 整個(gè)VNC運(yùn)行的工作流程如下: (1) VNC客戶端通過瀏覽器或VNC Viewer連接至VNC Server。 (2) VNC Server傳送一對(duì)話窗口至客戶端,要求輸入連接密碼,以及存取的VNC Server顯示裝置。 (3) 在客戶端輸入聯(lián)機(jī)密碼后,VNC Server驗(yàn)證客戶端是否具有存取權(quán)限。 (4) 若是客戶端通過VNC Server的驗(yàn)證,客戶端即要求VNC Server顯示桌面環(huán)境。 (5) VNC Server通過X Protocol 要求X Server將畫面顯示控制權(quán)交由VNC Server負(fù)責(zé)。 (6) VNC Server將來由 X Server的桌面環(huán)境利用VNC通信協(xié)議送至客戶端,并且允許客戶端控制VNC Server的桌面環(huán)境及輸入裝置。
『VNC的安裝與使用』 本人的操作環(huán)境:被控端 Redhat9.0,主控端Windows XP。 1. 載VNC Server VNC Server下載地址:http://gwbn.onlinedown.net/soft/1271.htm
2.安裝。 vnc-3.3.7-x86_linux.tar.gz (如果是源代碼請(qǐng)看包里的說明),當(dāng)下載了VNC的Linux版本后,可以解壓文件到一個(gè)文件夾中,例如/home/vnc,然后復(fù)制文件vncserver、 vncpasswd和Xvnc到/usr/bin目錄中。假如想要能夠通過VNC服務(wù)器的整合Java界面遠(yuǎn)程控制Linux電腦,也得需去建立一個(gè)子目錄/usr/local/vnc/classes。在建立此子目錄之后,復(fù)制VNCJava.class文件到此目錄中。(一般redhat 9.0自帶以上文件,所以直接用終端執(zhí)行就可以)。 3.在Linux上啟動(dòng)VNC Server 執(zhí)行vncserver命令: [root@linux root]# vncserver You will require a password to access your desktops. Password: ----為了不想任何人都可以任意遙控此計(jì)算機(jī)。因此當(dāng)?shù)? Verify: ---1次啟動(dòng)VNC server時(shí),會(huì)要求設(shè)置網(wǎng)絡(luò)遙控的密碼。 New ‘X’ desktop is linux:1 ----一定要記住這一行稍后會(huì)用到。 Creating default startup script /root/.vnc/xstartup Starting applications specified in /root/.vnc/xstartup Log file is /root/.vnc/linux:1.log (經(jīng)上述步驟后,便已啟動(dòng)了VNC Server。如果你想要更改VNC Server的密碼,只要執(zhí)行vncpasswd命令即可。)
5. 從瀏覽器遠(yuǎn)程遙控。 啟動(dòng)VNC Server 后直接打開瀏覽器,在地址欄中輸入被控端的網(wǎng)址或IP地址,并在網(wǎng)址后加上“:5800+顯示編號(hào)”的端口號(hào)即可操控該計(jì)算機(jī)。 例如:http://192.168.01.:5801 (如果顯示編號(hào)為1,一般第一次設(shè)置的顯示編號(hào)都是1,就用5800+1=5801。)
如果看到窗口,就說明你成功,在密碼框輸入密碼,就能遠(yuǎn)程控制了。
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 80x24+10+10 -ls -title "$VNCDESKTOP Desktop" & gnome-session & startkde & twm &
gnome-session是啟動(dòng)Gnome圖形界面;startkde是啟動(dòng)KDE圖形界面;twm是啟動(dòng)文本界面。三者選其一。
A. 如何開機(jī)時(shí)自動(dòng)啟動(dòng)vnc服務(wù)
打開“系統(tǒng)設(shè)置”-->"服務(wù)器設(shè)置"-->"服務(wù)",勾選上vncserver,“保存”。
修改 /etc/sysconfig/vncservers
VNCSERVERS="1:root 2:phred 3:sysadmin" 1代表“桌面1”,root代表用戶名;可同時(shí)啟動(dòng)多個(gè)用戶桌面 VNCSERVERARGS[1]="-geometry 800x600 -alwaysshared -depth 24"
-alwaysshared代表允許多用戶同時(shí)登錄 -depth代為色深,參數(shù)有8,16,24,32。
A.為什么連接后,不能顯示桌面,而只有一個(gè)Terminal窗口? 試著修改/root/.vnc/xstartup,把最后一行 twm& 改成 gnome-session& or kde&(據(jù)說KDE在目前的VNC Viewer上的表現(xiàn)不太穩(wěn)定)
B. 為什么重新啟動(dòng)VNC Server后,連接不上了? 因?yàn)橹匦聠?dòng)VNC Server時(shí),系統(tǒng)會(huì)指定一個(gè)新的顯示編號(hào),需使用此新的編號(hào),否則就無法連接
--------------------------------------------------------------------------------------------------------------------------------
查看vnc已啟用的桌面號(hào)及監(jiān)聽進(jìn)程
[root@linux /]# netstat -tlnp |grep vnc
vncserver 命令帶有一些很有用的參數(shù),用vncserver --help 查看。 簡單解釋一下: vncserver [:] [-name ] [-geometry x] [-depth ] [-pixelformat format] vncserver -kill :display
: vnc服務(wù)的display號(hào),可以自行指定,盡量不要使用系統(tǒng)默認(rèn)的以保證安全,必須為非0的正整數(shù) vncserver :99 使用時(shí)必須輸入正確的display號(hào)才能連接;用瀏覽器要在端口號(hào)加上display號(hào),默認(rèn)端口5800,遠(yuǎn)程連接輸入 XXX.XXX.XXX.XXX:5899
-name 指定vncserver桌面名字 比如要讓名字顯示為 “紅帽” vncserver -name 紅帽
-geometry x指定顯示桌面的分辨率,默認(rèn)為1024x768 vncserver -geometry 800x600 這個(gè)命令實(shí)際中很有用,例如本地分辨率為1024x768 如果不設(shè)定遠(yuǎn)程vnc服務(wù)分辨率就會(huì)造成桌面顯示不全的問題。
-depth 指定顯示顏色,設(shè)定范圍8~32 vncserver -depth 16 用16bits顏色顯示
-pixelformat 指定色素格式 與-depth大致相同,只是表示方法不一樣 vncserver -pixelformat RGB888 用24bits顏色顯示
vncserver -kill :display 結(jié)束vnc服務(wù)及遠(yuǎn)程桌面 vncserver -kill :1 其它更詳細(xì)的使用請(qǐng)用man查看。
vnc內(nèi)定的窗口管理器是twm與大家使用的可能不同,通過修改vnc的配置文件可以更換為自己喜歡的,方法如下: 修改用戶目錄下的 .vnc/xstartup 文件 #!/bin/sh [ -r $HOME/.Xresources ] && xrdb $HOME/.Xresources xsetroot -solid grey vncconfig -iconic & xterm -geometry 80x24+10+10 -ls -title "$VNCDESKTOP Desktop" & twm & 將#!/bin/sh后面的內(nèi)容全部注釋掉,改成 ~/.Xclients 保存文件 現(xiàn)在可以測試修改是否成功,先kill vncserver服務(wù) vncserver -kill : 或 pa aux|grep Xvnc kill PID 重新啟動(dòng)vncserver ,用vncviewer連接遠(yuǎn)程桌面是不是已經(jīng)變成自己喜歡的類型了。
在前面有vnc server 設(shè)置的文章(http: //bbs.chinaunix.net/forum/viewtopic.php?t=368552&highlight=yunqing) 里, 我們已經(jīng)可以在一個(gè)linux的服務(wù)器上運(yùn)行vncserver來進(jìn)行遠(yuǎn)程訪問了,但需要注意的是,如果直接使用vncviewer來進(jìn)行訪問,有 兩點(diǎn)不利因素: 1. 口令傳輸是明文,很容易被偵聽到. 2. 防火墻需要打開59xx端口,這在通常的單位里是不可能的. 幸運(yùn)的是,我們有ssh這個(gè)強(qiáng)大的工具,象X11 Forwarding(另文論述),我們可以使用ssh隧道來保護(hù)通訊過程,下面就進(jìn)行簡單介紹.
假設(shè)vncserver運(yùn)行在服務(wù)器 myserver (ip地址為:192.168.x.x)的屏幕1,也就是偵聽 192.168.x.x:5901, 用戶名為foo
情形一: vnc客戶端為linux 這種情形很簡單,一般的linux發(fā)行版本里面都默認(rèn)安裝了ssh套件. 1. 用ssh登錄到服務(wù)器
ssh -L 5901:localhost:5901 -l foo myserver
或者直接用ip地址
ssh -L 5901:localhost:5901 -l foo 192.168.x.x
2. 在本機(jī)的另外開的終端上,運(yùn)行vncviewer (或其它的類似工具) vncviewer localhost:1
情形二: vnc客戶端為windows 1. 下載一個(gè)ssh客戶端,個(gè)人推薦putty,只有一個(gè)程序,不需要安裝,簡單而功能齊全. 到這里下載http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html 下載putty.exe到桌面上直接運(yùn)行即可。 2. 運(yùn)行putty,輸入服務(wù)器的ip地址,輸入一個(gè)名字,這里myserver作為session的名字,按save保存。見附圖一 3. 單擊對(duì)話框左邊的tunnels來選擇相關(guān)設(shè)置,在source port里輸入5901,在Destination里輸入localhost:5901,按Add添加,如附圖二 4. 單擊左邊session,回到session設(shè)置,按save重新保存。按open即可登錄到服務(wù)器。 5. 運(yùn)行vnc-viewer (如果沒有,到這里下載http://www.realvnc.com/download.html,只要一個(gè) exe的文件就行),在Server里輸入localhost:1,見附圖三, 輸入口令后一個(gè)linux的桌面就會(huì)出現(xiàn)在windows里,并且是非常 安全的,Cool
|