RDP方法实现通过 linux远程桌面windows

xrdp安装配置方法

打开终端:依次安装

sudo apt-get install xrdp

sudo apt-get install vnc4server tightvncserver

设置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/xrdp restart

运行Windows的mstsc

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

 

遇到的错误

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

方法:安装gnome-panel
sudo apt-get install gnome-panel

2,出现错误:连接错误

connecting to sesman ip 127.0.0.1 port 3350
sesman connect ok
sending login info to sesman
login successful for display 14
started connecting
connecting to 127.0.0.1 5914
error - problem connecting

xrdp-sesman.log下错误为:

[INFO ] starting Xvnc session...
[ERROR] X server for display 10 startup timeout[INFO ] starting xrdp-sessvc - xpid=2924 - wmpid=2923
[ERROR] X server for display 10 startup timeout
[ERROR] another Xserver is already active on display 10
[DEBUG] aborting connection...
如果你的log也有类似 X server for display 10 startup timeout和another Xserver is already active on display 10

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

解决方法:

apt-get purge tightvnc xrdp
apt-get install tightvncserver xrdp

最后:

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

通过命令:netstat  -tnl

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

3. 运行一段时间后,出现xrdp_mm_process_login_response: login failed

问题原因:远程桌面没有正确关闭,虽然在windows 系统关闭远程桌面连接,但是在里linux上的进程还在运行,导致连接数量达到上限,出现问题。

解决:通过设置sesman.in文件内的参数,解决。

root@lab403-1F:~# cat /etc/xrdp/sesman.ini
[Globals]
ListenAddress=127.0.0.1
ListenPort=3350
EnableUserWindowManager=1
UserWindowManager=startwm.sh
DefaultWindowManager=startwm.sh

[Security]
AllowRootLogin=1
MaxLoginRetry=4
TerminalServerUsers=tsusers
TerminalServerAdmins=tsadmins

[Sessions]
X11DisplayOffset=10
MaxSessions=50
KillDisconnected=1
IdleTimeLimit=0
DisconnectedTimeLimit=0

[Logging]
LogFile=/var/log/xrdp-sesman.log
LogLevel=DEBUG
EnableSyslog=0
SyslogLevel=DEBUG

[X11rdp]
param1=-bs
param2=-ac
param3=-nolisten
param4=tcp

[Xvnc]
param1=-bs
param2=-ac
param3=-nolisten
param4=tcp
param5=-localhost
param6=-dpi
param7=96

可以修改会话设置  :将最大会话限制该大  MaxSessions=50
将KillDisconnected=1;则每次断开连接时,linux都会关闭会话进程。

然后重启/etc/init.d/xrdp restart    就可解决问题

posted @ 2020-09-15 10:03  konglingbin  阅读(2351)  评论(0编辑  收藏  举报