Linux遠程桌面實現步驟

在機房折磨很久弄好的自己 mark 一下。(測試環境rhel5.5)

vnc 之獨立服務配置

步驟一:

(1)查看系統是否安裝vnc服務(也可以在 系統-管理員-服務 里查看并勾選開機自啟)

# rpm -qa | grep vnc

  (如果有返回值,類似于vnc-server的值,說明已經安裝了vnc-server此步驟就可跳過。)

(2)安裝vnc:

Linux遠程桌面實現步驟Linux遠程桌面實現步驟

(進入掛載目錄)   # cd  /rhdvd/Server        (安裝 vnc-server)  # rpm -ivh vnc-server-4.1.2-14.el5_6.6.x86_64.rpm    (安裝 vnc-viewer)  # rpm -ivh vnc-4.1.2-14.el5_6.6.x86_64.rpm

View Code

(3)驗證vnc-server包是否安裝成功:

Linux遠程桌面實現步驟Linux遠程桌面實現步驟

 # rpm -qa vnc-server-4(顯示 vnc-server-4.1.2-14.el5_6.6)

View Code

?

步驟二:

(1)運行vnc服務

 # vncservers

  (首次運行需要輸入vnc密碼,此密碼為當前用戶root的vnc密碼)?

(2)添加用戶和設置密碼并設置vnc密碼:

# useradd user001    (添加用戶)  # passwd user001    (設置用戶密碼)  # su - user001    (切換用戶)  # vncpasswd    (設置vnc密碼,密碼文件在 /用戶/.vnc/passwd)

  (注意,這里的vncpass只能在vnc本用戶下面來運行。比如要是想配置用戶名為user001的vnc認證密碼,需要先切換到user001用戶,之后再運行vncpasswd命令)

(3)重復建立user002、user003…….

?

步驟三:

  在配置VNC前,必須了解VNC的運行機制

  linux下的VNC可以同時啟動多個vncserver,各個vncserver之間用顯示編號(display number)來區分,每個vncserver服務監聽3個端口,它們分別是:

  HTTP協議默認端口 5800+顯示編號 : VNC的http監聽端口,如果VNC客戶端為IE,Firefox等非vncviewer時必須開放。?

  RFB協議默認端口 5900+顯示編號 ? : VNC服務端與客戶端通信的真正端口,必須無條件開放。

  X協議默認端口 6000+顯示編號 ? ? ? : X監聽端口,可選。

  顯示編號、開放的端口分別由/etc/sysconfig/vncservers文件中的VNCSERVERS和VNCSERVERARGS控制。

(1)配置vnc服務的配置文件

 # vi /etc/sysconfig/vncservers

  內容如下:

Linux遠程桌面實現步驟Linux遠程桌面實現步驟

# 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  # <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="2:myusername"# VNCSERVERARGS[2]="-geometry 800x600 -nolisten tcp -nohttpd -localhost"VNCSERVERS="1:user001 2:user002 3:user003 4:user004"    (添加)  VNCSERVERARGS[1]="-geometry 1366x768 -AlwaysShared"    (添加)  VNCSERVERARGS[2]="-geometry 1366x768 -AlwaysShared"    (添加)  VNCSERVERARGS[3]="-geometry 1366x768 -AlwaysShared"    (添加)  VNCSERVERARGS[4]="-geometry 1366x768 -AlwaysShared"    (添加)

View Code

  說明:【1】VNCSERVERS=后面可以支持多用戶,以空格隔開,數字為端口號即桌面號。

     【2】VNCSERVERARGS后面的[]里面的數據要與VNCSERVERS后面對應用戶的值要一致。VNCSERVERARGS基本參數有:

Linux遠程桌面實現步驟Linux遠程桌面實現步驟

 -geometry 桌面大小,缺省是1024x768分辨率-nohttpd  不監聽HTTP端口,58xx端口(建議不寫) -nolisten tcp 不監聽X端口,60xx端口(建議不寫) -localhost  只允許從本機訪問(不寫)-SecurityTypes None 登錄不需要密碼認證VncAuth,默認要密碼認證-depth  表示色深,參數有8,16,24,32-AlwaysShared 默認只能有一個vncviewer連接(跟客戶端配置也有關),一旦第2個連上去,第1個就被斷開了,此參數允許同時連多個vncviewer

View Code

?

步驟四:

(1)啟動vncserver

# service vncserver start    (即時開啟服務并生效)  # /etc/init.d/vncserver start    # service vncserver stop    (即時關閉服務并生效)  # /etc/init.d/vncserver stop    # chkconfig vncserver on   (將vncserver設置為開機啟動,重啟生效)    # chkconfig vncserver off   (將vncserver設置為開機不啟動,重啟生效)

?

步驟五:

(1)配置VNC圖形桌面環境

  vnc都配置完畢并且正常運行,但是用VNC-Viewer登錄后顯示的屏幕卻為灰色(也有黑色的),并且無法進行任何操作。

  原來VNC xstartup程序中默認的設定值是啟動twm,而不是GNOME或KDE。

  【1】修改xstart文件:

 # vi /home/用戶/.vnc/xstartup    (root用戶為 /root/.vnc/xstartup)

  ?內容如下:

Linux遠程桌面實現步驟Linux遠程桌面實現步驟

#!/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" &    (注解此行)  gnome-session &    (添加)  # twm &    (注解此行)

View Code

  說明: 也可只注解最后一行 twm & ,并添加一行 gnome-session &。

      也可只去掉3、4句注解。

      最好方式是都改一下。

  【2】修改完需重啟vncserver:

# service vncserver restart    (重啟全部vnc桌面,不建議用此條命令)  # vncserver -kill :1    (停止第一個桌面)  # vncserver :1    (啟動第一個桌面)

?

步驟六:

(1)配置防火墻

# vi /etc/sysconfig/iptables

  內容如下:

Linux遠程桌面實現步驟Linux遠程桌面實現步驟

# Firewall configuration written by system-config-securitylevel  # Manual customization of this file is not recommended.*filter  :INPUT ACCEPT [0:0]  :FORWARD ACCEPT [0:0]  :OUTPUT ACCEPT [0:0]  :RH-Firewall-1-INPUT - [0:0]-A INPUT -j RH-Firewall-1-INPUT-A FORWARD -j RH-Firewall-1-INPUT-A RH-Firewall-1-INPUT -i lo -j ACCEPT-A RH-Firewall-1-INPUT -p icmp --icmp-type any -j ACCEPT-A RH-Firewall-1-INPUT -p 50 -j ACCEPT-A RH-Firewall-1-INPUT -p 51 -j ACCEPT-A RH-Firewall-1-INPUT -p udp --dport 5353 -d 224.0.0.251 -j ACCEPT-A RH-Firewall-1-INPUT -p udp -m udp --dport 631 -j ACCEPT-A RH-Firewall-1-INPUT -p tcp -m tcp --dport 631 -j ACCEPT-A RH-Firewall-1-INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 5901 -j ACCEPT    (添加)-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 5902 -j ACCEPT    (添加)-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 5903 -j ACCEPT    (添加)-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 5904 -j ACCEPT    (添加)-A RH-Firewall-1-INPUT -j REJECT --reject-with icmp-host-prohibited  COMMIT

View Code

  也可關閉防火墻(不建議):

Linux遠程桌面實現步驟Linux遠程桌面實現步驟

# service iptables stop    (即時關閉防火墻,重啟失效)    # chkconfig iptables off    (永久關閉防火墻,重啟有效)

View Code

?

步驟七:

192.168.10.131:1——這里的:1就是端口號,指的是5900+1,這個1是在/etc/sysconfig/vncservers里面指定的。
? ? ?這個數字在100以下,不含100的時候可以直接用192.168.10.131:1來表示。
? ? ?如果在vncservers里面指定的數值大于100 包含100的時候,在連接的時候就需要用到完整的端口數值。
? ? ?如:在vncservers里面指定的是100,那么在連接的時候就應該是這樣的:192.168.10.131:6000。

? 版權聲明
THE END
喜歡就支持一下吧
點贊13 分享