2012年10月29日 星期一

在 CentOS 5.8 Final 及 6.3 的環境上啟動 VNCServer

2012/11/4 更新

因為網路上的文章大多不合初學的朋友.
於是自己整理了一下,希望大家一同研究研究.
(也為自己保存一份筆記 ^^)

我是在 VMESXI 5.1 上 , CentOS 5.8 及 6.3 測試的.
如果不會為 CentOS 中有關防火牆,開端口的話... 直接先關掉好了.

而下邊步驟中所需要修改的檔案,在不存時.
請先跳往下一步驟,再回去看看.

同時下面所用的 vi 指令,也可以用任何一套文字編輯器代替.

好請先用 root 賬號登入.


1).查看主機上是否有 VNCServer 套件
---------------------------------
# rpm -qa|grep vnc
vnc-server-4.1.2-9.el5
vnc-4.1.2-9.el5

沒有 的話:
# yum -y install vnc vnc-server   //使用自己下載好的套件 (推薦)

# yum -y install tigervnc-server //搜尋內建的套件



2).設定 VNCServer 登入密碼 (6 至 8 位)
-------------------------
# vncpasswd
Password:       //輸入密碼
Verify:         //重複輸入密碼

# su user       //轉換到 user (其他用戶的名字)
# vncpasswd
Password:
Verify:




3).第一次啟動 VNCServer
----------------------
啟動 VNCServer
# service vncserver start (推薦)

# /etc/rc.d/init.d/vncserver start


*** 看到 "正在啟動 VNC 伺服器 : no display configured  [失敗]" 是正常的,因為我們就是要先啟動 VNC SERVER 來使她先產生出下面我們所需要的檔案.



4).修改 VNCServer 設定檔
-----------------------
a) Centos 5.8 之設定:
# vi /etc/sysconfig/vncservers

# VNCSERVERS="1:myusername" 修改成 VNCSERVERS="1:root"
# VNCSERVERARGS[1]="-geometry 1024x768 -depth 16"修改成想要的解析度

也可以這樣改..
VNCSERVERS="2000:root"
VNCSERVERARGS[2000]="-geometry 1024x768 -depth 16"
那 root 使用的埠號就變成 5900+2000 = 7900

b) CentOS 6.3 和 5.8 不同之處:
其中 Centos6.3  原裝是  VNCSERVERARGS[2]="-geometry 800x600 -nolisten tcp -locahost"

   中 {-nolisten tcp -locahost} 這個位置是用代表內部 IP:127.0.0.0 ! 如果直接用之,不加修改的話...就只能在本機用 127.0.0.0:xx 進入 VNC . 因此請先行用上述,全句替換.

c) 多加用戶設定:
如: VNCSERVERS="1:root 2:tom 3:meimei 4:baby"   //tom 指定連接的埠號是 2,屆時 tom 就要用 5900+2 = 5902 來連線
同時各用戶的 xstartup 設定檔也要像,上面第2步一樣在修改.
因為每一個用戶的 xstartup 檔案,也是自家專用分開而獨立的.

別外指令
-geometry         //表示要使用 XWindow 開啟
1024x768             //指定連接到 XWindow 所要使用的解析度
-depth 16             //指定 XWindow 色彩品質的 bit 參數 (這個沒有列在範列裡)
-nolisten tcp        //禁止使用 tcp 連線登入
-nohttpd             //禁止使用瀏覽器登入
-localhost         //指定使用本機端登入
-alwaysshared //允許多使用者同時登入 (這個沒有列在範列裡)



5).修改 X 設定檔 ( x = 用戶名字 , 如:root)
-----------------------
# vi ~/.vnc/xstartup     //指 root/.vnc/xstartup 文檔
取消以下兩行前面的 #

# unset SESSION_MANAGER
# exec /etc/X11/xinit/xinitrc
 也就是改為
unset SESSION_MANAGER
exec /etc/X11/xinit/xinitrc


6.啟動與關閉 VNCServer
----------------------
啟動 VNCServer
# service vncserver start (推薦)

# /etc/rc.d/init.d/vncserver start

可看到:
正在啟動 VNC 伺服器: 1:root
New 'mailagent:1 (root)' desktop is mailagent:1

Starting applications specified in /root/.vnc/xstartup
Log file is /root/.vnc/mailagent:1.log

[ 確定 ]
  *************************************
關閉 VNCServer
# service vncserver stop (推薦)

# /etc/rc.d/init.d/vncserver stop

可看到:
正在關閉 VNC 伺服器: 1:root [ 確定 ]


6.用 IE 或 VNC Client 連線
--------------------------
利用 IE 連上 vncserver 的時候會執行 java applet,
所以 client 端一定要先安裝 JVM 相關軟體

如:先前 的 root 賬號的設定 VNCSERVERS="1:root 2:tom 3:meimei 4:baby"
CentOS 主機的 IP: 192.168.1.1
那麼:
http://192.168.1.1:5801/ --> 用IE連線

192.168.1.1:1 -------------> VNC Client 連線
那麼, baby 賬號 : http://192.168.1.1:5804/ --> 用IE連線

192.168.1.1:4 -------------> VNC Client 連線


7.開機自動啟動VNCServer
----------------------------
== 查詢狀況 ==
# chkconfig vncserver --list
vncserver 0:off 1:off 2:on 3:on 4:on 5:on 6:off

== 開機時啟動 ==
# chkconfig vncserver on

== 手動啟動 ==
# service vncserver start
# service vncserver stop
# service vncserver restart


祝:大福

友:小漢上

沒有留言:

張貼留言