问题描述
我一直在尝试使用xrdp精确地设置RDP终端服务器,并且在获取工作配置方面遇到了很大的麻烦。当用户登录时,我需要它连接到该用户现有会话(如果存在),否则启动新会话,并且任何已启动的会话必须启动LXDE。我需要对默认配置进行哪些更改才能使其正常工作?
最佳解决思路
我有同样的问题,我刚刚找到了一个简单的解决方案。我最初刚刚使用标准版本安装了xrdp:
apt-get install xrdp
之后,它的所有关于你的xrdp.ini文件,位于这里:
/etc/xrdp/xrdp.ini
要打开和编辑xrdp的配置文件,请使用:
sudo nano /etc/xrdp/xrdp.ini
默认情况下,第一个xrdp会话处理脚本如下所示:
[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总是re-connects到现有的会话总是使用相同的端口。
次佳解决思路
我想改进现有的答案。最高投票的答案是编辑xrdp.ini
文件以将端口更改为固定值来代替-1
通配符以查找开放端口。
我尝试过,但第一次连接错误,所以最终切换回-1
值。虽然问题仍然没有恢复,但很快就陷入了挫折之中,所以我再次查看了ini文件。
什么对我有用,而且我真正感到好奇的是:
编辑/etc/xrdp/xrdp.ini
在[xrdp1]
下,port=-1
我发现用户名和密码都设置为ASK。如果您设置了port=ask
,您将在登录提示时使用用户名和密码选择一个端口。
我没有安装其他软件包,而是找到了最简单的修复方法来设置ask选项,在登录时使用用户名和密码连接第一个会话(如果我还没有运行)会在端口-1上。断开会话后,要恢复现有会话,请始终登录默认端口:5910,您将恢复现有会话,直到重新启动远程计算机或在注销时结束会话。
总结一下:
-
编辑
xrdp.ini
文件 -
设置
port = ask
-
从远程计算机连接,如果没有现有会话,则在登录时指定端口
-1
-
要恢复会话,请输入默认值
5910
第三种解决思路
我不想成为那个刚刚删除链接的人,但我按照指南here进行了操作,效果非常好。我现在可以从Linux和Windows主机登录到RDP会话,如果我以前登录过,请将我重新连接到旧会话。这是我发现的安装的最佳指南。不幸的是,标准软件包安装比从源代码安装引起的问题要多得多。
该链接的作者还制作了一个automatic tool来安装和配置它,但我还没有尝试过,所以要小心。
希望能帮到你。
第四种思路
问题是xrdp并不总是连接到同一个端口。如果它没有,你忘记了端口号,你可以登录一个ssh会话,找出号码
netstat -tulpn | grep vnc
你会得到类似下面的东西
tcp 0 0 127.0.0.1:5911 0.0.0.0:* LISTEN 5365/Xvnc
然后你知道5911是你连接的端口。
第五种思路
当您第一次连接到远程桌面时,在xrdp框的登录屏幕上应该有一个下拉框,从这里选择”vnc-any”然后输入计算机的IP地址和密码,但保留端口的位置,这个应该帮助:)