Linux 上的遠端桌面中繼程式: xrdp (v0.4.2)

"遠端桌面(RDP)" 相對於 VNC 的好處應該是:

  1. 連線的過程中有加密
  2. 可設定登入時的解析度
  3. 方便切換輸入法
  4. 操作起來似乎比 VNC 還流暢

現在遠端桌面可不再是 Windows 的專利,在 Linux 上也可以進行遠端桌面的存取,如果純粹只要有 Viewer 的功能可安裝 "rdesktop",如果要同時有 Viewer 及 Server 的功能請安裝 "xrdp",以下介紹 xrdp。

其實 xrdp 是一個 Linux 遠端桌面的 "中繼程式",為何說 xrdp 是 "中繼程式" 呢?!因為它還是借用了 VNC 的模組 (libvnc.so),並且 xrdp 除了可以讓你用遠端桌面連線存取 Linux 桌面之外,還能透過它來登入其它 Windows 的遠端桌面、VNC Server,以及任何也有安裝 xrdp 的主機。並且是允許你用不同帳號進行 "多重登入",這在 Windows 的系統只有 Windows Server 才支援。

所以說,安裝了 xrdp 等於是安裝了:

  1. RDP Server (允許多重登入)
  2. RDP Viewer
  3. XRDP Viewer
  4. VNC Viewer

安裝 xrdp

(xrdp 自 v0.5.0 之後,安裝與啟動的方式也有所不同,如要安裝新版的 xrdp,請參考本站另一篇教學,以下是針對 v0.4.2 的安裝說明)

1. 安裝 xrdp 前請先確定系統已經安裝了 gcc, pam-devel, openssl-devel,可使用下列指令安裝:

yum install gcc pam-devel openssl-devel

2. 到 http://xrdp.sf.net 下載 xrdp 的原始檔並安裝:

cd /usr/local/src
wget http://jaist.dl.sourceforge.net/sourceforge/xrdp/xrdp-0.4.2.tar.gz
tar -xzvf xrdp-0.4.2.tar.gz
cd xrdp-0.4.2
make
make install

3. 編輯 /etc/rc.d/rc.local,加入:

/usr/local/xrdp/xrdp_control.sh start

啟動 xrdp

啟動 xrdp 指令:

/usr/local/xrdp/xrdp_control.sh start

xrdp 的設定檔

相關設定檔放在 "/etc/xrdp/",比較重要的是 "/etc/xrdp/sesman.ini" 這個檔案,在 [Globals] 中的這一行:

ListenAddress=127.0.0.1

表示只允許從本機連結 RDP Server,如果要從別的主機進行操作 (配合登入 xrdp 的 "sesman-any" 選項),可將 "127.0.0.1" 改成 "0.0.0.0"。

登入 xrdp

啟動 xrdp 之後,你的 Linux 主機基本上已經具備了接受遠端桌面連線的功能,其 Port 為 3389,請用 Windows 的 "遠端桌面連線" 進行存取。

連線後,首先會看到 xrdp 的登入視窗,你可以選擇:

  1. sesman-Xvnc: 使用 xrdp 內建的 libvnc.so 模組登入本機,本機不需啟動 VNC Server。
  2. console: 登入本機的 VNC Server。
  3. vnc-any: 登入其它已經啟動 VNC Server 的主機。
  4. sesman-any:登入其它有安裝 xrdp 的主機。
  5. rpd-any: 登入其它已經啟動遠端桌面 (RDP Server) 的 Windows 電腦或主機。
  6. sesman-X11rdp: 這個項目我沒有測試成功,從字面上的意思來看,應該是連結本機端由 X Server 提供的 RDP,但目前 Linux 的桌面應該還沒有具備這樣的功能!

桌面環境

以 "sesman-Xvnc" 選項登入 Linux 桌面後,預設是使用 KDE 桌面,但其操作介面是英文的,這些設定都與 "/usr/local/xrdp/startwm.sh" 這個指令檔有關。

如果要改成中文環境,請編輯 /usr/local/xrdp/startwm.sh,在程式的第二行加入:

export LANG=zh_TW.UTF-8

這樣就可以了。

    • 03/12. 2009 5:33下午
    Using Internet Explorer Internet Explorer 7.0 on Windows Windows XP

    謝謝您的分享,雖然我在用 Windows 的 “遠端桌面連線” 進行存取一直沒辦法成功
    請問我可能有什麼問題造成我失敗ㄋ

    • citypig
    • 07/01. 2009 6:19下午
    Using Mozilla Firefox Mozilla Firefox 3.0.11 on Windows Windows XP

    to 勳:

    應該是 Linux 上防火牆的問題,請先關閉防火牆,或開啟 3389 port。

    • joray
    • 08/13. 2009 2:59下午
    Using Google Chrome Google Chrome 2.0.172.39 on Windows Windows XP

    您好!

    請問一下 /etc/services 這裡面
    ms-wbt-server 3389/tcp # MS WBT Server
    ms-wbt-server 3389/udp # MS WBT Server
    這表示有開啟3389 port嗎
    如果有的話 那還有可能是什麼問題呢

    謝謝喔~

    • citypig
    • 08/14. 2009 12:11上午
    Using Mozilla Firefox Mozilla Firefox 3.5.1 on Windows Windows XP

    to Joray:

    /etc/services 只是定義一些常用的服務及 Port,並不表示一定在執行中!

    請用以下的指令判斷 port 是否正在使用:
    # netstat -tnlp | grep 3389

    若服務有在執行卻不能連線,請先將防火牆關閉再試試看。

  1. Using Mozilla Firefox Mozilla Firefox 9.0.1 on Windows Windows 7

    如果可以穿過防火牆就更好了...

  2. Using Google Chrome Google Chrome 31.0.1650.63 on Windows Windows 7

    最新的是linux桌面操作系统是fedora21,fedora21发布与新功能介绍(附fedora21安装教程与fedora21下载地址http://www.itpux.com/article-12-1.html )

  1. 03/16. 2013

return top

%d 位部落客按了讚: