目前有兩種比較流行的方式:XDM(X display manager)方案和VNC方案,而我個人比較傾向於VNC方案,一是因為VNC方案配置起來相對比較容易,二是VNC方案支持多種連接方式,比如通過瀏覽器訪問Linux桌面,免去需要安裝客戶端的麻煩。
接下來進入具體配置說明:
一 確認及安裝VNCSERVER。
1,首先確認你服務器是否配置了VNCSERVER,可以在命令行下敲入以下命令查看:
[root@localhost: ~]#rpm -qa |grep vnc
vnc-server-4.1.2-14.el5 #返回VNCSEVER服務器端版本說明你已經安裝了VNCSERVER。
2,如果沒有安裝VNCSEVER,那么從光盤找到安裝包進行安裝。
首先將光盤掛載(也叫解壓)到某個目錄這里是在/var/ftp/pub/下面建立了rhel5-64目錄
mount -o loop rhel-server-5.3-x86_64-dvd.iso /var/ftp/pub/rhel5-64/
然后在/var/ftp/pub/rhel5-64/Server目錄下找到 vnc-server-4.1.2-14.el5.x86_64.rpm安裝包,使用RPM命令直接安裝;
rpm -ivh vnc-server-4.1.2-14.el5.x86_64.rpm
二 開始配置VNCSERVER
1,啟動VNCSERVER,第一次啟動VNCSERVER會提示輸入密碼,這里分為管理員賬戶及普通賬戶,啟動方式略有所不同。
管理員:
[root@localhost /]# vncserver
You will require a password to access your desktops.
Password: 123456 #輸入vnc 連接密碼
Verify: 123456 #確認vnc密碼
xauth: creating new authority file /root/.Xauthority
New ‘localhost.localdomain:1 (root)’ desktop is localhost.localdomain:1
Creating default startup script /root/.vnc/xstartup
Starting applications specified in /root/.vnc/xstartup
Log file is /root/.vnc/localhost.localdomain:1.log
普通用戶:
[root@localhost /]#su ceboy #ceboy 是用戶名
[ceboy@localhost /]$ vncserver
You will require a password to access your desktops.
Password: 123456 #輸入vnc 連接密碼
Verify: 123456 #確認vnc密碼
xauth: creating new authority file /home/ceboy/.Xauthority
New ‘localhost.localdomain:2 (ceboy)’ desktop is localhost.localdomain:2
Creating default startup script /home/ceboy/.vnc/xstartup
Starting applications specified in /home/ceboy/.vnc/xstartup
Log file is /home/ceboy/.vnc/localhost.localdomain:2.log
#這里要注意:每個用戶都可以啟動自己的VNCSERVER遠程桌面,同時每個用戶可以啟動多個VNCSERVER遠程桌面,它們用ip加端口號:ip:1、ip:2、ip:3 來標識、區分,使用同一端口會使另外登錄的用戶自動退出。另,VNCSERVER的大部分配置文件及日志文件都在用戶home目錄下.vnc目錄下。
用戶可以自定義啟動號碼如:
[ceboy@localhost /]$ vncserver :2 #注意:2前面一定要有空格。
A VNC server is already running as :2
三 相關桌面配置,RedHat Linux支持兩種圖形模式:KDE模式和gnome模式。
1,你的RH使用的什么圖形模式這個一般只有登錄到圖形界面查看一下才能知道,或者通過ps -A命令列出所有當前運行的程序,看看有沒有KDE或者gnome字樣來判斷一下。
如果你是gnome桌面,那么你需要修改/root/.vnc/xstartup的配置文件。
[root@localhost .vnc]# vi 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 80×24+10+10 -ls -title “$VNCDESKTOP Desktop” &
gnome-session gnome #添加這一句是連接時使用gnome 桌面環境
twm &
設置修改完畢最好是重啟一次系統,否則設置不會生效。我采用的方法是殺死VNCSERVER進程再重運行VNCSERVER。
[root@localhost .vnc]#vncserver -kill :1 #這里你啟動vncserver時是什么端口號要對應上。
[root@localhost .vnc]#vncserver :1 #重啟VNCSERVER,注意:1前面一定要有空格。
2,設置用戶信息及分辨率。
[root@localhost: ~]#vi /etc/sysconfig/vncservers
# The VNCSERVERS variable is a list of display:user pairs.
#
# Uncomment the lines below to start a VNC server on display :2
# as my ‘myusername’ (adjust this to your own). You will also
# need to set a VNC password; run ‘man vncpasswd’ to see how
# to do that.
#
# DO NOT RUN THIS SERVICE if your local area network is
# untrusted! For a secure way of using VNC, see
# <<A href="http://www.uk.research.att.com/archive/vnc/sshvnc.html">URL:http://www.uk.research.att.com/archive/vnc/sshvnc.html >.
# Use “-nolisten tcp” to prevent X connections to your VNC server via TCP.
# Use “-nohttpd” to prevent web-based VNC clients connecting.
# Use “-localhost” to prevent remote VNC clients connecting except when
# doing so through a secure tunnel. See the “-via” option in the
# `man vncviewer’ manual page.
VNCSERVERS=”1:root 2:ceboy” #此處添加用戶,一般只添加一個1:root也就行了。
VNCSERVERARGS[1]=”-geometry 800×600 -nolisten tcp -nohttpd -localhost”
VNCSERVERARGS[2]=”-geometry 1024×768 -nolisten tcp -nohttpd -localhost”
#注意:上面是分別設置的root和ceboy兩個用戶的分辨率,注意是用端口號區分的。
另外也可以通過命令行臨時修改分辨率及色深,這種方式重啟后就會丟失,這里暫時用不到,命令如下:
[root@localhost: ~]#vncserver -geometry 800×600 #設置vncserver的分辨率
[root@localhost: ~]#vncserver -depth 16 #設置vncserver的色深
到這里VNCSERVER服務器端就配置完成了。
四,客戶端連接及使用。
1,訪問方式
a、在linux下,運行vncviewer命令即可,服務器地址的寫法形如192.168.1.11:1
b、在windows下,運行windows版本的vncviewer即可,用法與linux下相近。
c、用瀏覽器(平台無關),作為java applet來實現,以形如http://192.168.1.11:5801 的方式來啟動 (vnc 端口從5800 開始依次類推,一般會是5800,5900)
以下為一些常識:
2,修改密碼
運行vncpasswd即可
3,停止vncserver
#vncserver -kill :1
#vncserver -kill :2
注意到vncserver只能由啟動它的用戶來關閉,即時是root也不能關閉其它用戶開啟的vncserver,只能用kill命令暴力殺死進程。
4,穩定性設置
vncserver默認在多個客戶機連接同一個vncserver的顯示端口時,vncserver端口舊連接,而為新連接服務,可通過-dontdisconnect拒絕新連接請求而保持舊的連接。
5,同一個顯示器可以連接多個客戶機
#vncserver -alwaysshared
6,重啟服務
service vncserver restart
7,讓系統啟動時自動啟動VNCSERVER。
使用VNC連接登錄到RedHat Linux圖形界面,點擊“系統”——“管理”——“服務器設置”——“服務”,在“后台服務”中找到VNCSERVER后勾選它,點擊保存即可。
解決連接不上問題的方法:
1、防火牆開啟 不能連接
關閉防火牆 service iptables stop
查看防火牆狀態 service iptables status
查看進程 ps axf | grep vnc/iptables
轉自:http://blog.sina.com.cn/s/blog_7cb9b3b801017a5x.html