2012-10-22

架設一台VNC Server(for CentOS 5.5 or 6.2)

架設一台VNC Server(for CentOS 5.5 or 6.2)


一、安裝與設定VNC Server

Step 1
安裝vnc-server package
(此為CentOS 5.5安裝package方式)
[root]$ yum install -y vnc-server

(此為CentOS 6.2安裝package方式)
[root]$ yum install -y tigervnc-server

Step 2
修改vnc-server設定檔
[root]$ vim /etc/sysconfig/vncservers

------------------------------------------------------------
#VNCSERVERS="2:myusername" #預設值
#VNCSERVERARGS[2]="-geometry 800x600 -nolisten tcp -nohttpd -localhost"

#指定vnc server要開啟的編號 (此處編號設定1)
VNCSERVERS="1:vncuser"

#以vnc server預設的基底port為5900,再加上編號1
#所以我們會開啟5901這個port給vncuser這個權限使用!

#指定vnc連接時的Xwindows解析度
VNCSERVERARGS[2]="-geometry 1024x768"
------------------------------------------------------------


Step 3
新增vncuser在Linux下的帳號與家目錄
[root]$ useradd -m vncuser


Step 4
切換權限到vncuser
[root]$ su vncuser


Step 5
指定vncuser的編號 (此處編號設定1),故登入時要使用5900+1=5901 port
[vncuser]$ vncserver :1


Step 6
設定vncuser登入時的密碼
[vncuser]$ vncpasswd


Step 7
設定vncuser登入時使用Gnome圖形介面 (此部驟在CentOS 6.2不用做)
[vncuser]$ vim ~/.vnc/xstartup

------------------------------------------------------------
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 &
------------------------------------------------------------
[vncuser]$ exit


Step 8
此時可以看到5901 port已在使用,並且也啟動了相關的ports
[root]$ netstat -tulnp | grep X

------------------------------------------------------------
tcp 0 0 0.0.0.0:5901 0.0.0.0:* LISTEN 13945/Xvnc
tcp 0 0 0.0.0.0:6001 0.0.0.0:* LISTEN 13945/Xvnc
tcp 0 0 :::6001 :::* LISTEN 13945/Xvnc
------------------------------------------------------------


Step 9
開啟防火牆的5091 port
[root]$ iptables -A INPUT -i eth0 -s 0.0.0.0 -p tcp --dport 5901 -j ACCEPT
[root]$ /etc/init.d/iptables save


Step 10
若要讓系統重開機後vnc server會自動啟動的話,請執行:
[root]$ chkconfig vncserver on



二、額外新增VNC Server的登入帳號
Step 11
我們來新增一個mis的帳號吧!
[root]$ useradd -m mis


Step 12
修改vncserver config檔! 讓每次重新啟動OS會自行開啟ports讓使用VNC的使用者連線
[root]$ vim /etc/sysconfig/vncservers

------------------------------------------------------------
#指定使用者mis要開啟的編號 (此處編號設定2)
VNCSERVERS="1:vncuser 2:mis"

#以vnc server預設的基底port為5900,再加上編號2
#所以我們會開啟5902這個port給mis這個權限使用!

VNCSERVERARGS[2]="-geometry 1024x768"
------------------------------------------------------------


Step 13
切換權限到mis
[root]$ su mis


Step 14
指定mis的編號 (此處編號設定2),故登入時要使用5900+2=5902 port
[mis]$ vncserver :2


Step 15
設定mis登入時的密碼
[mis]$ vncpasswd


Step 16
設定mis登入時使用Gnome圖形介面 (此部驟在CentOS 6.2不用做)
[mis]$ vim ~/.vnc/xstartup

------------------------------------------------------------
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 &
------------------------------------------------------------
[mis]$ exit


Step 17) 開啟防火牆的5092 port
[root]$ iptables -A INPUT -i eth0 -s 0.0.0.0 -p tcp --dport 5902 -j ACCEPT 
[root]$ /etc/init.d/iptables save



三、移除VNC的登入帳號
Step 18
我們來把剛剛新增的mis的帳號移除吧!
[root]$ userdel -r mis


Step 19
將mis所屬的編號給移除,此時5902 port就無法使用VNC連線了。
[root]$ vncserver -kill :2


Step 20
修改vncserver config檔! 移除mis這個vnc的登入port
[root]$ vim /etc/sysconfig/vncservers

------------------------------------------------------------ 
#我們移除了2:misVNCSERVERS="1:vncuser"
VNCSERVERARGS[2]="-geometry 1024x768"
------------------------------------------------------------


Step 21
移除防火牆的5092 port
[root]$ iptables -D INPUT -i eth0 -s 0.0.0.0 -p tcp --dport 5902 -j ACCEPT
[root]$ /etc/init.d/iptables save

沒有留言:

張貼留言