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