使用xrdp实现Windows 远程桌面linux

一般情况下我们用ssh客户端远程登陆Linux系统,至于图形界面下的Linux远程登陆工具,我们一般都会想到vnc,但它的安全性不够,在这里,我将介绍XRDP的安装配置方法。我们可以很方便的通过Windows远程桌面UbuntuLinux。

xrdp安装配置方法

打开终端:依次安装

sudoapt-getinstallxrdp

sudoapt-getinstallvnc4servertightvncserver

设置xrdp

echo"gnome-session--session=gnome-classic">~/.xsession

该命令的作用是由于安装了gnome桌面,ubuntu12.04中同时存在unity、GNOME多个桌面管理器,需要启动的时候指定一个,不然

即使远程登录验证成功以后,也只是背景。

xrdp的配置文档在/etc/xrdp目录下的xrdp.ini和sesman.in,一般选择默认。

重启xrdp

sudo/etc/init.d/xrdprestart

运行Windows的mstsc

即windows远程桌面,打开输入远程的Ip,连接,输入用户密码即可远程linux.

遇到的错误

1,xrdp访问ubuntu只看到背景,看不到菜单栏的解决办法

方法:安装gnome-panel

sudoapt-getinstallgnome-panel

2,Failedtoloadsession"gnome"

桌面用ubuntu-2d试下

键入命令:echo"gnome-session–session=ubuntu-2d">~/.xsession,然后重启xrdp。

3,出现错误:

connectingtosesmanip127.0.0.1port3350

sesmanconnectok

sendinglogininfotosesman

loginsuccessfulfordisplay14

startedconnecting

connectingto127.0.0.15914

error-problemconnecting

xrdp-sesman.log下错误为:

[INFO]startingXvncsession...

[ERROR]Xserverfordisplay10startuptimeout[INFO]startingxrdp-sessvc-xpid=2924-wmpid=2923

[ERROR]Xserverfordisplay10startuptimeout

[ERROR]anotherXserverisalreadyactiveondisplay10

[DEBUG]abortingconnection...

如果你的log也有类似Xserverfordisplay10startuptimeout和anotherXserverisalreadyactiveondisplay10

问题根源在于tightvnc,出现问题的版本跟X字体有冲突,导致连接Xserver出错。

解决方法:

apt-getpurgetightvncxrdp

apt-getinstalltightvncserverxrdp

最后:

启动xrdp服务,sudo/etc/init.d/xrdprestart,此时会启用相应端口,配置方面默认即可。

通过命令:netstat-tnl

查看335033895910这三个端口处于LISTEN,一般就没问题了。

dpkg-L+软件包的名字,可以知道这个软件包包含了哪些文件.

4,ubuntu13.10及以后版本无背景:

感谢评论中的童鞋提出的方案:

xrdp支持不了13.10的gnome了,解决办法是装个xfce界面,

sudoapt-getinstallxubuntu-desktop

然后:

echoxfce4-session>~/.xsession

再设置配置文件

sudogedit/etc/xrdp/startwm.sh

在./etc/X11/Xsession前一行插入

xfce4-session

重启xrdp

sudoservicexrdprestart