2012/09/12

Published 9月 12, 2012 by with 0 comment

Linux 遠端桌面(XRDP)

“遠端桌面(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


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.1 .tar.gz


tar -xzvf xrdp- 0.4.1 .tar.gz


cd xrdp- 0.4.1


make


make install


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


/usr/local/xrdp/xrdp_control.sh start


PS.若使用rpm安裝,xrdp_control.sh此檔案會找不到…


 


啟動 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


這樣就可以了。


 


參考資料:http://punz.pixnet.net/blog/post/24772651


Read More