由于客戶需要充分利用花了N多money購買的服務器,而服務器上運行的是Linux AS,客戶又不太會使用文本模式,因此只好采用配置X-server的方式來給每一個用戶一個圖形終端了,這多虧了X-windows設計的先進性呀。
為了簡單,我就使用了Linux自帶的vnc-server。
代碼::
#uname -a
Linux server1.linux 2.4.21-4.ELsmp #1 SMP
#rpm -q vnc-server
vnc-server-4.0-0.beta4.1.1
你可以使用特定的帳號來運行你的vncserver命令。這樣可以做到同時有多個用戶登錄圖形終端。同時一個圖形終端編號只能有一個用戶登錄。
代碼::
#useradd demo
#passwd -d demo
#su demo
$vncserver
passwd: //如果這個帳號是第一次運行vncserver,則會要求你輸入連接的密碼。
verify:
New 'server1.linux:4 (demo)' desktop is server1.linux:4
Starting applications specified in /home/demo/.vnc/xstartup
Log file is /home/demo/.vnc/server1.linux:4.log
上面這段話表示起動了一個圖形終端,編號為4,要記住這個編號,等下登錄時需要提供這個編號。
如果你要停止這個進程,使用
代碼::
$vncserver -kill :4
就可以了,后面的數字表示圖形終端編號。
ok,這樣,x-server已經起動了。
我們來測試一下。
找另外一臺機器,如果是Linux的系統,那就比較方便,直接使用下面的命令
代碼::
#vncviewer xx.xx.xx.xx:4 ;連接方式是ip地址:編號,這里的編號是4.
會彈出一個對話框,要求你輸入密碼,如果密碼正確,這是就會出現圖形終端了。
如果是windows的機器,那就下載一個vnc的軟件吧。我用的是winVNC。
連接方式是一樣的。
不過大家也看到了,雖然圖形界面是看到了,但是好丑呀!的確,因為默認的圖形終端采用xterm+twm,桌面上什么都沒有。如果能使用默認的GNOME或者KDE或者FVWM等X-manager該有多好?
沒有問題,接下來的配置就是解決這個問題。
每當一個帳號運行一次vncserver后,就會在家目錄下創建.vnc目錄。
里面有一個可執行腳本xstartup。看看里面的內容就知道了,默認起動的是twm。
那么我們就修改這個文件吧,去掉里面的所有內容,寫入下面一行
代碼::
gnome-session
這樣就指定起動gnome。
也可以寫入
代碼::
unset SESSION_MANAGER
exec /etc/X11/xinit/xinitrc
表示起動默認的圖形管理器。
保存退出,然后重新起動vncserver。
代碼::
$vncserver -kill :4
$vncserver
然后到客戶端去連接X-server,看是不是變得漂亮些啦。
可能你又會問了,如果我有1000個用戶呢,是不是每一個用戶都需要去修改這個文件呀,那多麻煩呀。
那我們就找到根源吧,看到底xstartup是誰創建的。
找到/usr/bin/vncserver,他是一個perl腳本程序。
打開看看
轉到43行,你就會看到
$defaultXStartup變量的定義了,看到了吧。
這下你知道怎么改了吧。
把他變成這個樣子:
代碼::
$defaultXStartup
= ("#!/bin/shnn".
"# Uncomment the following two lines for normal desktop:n".
"unset SESSION_MANAGERn".
"exec /etc/X11/xinit/xinitrcnn".
"#[ -r $HOME/.Xresources ] && xrdb $HOME/.Xresourcesn".
"#xsetroot -solid greyn".
"#vncconfig -iconic &n".
"#xterm -geometry 80x24+10+10 -ls -title "$VNCDESKTOP Desktop" &n".
"#twm &n");
實際上就是去掉最前面的兩行注釋,注釋掉下面的幾行。保存退出。
你再創建一個帳號,運行vncserver看看。
是不是默認的圖形終端就修改了呢?
我的任務完成了。
需要去面試了。
大家試試吧。
Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=624227