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 位部落客按了赞: