歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> 關於Linux >> LINUX下安裝配置VNC服務的過程

LINUX下安裝配置VNC服務的過程

日期:2017/3/3 15:56:02   编辑:關於Linux

1.首先檢查VNC軟件是否已經安裝

[root@ocm1 ~]# rpm -qa|grep vnc

vnc-server-4.1.2-14.el5_3.1

2.啟動VNC服務

使用vncserver命令啟動,格式: server :1 ,這是城:1是桌面號,每個連接需要一個桌面號。

[root@ocm1 ~]# vncserver :1

You will require a password to access your desktops.

Password:

Password must be at least 6 characters - try again

Password: ---需要輸入密碼

Verify:

xauth: creating new authority file /root/.Xauthority

New 'ocm1.bys.com:1 (root)' desktop is ocm1.bys.com:1

Creating default startup script /root/.vnc/xstartup

Starting applications specified in /root/.vnc/xstartup

Log file is /root/.vnc/ocm1.bys.com:1.log

以上命令執行的過程中,因為是第一次執行,需要輸入密碼,這個密碼被加密保存在用戶主目錄下的.vnc子目錄(/root/.vnc/passwd)中;同時在用戶主目錄下的.vnc子目錄中為用戶自動建立xstartup配置文件(/root/.vnc/xstartup),在每次啟動VND服務時,都會讀取該文件中的配置信息。

/root/.vnc/目錄下還有一個“testdb:1.pid”文件,這個文件記錄著啟動VNC後對應後天操作系統的進程號,用於停止VNC服務時准確定位進程號。

3.VNC服務使用的端口號與桌面號的關系

VNC服務使用的端口號與桌面號相關,VNC使用TCP端口從5900開始,對應關系如下

桌面號為“1” ---- 端口號為5901

桌面號為“2” ---- 端口號為5902

桌面號為“3” ---- 端口號為5903

……

基於Java的VNC客戶程序Web服務TCP端口從5800開始,也是與桌面號相關,對應關系如下

桌面號為“1” ---- 端口號為5801

桌面號為“2” ---- 端口號為5802

桌面號為“3” ---- 端口號為5803

……

基於上面的介紹,如果Linux開啟了防火牆功能,就需要手工開啟相應的端口,以開啟桌面號為“1”相應的端口為例,命令如下

[root@testdb ~]# iptables -I INPUT -p tcp --dport 5901 -j ACCEPT

[root@testdb ~]# iptables -I INPUT -p tcp --dport 5801 -j ACCEPT

4.測試VNC服務是否正常

第一種方法是使用VNC Viewer軟件登陸測試,操作流程如下

啟動VNC Viewer軟件 --> Server輸入“192.168.57.215:1” --> 點擊“OK” --> Password輸入登陸密碼 --> 點擊“OK”登陸到X-Window圖形桌面環境 --> 測試成功

VNC服務默認使用的是twm圖形桌面環境--和SHELL差不多,可以在打開的窗口輸入oclock看能否出來時鐘的圖標。

第二種方法是使用Web浏覽器(如Firefox,IE,Safari)登陸測試,操作流程如下

地址欄輸入http://192.168.57.215:5801/ --> 出現VNC viewer for Java(此工具是使用Java編寫的VNC客戶端程序)界面,同時跳出VNC viewer對話框,在Server處輸入“144.194.192.183:1”點擊“OK” --> Password輸入登陸密碼 --> 點擊“OK”登陸到X-Window圖形桌面環境 --> 測試成功

(注:VNC viewer for Java需要JRE支持,如果頁面無法顯示,表示沒有安裝JRE,可以到http://java.sun.com/javase/downloads/index_jdk5.jsp這裡下載最新的JRE進行安裝)

############此時使用VNC Viewer登陸後能看到SHELL界面,但是無法KDE或GNOME桌面環境

5.配置VNC圖形桌面環境為KDE或GNOME桌面環境--我這裡是配置為GNOME

如何判斷LINUX上安裝的是GNOME/KDE? --我這裡是GNOME。

[root@ocm1 ~]# ps -ef|grep gnome ---或ps -ef|grep kde

oracle 2541 2513 0 10:53 ? 00:00:00 /usr/bin/gnome-session

因為VNC服務默認使用的是twm圖形桌面環境的,可以在VNC的配置文件xstartup中對其進行修改。--即在/root/.vnc/xstartup最後一行的:twm & 替換為:startkde & 或者 gnome-session &

我的文件修改如下:

[root@ocm1 ~]# vi /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 &

gnome-session &

重啟啟動vncserver即可登陸到GNOME桌面環境:

[root@ocm1 ~]# vncserver -kill :1

Killing Xvnc process ID 2898

[root@ocm1 ~]# vncserver :1

New 'ocm1.bys.com:1 (root)' desktop is ocm1.bys.com:1

Starting applications specified in /root/.vnc/xstartup

Log file is /root/.vnc/ocm1.bys.com:1.log

----此時使用VNC Viewer登陸後能看到GNOME桌面環境了。

比如在我的環境中,還配置了ORACLE用戶的VNC,也要在ORACLE家目錄下的/.vnc/xstartup文件進行本步的操作--完成同樣要重啟vncserver -kill :2。

[oracle@ocm1 ~]$ vi ./.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 &

gnome-session &

[oracle@ocm1 ~]$ vncserver -kill :2

Killing Xvnc process ID 2680

[oracle@ocm1 ~]$ vncserver :2

New 'ocm1.bys.com:2 (oracle)' desktop is ocm1.bys.com:2

Starting applications specified in /home/oracle/.vnc/xstartup

Log file is /home/oracle/.vnc/ocm1.bys.com:2.log

注意:VNC Viewer中服務器地址欄需要輸入IP+桌面號:192.168.57.215:2 這個地址就決定了用哪個用戶登陸,不用再輸入用戶名,只輸入密碼即可。

6.配置多個桌面並設置VNC密碼

可以使用如下的方法啟動多個桌面的VNC

vncserver :1

vncserver :2

vncserver :3

……

更多精彩內容:http://www.bianceng.cn/OS/Linux/

但是這種手工啟動的方法在服務器重新啟動之後將失效,因此,下面介紹如何讓系統自動管理多個桌面的VNC,方法是將需要自動管理的信息添加到/etc/sysconfig/vncservers配置文件中,先以桌面1為root用戶桌面2為oracle用戶為例進行配置如下:

格式為:VNCSERVERS="桌面號:使用的用戶名 桌面號:使用的用戶名"

[root@ocm1 ~]# vi /etc/sysconfig/vncservers --在文件末尾增加以下兩項

VNCSERVERS="1:root 2:oracle"

VNCSERVERARGS[1]="-geometry 1024x768"

VNCSERVERARGS[2]="-geometry 1024x768"

設置VNC客戶端連接的密碼

[root@ocm1 ~]# vncpasswd

Password:

Verify:

[root@ocm1 ~]# su - oracle

[oracle@ocm1 ~]$ vncpasswd

Password:

Verify:

7.啟動和停止VNC命令以及設置開機自啟服務--要用root用戶

/etc/init.d/vncserver start|stop|restart

為加絕對路徑直接用也可以:

service vncserver start|stop|restart

命令示例:

[root@ocm1 ~]# service vncserver status

Xvnc is stopped

[root@ocm1 ~]# service vncserver start

Starting VNC server: 1:root

New 'ocm1.bys.com:1 (root)' desktop is ocm1.bys.com:1

Starting applications specified in /root/.vnc/xstartup

Log file is /root/.vnc/ocm1.bys.com:1.log

2:oracle

New 'ocm1.bys.com:2 (oracle)' desktop is ocm1.bys.com:2

Starting applications specified in /home/oracle/.vnc/xstartup

Log file is /home/oracle/.vnc/ocm1.bys.com:2.log

[ OK ]

[root@ocm1 ~]# service vncserver stop

Shutting down VNC server: 1:root 2:oracle [ OK ]

配置VNC服務自啟動:

[root@ocm1 ~]# chkconfig --list vncserver

vncserver 0:off 1:off 2:off 3:off 4:off 5:off 6:off

[root@ocm1 ~]# chkconfig vncserver on

[root@ocm1 ~]# chkconfig --list vncserver

vncserver 0:off 1:off 2:on 3:on 4:on 5:on 6:off

----------結束,參考了secooler文章,感謝 !原文 http://blog.itpub.net/519536/viewspace-607549

Copyright © Linux教程網 All Rights Reserved