我一直在尝试使用xrdp在Precise上设置RDP终端服务器,但一直无法获得可工作的配置。当用户登录时,如果存在该用户的现有会话,则需要连接到该会话,否则启动新会话,并且任何已启动的会话都必须启动LXDE。为使此功能正常工作,我需要对默认配置进行哪些更改?
apt-get install xrdp
/etc/xrdp/xrdp.ini
sudo nano /etc/xrdp/xrdp.ini
[xrdp1]
name=sesman-vnc
lib=libvnc.so
username=ask
password=ask
ip=127.0.0.1
port=-1
port=-1
,这使得xrdp始终寻找一个空闲端口进行连接。如果你在这里设置了一个固定的端口,xrdp将始终返回并连接到同一个会话。我改变了我的设置,它看起来像这样:[xrdp1]
name=customsessionname
lib=libvnc.so
username=myusername
password=ask
ip=127.0.0.1
port=5912
port=-1
更改为port=5912
。我的xrdp始终重新连接到现有会话,并始终使用相同的端口。port=-1
,在使用XFCE4时,我最终还是得到了相同的会话。我不确定这是由于XRDP还是XFCE4本身引起的。 - CMCDragonkaixrdp.ini
文件,将端口更改为固定值,而不是使用-1
通配符来查找开放的端口。-1
的值。然而,问题仍然存在,无法恢复连接,所以我再次查看了ini文件。/etc/xrdp/xrdp.ini
在[xrdp1]
下面,我注意到用户名和密码被设置为ASK。如果你将port=ask
,在登录提示中,你将有选择的机会输入用户名和密码来选择一个端口。xrdp.ini
文件port = ask
-1
5910
port=ask
是一个很好的解决方案。无论是从 rdesktop、xfreerdp 还是 Guacamole 进入,都能可靠地恢复会话。谢谢! - PLAnetstat -tulpn | grep vnc
tcp 0 0 127.0.0.1:5911 0.0.0.0:* LISTEN 5365/Xvnc
然后你知道5911是你连接的端口。
sudo vi /etc/xrdp/xrdp.ini
port=ask-1
。[xrdp1]
name=sesman-Xvnc
lib=libvnc.so
username=ask
password=ask
ip=127.0.0.1
port=ask-1
sudo service xrdp restart
netstat -peant | grep 59 | grep Xvnc
xrdp
问题,我总是发现避免安装预编译包,改为从源代码构建更有用。configure
开关显式启用,此外键盘映射文件经常过时,像花括号这样的一些键对我来说无法正常工作。当我安装自定义编译版本时,大多数问题神奇地消失了。xrdp
和xorgxrdp
(类似于x11rdp的xrdp会话管理器),然后调整/etc/xrdp.ini
和/etc/xrdp/sesman.ini
文件,后者由Xorg(xrdp)
使用。我建议在第一个文件中禁用动态通道以降低客户端和服务器的CPU消耗。xrdp-sesman
的子进程。原来是在使用systemd时出现了权限问题。谷歌找到了一个修补程序来解决这个问题。ps axf
并查看xrdp-sesman
的进程树。X11rdp、xrdp-chansrv、xrdp-sessvc
应该都作为子进程运行。如果它们没有运行,xrdp-sesman
将无法知道如何重新连接到会话。[vnc-any]
name=vnc-any
lib=libvnc.so
ip=localhost
port=5901
username=na
password=YOURPASSWORD
#pamusername=asksame
#pampassword=asksame
#pamsessionmng=127.0.0.1
#delay_ms=2000
ps axf | grep vnc
命令。您现有和新的rdp会话的显示参数将显示类似于-geometry 1920x1080 -depth 16的内容。记下这些值,注销您的新会话,然后尝试使用您找到的值进行另一个xrdp登录。