VNC簡介:
VNC是Linux/UNIX下優秀的遠端桌面控制軟體,由客戶端(vncviewer)和服務端(vncserver)兩部分組成。
安裝軟體包:
[root@localhost ~]# yum install -y tigervnc
[root@localhost ~]# yum install -y tigervnc-server
配置前的準備工作:
正式配置VNC服務前,先新增幾個系統賬號用於測試。
[root@localhost ~]# useradd user1
[root@localhost ~]# useradd user2
[root@localhost ~]# useradd user3
可以不用設定密碼,當然,你想設定也可以。
服務配置:
編輯VNC主配置檔案。
[root@localhost ~]# vim /etc/sysconfig/vncservers
在檔案末尾找如下兩行。
# VNCSERVERS="2:myusername"
# VNCSERVERARGS[2]="-geometry 800x600 -nolisten tcp -localhost"
複製一份,或者直接去掉這兩行前面的註釋也可以,修改為如下形式。
VNCSERVERS="1:user1 2:user2"
VNCSERVERARGS[1]="-geometry 800x600 -nolisten tcp -localhost"
VNCSERVERARGS[2]="-geometry 800x600 -nolisten tcp -localhost"
其中VNCSERVERS選項用以指定允許遠端登入的使用者名稱及該使用者的編號,VNCSERVERARGS選項後面接使用者編號,其後定義的是該使用者遠端登入的引數。
VNCSERVERARGS的預設引數有如下幾個:
-geometry 桌面解析度,預設1024x768;
-nohttpd 不監聽HTTP埠(58xx埠);
-nolisten tcp 不監聽X埠(60xx埠);
-localhost 只允許從本機訪問;
-AlwaysShared 預設只同時允許一個vncviewer連線,此引數允許同時連多個vncviewer;
-SecurityTypes None 登入不需要密碼認證VncAuth預設值,要密碼認證。
啟動服務:
先切換到各個賬戶下為他們分別配置VNC密碼,此密碼可以與使用者系統賬戶密碼不同。(嘗試過在root使用者下為他們統一配置密碼,發現行不通。。。)
[root@localhost ~]# su user1
[user1@localhost root]$ vncpasswd
Password: #要求輸入密碼
Verify: #要求再次輸入密碼
user2使用者也要按照上面的方法配置VNC密碼。
最後切換回root使用者,在保證防火牆已關閉的情況下統一開啟VNC服務,此時VNC程序會自動生成使用者的VNC服務配置檔案及日誌檔案到使用者家目錄的.vnc/下。
[root@localhost ~]# service vncserver start
正在啟動 VNC 伺服器:
1:user1
New 'localhost.localdomain:1 (user1)' desktop is localhost.localdomain:1
Starting applications specified in /home/user1/.vnc/xstartup
Log file is /home/user1/.vnc/localhost.localdomain:1.log
2:user2
New 'localhost.localdomain:2 (user2)' desktop is localhost.localdomain:2
Starting applications specified in /home/user2/.vnc/xstartup
Log file is /home/user2/.vnc/localhost.localdomain:2.log
注意第四行,其中的desktop is localhost.localdomain:1是告訴你,user1的VNC程序號是1,訪問此VNC桌面的方法就是IP:1。而user2的程序號則是2,觀察倒數第四行(算上空行~)。
如果你只想為某一使用者啟用VNC程序,可以切換到該使用者的身份上,執行vncserver命令。注:使用此方法啟用VNC服務後,在root使用者下就不能再使用service命令來關閉VNC伺服器了,必須使用kill -9暴力殺死使用者的VNC伺服器程序。
[root@localhost ~]# su user1
[user1@localhost root]$ vncserver
New 'localhost.localdomain:3 (user1)' desktop is localhost.localdomain:3
Starting applications specified in /home/user1/.vnc/xstartup
Log file is /home/user1/.vnc/localhost.localdomain:3.log
為使用者指定預設桌面環境:
編輯user1的VNC配置檔案。
[root@localhost ~]# vim /home/user1/.vnc/xstartup
轉至檔案末尾,找到下面一行。
twm & #指定預設使用文字介面
將其修改為以下任意一種形式,根據自己的需求選擇,不要把兩個都加上,如果你那麼幹了,那我只能感慨你是個大傻瓜了。
startkde & #指定預設使用KDE桌面環境
gnome-session & #指定預設使用Gnome桌面環境
使用客戶端連線VNC伺服器:
可以使用Windows下的VNC客戶端,本實驗中我在另一臺安裝有Desktop的CentOS6.5上使用客戶端連線VNC。
安裝VNC客戶端,並連線VNC伺服器,這裡我連線user2的VNC服務。
[root@localhost ~]# yum install -y vnc
[root@localhost ~]# vncviewer 192.168.1.101:2
之後會彈出一個視窗要求你輸入VNC的密碼。
輸入後按回車鍵就可以連線VNC桌面啦!
我這裡出現亂碼不是VNC配置的問題,而是因為安裝系統的時候選擇了系統語言為中文,但Desktop下卻沒有安裝中文字型。上圖中,gnmoe桌面的系統工具提醒我安裝zh-cn字型,那我就安裝一下吧!可以看到,安裝後立刻正常了~