用VNC XP遠端連線CENTOS

來源:互聯網
上載者:User

參考一:

參考網站:http://www.beyourman.com/article.asp?id=92

1.查看本機是否有安裝vnc(centOS5預設有安裝vnc)

rpm -q vnc vnc-server

如果顯示結果為:

package vnc is not installed
vnc-server-4.1.2-14.e15_3.1

那恭喜你,機器上已經安裝了vnc,如果沒有,就得自己安裝了,這裡不說怎麼安裝了,很簡單,在centOS的軟體庫中搜尋,點擊安裝

2.把遠端桌面的使用者加入到設定檔中

vi /etc/sysconfig/vncservers

使用vi編輯器開啟設定檔,在檔案中添加下面兩行命令

VNCSERVERS="1:root" --指定遠端使用者

VNCSERVERARGS[1]="-geometry 1024x768" --指定遠端桌面解析度

3.給你剛剛設定的遠端桌面使用者 root 設定密碼

vncpasswd

4.開啟VNC連接埠

vi /etc/sysconfig/iptables

使用vi編輯器開啟設定檔,在檔案中添加下面一行命令

-A RH-Firewall-l-INPUT -p tcp -m tcp --dport 5900:5903 -j ACCEPT

5.重啟防火牆

service iptables restart

6.修改遠端桌面顯示設定檔(不修改此檔案你看到的遠端桌面很簡單,相當於命令列操作,為了遠程操作如同本地操作一樣,務必參考以下方式進行修改)

cd ~/.vnc/

vi xstartup

使用vi編輯器開啟設定檔,並進行下列修改

#xterm -geometry 80x24+10+10 -ls -title "$VNCDESKTOP Desktop" & --將它注釋,加#代表注釋

#twm & --將它注釋

gnome-session & --添加它

看了這段代碼,大家應該明白是怎麼回事了

7.啟動vnc服務

/sbin/service vncserver start

8.遠端連線

開啟vnc用戶端,server框中輸入ip:1 (1代表上面配置的遠端使用者代號,設定檔中可以配置多個遠端使用者),這時你便可以輕鬆的通過友好的遠端桌面來控制centOS了。

參考網站:http://www.beyourman.com/article.asp?id=92

1.查看本機是否有安裝vnc(centOS5預設有安裝vnc)

rpm -q vnc vnc-server

如果顯示結果為:

package vnc is not installed
vnc-server-4.1.2-14.e15_3.1

那恭喜你,機器上已經安裝了vnc,如果沒有,就得自己安裝了,這裡不說怎麼安裝了,很簡單,在centOS的軟體庫中搜尋,點擊安裝

2.把遠端桌面的使用者加入到設定檔中

vi /etc/sysconfig/vncservers

使用vi編輯器開啟設定檔,在檔案中添加下面兩行命令

VNCSERVERS="1:root" --指定遠端使用者

VNCSERVERARGS[1]="-geometry 1024x768" --指定遠端桌面解析度

3.給你剛剛設定的遠端桌面使用者 root 設定密碼

vncpasswd

4.開啟VNC連接埠

vi /etc/sysconfig/iptables

使用vi編輯器開啟設定檔,在檔案中添加下面一行命令

-A RH-Firewall-l-INPUT -p tcp -m tcp --dport 5900:5903 -j ACCEPT

5.重啟防火牆

service iptables restart

6.修改遠端桌面顯示設定檔(不修改此檔案你看到的遠端桌面很簡單,相當於命令列操作,為了遠程操作如同本地操作一樣,務必參考以下方式進行修改)

cd ~/.vnc/

vi xstartup

使用vi編輯器開啟設定檔,並進行下列修改

#xterm -geometry 80x24+10+10 -ls -title "$VNCDESKTOP Desktop" & --將它注釋,加#代表注釋

#twm & --將它注釋

gnome-session & --添加它

看了這段代碼,大家應該明白是怎麼回事了

7.啟動vnc服務

/sbin/service vncserver start

8.遠端連線

開啟vnc用戶端,server框中輸入ip:1 (1代表上面配置的遠端使用者代號,設定檔中可以配置多個遠端使用者),這時你便可以輕鬆的通過友好的遠端桌面來控制centOS了。

9.開機自動啟動vnc

vi /etc/rc.d/rc.local

使用vi編輯器開啟設定檔,並進行下列修改

/etc/init.d/vncserver start --新增行

9.開機自動啟動vnc

vi /etc/rc.d/rc.local

使用vi編輯器開啟設定檔,並進行下列修改

/etc/init.d/vncserver start --新增行

 

參考二:

參考網站:http://wiki.centos.org/zh/HowTos/VNC-Server

1. 安裝所需的組件

 

伺服器的組件名叫 vnc-server。請執行 rpm -q vnc-server

這個指令。

它的輸出應該是 package vnc-server is not installed
或類似 vnc-server-4.0-11.el4

假如伺服器未被安裝,請用這個指令來安裝它:yum install vnc-server

用戶端的程式是 vnc。假若 rpm -q vnc


表示它未被安裝,你可以用 yum install vnc

這個指令來安裝它。

請安裝一個視窗管理員來取得一個正常的映像式案頭。舉個例說,你可以用 yum groupinstall "GNOME Desktop Environment"

這個指令來安裝 Gnome 案頭及所需的組件。其它受歡迎的案頭環境包括 KDE 及 XFCE-4.4。XFCE 比 Gnome 及 KDE 更為輕量,而且已收錄在 extras 軟體庫內。


如果你採用 CentOS 5,yum groupinstall "GNOME Desktop Environment"
可能會投訴 libgaim.so.0 被遺漏了。這是一個已知的錯誤。詳情請參閱 CentOS-5 常見問題集

 

2. 設定未加密的 VNC

 

我們會設定 VNC 給 3 位使用者。他們分別是 larry、moe 及 curly。

你須要執行下列步驟來設定你的 VNC 伺服器:

  1. 建立你的 VNC 使用者。
  2. 設定使用者的 VNC 口令。
  3. 編輯服務器的設定。
  4. 建立及自定 xstartup 指令碼。
  5. 引導 VNC 服務。
  6. 測試每位 VNC 使用者。
  7. 設定 VNC 服務在開機時自動啟用。
  8. 加入選擇性的改動。

 

2.1. 建立你的 VNC 使用者

 

以 root
的身份:

 

$ su -
# useradd larry
# useradd moe
# useradd curly
# passwd larry
# passwd moe
# passwd curly

 

 

2.2. 設定使用者的 VNC 口令

 

登入每個戶口,並執行 vncpasswd


。這樣做會建立一個 .vnc
目錄。

 

[~]$ cd .vnc
[.vnc]$ ls
passwd

 

 

2.3. 編輯服務器的設定

 

編輯 /etc/sysconfig/vncservers
,並在檔案底部加入以下內容。

 

VNCSERVERS="1:larry 2:moe 3:curly"
VNCSERVERARGS[1]="-geometry 640x480"
VNCSERVERARGS[2]="-geometry 640x480"
VNCSERVERARGS[3]="-geometry 800x600"

 

Larry 及 Moe 將會有 640 乘 480 的畫面。Curly 將會有 800 乘 600 的畫面。

 

2.4. 建立 xstartup 指令碼

 

我們會通過以 root 的身份引導及停止 vncserver 來建立 xstartup 指令碼。

 

# /sbin/service vncserver start
# /sbin/service vncserver stop

 

登入每個戶口並編輯 xstartup 指令碼。就以 Larry 為例,首先登入成為 larry

 

[~]$ cd .vnc
[.vnc] ls
mymachine.localnet:1.log passwd xstartup

 

編輯 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 &

 


加入下面這行來確定 xterm 會經常存在。假若你希望在 VNC
內執行使用者的正常視窗管理員,請按指示除去兩行的注釋符號。請注意,在一個解像度及色彩深度都可能被降低的 VNC
視窗內,整個案頭將會頗狹窄,及看起來怪怪的。如果你不除去那兩行的注釋,你的 VNC 視窗將會有班點底色。

 

#!/bin/sh
# 加入下面這行來確定 xterm 會經常存在。
( while true ; do xterm ; done ) &
# 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 &

 

 

2.5. 引導 VNC 伺服器

 

以 root 身份引導 vncserver。

 

# service vncserver start

 

 

2.6. 測試每位 VNC 使用者

 

 

2.6.1. 以支援 java 的瀏覽器進行測試

 

讓我們假設我們機器擁有 192.168.0.10 這個 IP 位址。串連到每個戶口的 URL 將會是:

 

Larry 是 http://192.168.0.10:5801
Moe 是 http://192.168.0.10:5802
Curly 是 http://192.168.0.10:5803

 

串連到 http://192.168.0.10:5801
。一個 java 程式的視窗將會彈出,表示你要串連到機器的 1 號連接埠。擊按 [ok] 按鈕。輸入 larry 的 VNC 口令,然後一個 640x480 視窗將會通過 larry
預設的視窗管理員被開啟出來。iptables
防火牆必須開放以上這些連接埠 5801、5802 及 5803
給用戶端的 IP 位址或子網路。

 

2.6.2. 以 vnc 使用者機進行測試

 

 

Larry 用: vncviewer 192.168.0.10:1
Moe 用: vncviewer 192.168.0.10:2
Curly 用: vncviewer 192.168.0.10:3

 

要以 vncviewer 測試 larry
,執行 vncviewer 192.168.0.10:1

輸入 larry 的 VNC 口令,然後一個採用 larry 的預設視窗管理員的 640x480 視窗將會開啟。vncviewer
這個用戶端會串連到 590X 這個連接埠,當中 X 值等於 1、2、3 分別對應 larry、moe 及
curly,因此防火牆必須開放這些連接埠給用戶端的 IP 位址或子網路。

 

2.6.3. 開機時引導 vncserver

 

要在開機時引導 vncserver,請輸入 /sbin/chkconfig vncserver on

這個指令。

VNC 的基本設定現在已經完成。以下部份是選擇性的改善方法來增強安全性及功能。

 

3. 通過 ssh 隧道將 VNC 加密

 

你將會通過一條 ssh 隧道來串連。你必須能夠用 ssh 登入該機器上的一個戶口。舉個例說,vncserver 機器上的戶口是 larry。

  1. 編輯 /etc/sysconfig/vncservers,並加入 -localhost 這個選項。

    VNCSERVERS="1:larry 2:moe 3:curly"
    VNCSERVERARGS[1]="-geometry 640x480 -localhost"
    VNCSERVERARGS[2]="-geometry 640x480 -localhost"
    VNCSERVERARGS[1]="-geometry 800x600 -localhost"
  2. /sbin/service vncserver restart

  3. 進入另一台擁有 vncserver 的機器並測試 VNC。
    1. vncviewer -via larry@192.168.0.10
      localhost:1

    2. vncviewer -via moe@192.168.0.10
      localhost:2

    3. vncviewer -via curly@192.168.0.10
      localhost:3

按預先設定,很多 vncviewer 都會針對它認為是「本地」的串連停用壓縮的選項。請查閱 vncviewer 的使用手冊來啟用/強加壓縮。否則,表現可能會很差勁!

 

4. 在登出後恢複

 

如果你登出你的案頭管理員,它不會再存在!

  • 我們已在 xstartup 內加入了為我們開啟 xterm 的那一行,好讓我們能重新引導我們的視窗管理員。

    • gnome 的話,輸入 gnome-session

    • kde 的話,輸入 startkde

 

5. 用 vnc-ltsp-config 進行遠程登入

 

要容許使用者利用 vnc 用戶端遠程登入 CentOS 系統,你可以安裝名為 vnc-ltsp-config 及 xinetd 的組件。當 vnc 用戶端串連到其中一個設定了的連接埠,使用者將會獲得一個標準的登入畫面。這個工作階段並不會
持久。當使用者登出,這個工作階段便會消失。

vnc-ltsp-config 這個 rpm 組件可以輕易地通過現有軟體庫
頁內的 EPEL 軟體庫來安裝。

註:vnc-ltsp-config*.rpm 這個組件並沒有什麼依賴性,因此你可以簡單地下載並安裝它,而不必啟用 EPEL 軟體庫。

以 root 身份安裝:

 

# yum install xinetd vnc-ltsp-config
# /sbin/chkconfig xinetd on
# /sbin/chkconfig vncts on
# /sbin/service xinetd restart

 

接著,請以 root 的身份編輯 "/etc/gdm/custom.conf" 這個檔案。

  • 在 [security] 分段下的首行空行請加入 DisallowTCP=false
  • 在 [xdmcp] 分段下的首行空行請加入 Enable=true
  • 請確定你擁有許可權為預設的的 Gnome 安裝執行 gdm-restart,或索性重新引導 CentOS。

這樣做會容許你通過 vnc 用戶端串連來取得下面預設的工作階段:

解像度

色彩深度

連接埠

1024x768

16

5900/tcp

800x600

16

5901/tcp

640x480

16

5902/tcp

1024x768

8

5903/tcp

800x600

8

5904/tcp

640x480

8

5905/tcp

 

使
用 vnc-ltsp-config
的一大優點,就是相比起標準的「一人一設定」,它可以減低系統資源使用量。除非一個使用者登入系統,否則使用者進程不會引導,記憶體亦不會被佔用。此外,你不必
煩惱使用者的設定(也就是省略了為個別使用者手動設定 vnc-server)。vnc-ltsp-config 的弊處就是任何
擁有登入許可權的使用者都可以通過一個 vnc 用戶端來登入映像介面,除非你採取措施來限制這類型接線。還有就是工作階段不能持久!一旦 vnc 用戶端被關閉,vnc-ltsp-config 工作階段便會(預設)被中止,而所有執行中的進程都會被刪丟。

這個選項可以利用一個改良版的 vncviewer -via 指命與 ssh 隧道合并:

vncviewer -via remoteUser@remoteHost localhost:vncSinglePortNumber

 

對於 vnc-ltsp-config 的預設安裝,vncSinglePortNumber 是連接埠號碼的最後一個數目字。舉個例來說,連接埠號碼 5900(1024x768 16 位元)就只是 "0"。

註:假若你啟用 selinux
或 iptables
,你須要留意可能會出現的互動問題。如果你沒有一個正在啟動並執行顯示管理程式(譬如在 runlevel 3),你必須起動一個,否則當你串連時便只得一個黑劃面。

 

6. 為已登入的映像工作階段提供 VNC 伺服器 —— 兩個選擇

 


多時你需要遠端存取一個通過「真實」控制台登入的映像工作階段。又或者你須要遠程協助一位使用者解決映像介面或視覺方法的問題。你將會需要
vnc-server 或 x11vnc。vnc-server 這個選擇利用一個模組將常備的 vnc 支援加進 X11;而 x11vnc
就容許臨時性的 vnc 支援。

安裝 vnc-server 並不需要第三方的軟體庫或建立原始碼。

x11vnc 提供了一個方法容讓任從 VNC 查看器從遠程查看真實的 X 視像(包括了顯示器、鍵盤、及滑鼠)並進行互動。通過這樣做,它在 Unix/X11 上扮演了 WinVNC 在 Windows 上的角色。

 

6.1. 臨時性採用 x11vnc

 

Karl Runge 慷慨地在 http://www.karlrunge.com/x11vnc/
為 x11vnc 提供了大量的資訊。當中包括了如何提高串連的安全性,及使用 Enhanced TightVNC Viewer「增強版 TightVNC 查看器」(ssvnc)。簡單來說,請跟從下面的步驟:

  1. 從 http://dag.wieers.com/rpm/packages/x11vnc/
    下載最新的 rpm 到你希望用 vnc 用戶端串連到的主機上:

    wget http://dag.wieers.com/rpm/packages/x11vnc/x11vnc-0.9.3-1.el5.rf.i386.rpm
  2. 以 root 的身份在要被串連的主機上用 yum 或 rpm 進行安裝:

    yum install x11vnc-0.9.3-1.el5.rf.i386.rpm
  3. 在要被串連的主機上引導 x11vnc 進程。請好好地查看 x11vnc 網頁上列出的所有選項。一個非常簡單/不安全,可供被信任的網路(本網或 VPN)使用的範例,就是請擁有映像控制台的使用者執行:

    [user@helpme_host ~$] x11vnc -nopw -display :0.0

接著通過 vnc 用戶端串連(不需口令)到 x11vnc 指令所指示的 IP/主機名稱。x11vnc 預設會接納來自所有介面的串連。主機上的防火牆設定或許會需要被修改。

你可以連同 ssh 隧道一併使用它:

ssh -C -t -L 5900:localhost:5900 [遠程 ip] 'x11vnc -usepw -localhost -display :0'

 

留意 -C
選項選用壓縮,因此不是必需的

 

6.2. 永久性在 X11 採用 vnc-server

 

  1. 在你需要執行 vnc-server 的系統上,如上面所示安裝 vnc-server。
  2. 以 root 身份編輯 /etc/X11/xorg.conf,並加入/建立一個 Module 分段及加入 Load "vnc"

    Section "Module"
    Load "vnc"
    EndSection
  3. 要用標準的 vnc 驗證,以 root 身份編輯 /etc/X11/xorg.conf,並在 Screen 分段內加入:

      Option "SecurityTypes" "VncAuth"
    Option "UserPasswdVerifier" "VncAuth"
    Option "PasswordFile" "/root/.vnc/passwd"
  4. 以 root 身份執行 vncpasswd 並如上面所示建立口令。
  5. 重新引導 X11(如果你已經在控制台上,可用 <Ctrl>+<Alt>+<BS>)

  6. 你應該可以正常地用 vncviewer 用戶端來進行串連。
  7. 要排除困難,請檢查 /var/log/Xorg.0.log 內的錯誤,並確定 iptables 或 selinux 並沒有幹擾遠端串連。額外的資訊已收錄在 http://www.realvnc.com/products/free/4.1/x0.html

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.