2012年11月23日 星期五

在 CentOS 5.8 Final 及 6.3 VNCServer 登出後的問題


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

我是在 VMESXI 5.1 上 , CentOS 5.8 及 6.3 測試的.

如果,真的有用戶不識相,真的在 VNC 用戶端登出的話,
(包括用 VNC Viewer 或 瀏覽器) 都會使該名用戶的
VNC 端口進入 " 自閉 " 狀態.

解決方法:
1) 由其他賬戶端 (包括 ROOT) 登入系統.可以是直接到
系統的電腦跟前或經 VNC Server ,開動終端機攪入...

# service vncserver stop
# service vncserver start

把 VNC Server 強行終止及再起動.不過會即時影響所有
在線的用戶,因此大家要小心三思而後行.否則可能為一
個不識相的用戶而被其他所有用戶非議,就不值了.

2) 修改 X 設定檔 ( x = 用戶名字 , 如:root),不過 Centos 6.3 沒作用
# vi ~/.vnc/xstartup     //指 root/.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" &
twm &

現在我們改成
#!/bin/sh
# 加入下面這行來確定 xterm 會經常存在。
( while true ; do xterm ; done ) &
# 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 &

那麼會當用戶一進入 VNC 用戶端時,終端機也會先跑出來,
就算該用戶登出使其 VNC 的用戶端口使之成為 " 自閉 " 狀況...
只要該用戶再次登入,其端口就會跑出個終端機來.

只要在終端機上攪上:
gnome 的話,輸入 gnome-session。
kde 的話,輸入 startkde。

那樣 GUI 就會回來了,算是最可行的方法.

不過缺點是終端機會永久長駐在 VNC 的 用戶端.只有把她縮至最小化,
才不會阻擋畫面,得以正常運作.


祝:大福

友:小漢上

沒有留言:

張貼留言