還是在Solaris6的時代曾經挑戰了一次vnc server。結果,無果而終。配置太麻煩了。前些天一個同事告訴我,Solaris下vnc服務器可以很簡單地配置了,並送來了如下網址:http://www.linuxidc.com/Linux/2012-10/71787.htm
讀完後,試了一下,果然能用了。於是乎,廢棄了使用多年的x-server程序。
用了幾天後,發現了一些問題:
1. 使用vnc server沒有password保護。
於是,凡是有vncviewer的,都可以連接你的vnc server。你在干什麼看的一清二楚不說,還可以直接操縱你的機器。
作為系統管理員,犯下如此初級錯誤,你是否覺得追悔莫及?
先看原因吧:
# svccfg
svc:> select xvnc-inetd
svc:/application/x11/xvnc-inetd> listprop
............
inetd_start/exec astring "/usr/X11/bin/Xvnc -inetd -query localhost -once securitytypes=none"
............
看到了吧。xvnc-inetd服務的缺省配置不要求password(securitytypes=none)。
坑人吧?
2. 同時不能啟動多個vnc server。
再查查看,發現這篇文章很有幫助
https://blogs.Oracle.com/jasonhuang/entry/vnc_on_solaris_10
(安裝部分可以省略不看,因為安裝好了的)
這個是用戶個人起動vncserver的,不需要管理員介入。
具體步驟如下
2.1. 用戶個人起動vncserver
初次使用必須設定password。以後再起動就不必了。
www.lnuxidc.com @linux:~$ vncserver
You will require a password to access your desktops.
Password:
Verify:
Warning: bsapx86:2 is taken because of /tmp/.X2-lock
Remove this file if there is no X server bsapx86:2
xauth: file /home/zhang/.Xauthority does not exist
New 'bsapx86:3 ()' desktop is bsapx86:3
Creating default startup script /home/zhang/.vnc/xstartup
Starting applications specified in /home/zhang/.vnc/xstartup
Log file is /home/zhang/.vnc/bsapx86:3.log
上例中,vnc server在2號Display
(bsapx86:2)
2.2. 用 vncviewer 連接
在vncviewer的窗口中要輸入bsapx86:2。
(不能只輸入bsapx86。)
然後在第2個窗口中輸入2.1.中設定的Password。
2.3. vncserver 的停止
www.lnuxidc.com @linux:~$ vncserver -kill :2
2.4. 重新設置Password
www.lnuxidc.com @linux:~$ vncpasswd
注意:
此方法可以讓用戶在需要的時候啟動vnc server。
但是,如果用戶不及時關閉不需要的vnc server,會影響系統功能。
管理員在必要時可通過kill殺掉不必要的vnc server進程。
vnc server相關的文件在用戶的$HOME/.vnc底下。
----------------------分割線----------------------
如果你是系統管理員,可別忘了把xvnc-inetd這個服務給關了。
# svcadm disable xvnc-inetd
如果你啟動vncserver時得到錯誤信息,比如說沒找到xauth或Xvnc等,你可以使用如下命令查找。
www.linuxidc.com @linux::~$ find / -name xauth 2>/dev/null
/usr/openwin/bin/xauth
find / -name Xvnc 2>/dev/null
/usr/X11/bin/Xvnc
然後把這兩個文件所在的Directory加入你的 .profile (k,ba-shell等)或 .cshrc(c-shell)。
www.linuxidc.com @linux:~$ vi .profile
......
PATH=/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:/usr/ucb:/usr/ccs/bin:/usr/openwin/bin:/usr/X11/bin
......
再執行,使其生效。
www.linuxidc.com @linux:~$ source .profile