直到最近,我的 CentOS 7.4 工作站上才有了一个可以运行的 xrdp。我能够从 Windows 计算机进行连接,没有出现任何故障。然后发生了一些变化(也许是在“yum 更新”之后?),我现在无法连接(症状:“安全协商后出现 vnc 错误 1”)。我浏览了日志试图了解发生了什么,但没有成功。
然后,我尝试在工作站上手动启动 xrdp 和 xrdp-sesman(使用 -n“no-daemon”标志)以获取一些“实时”日志。
令人惊讶的是(?),当两者都手动启动时,我可以再次通过 xrdp 访问我的机器。
您知道我可以探索哪些途径来解决我的问题吗?您可以在网络上找到无数与 xrdp / vnc / CentOS 相关的帖子,其中大多数信息都是过时的,而且没有一个是非常有帮助的。
我认为对于 Linux 爱好者来说,手动启动时它可以工作这一事实应该会触发一些标志。
答案1
在 Debian 9 中遇到了完全相同的问题,并在这里找到了解决方案:
https://github.com/neutrinolabs/xrdp/issues/847
请参阅 imc0 下方 1/2 处的评论。对我来说实施需要一些修改。我的所有脚本(startwm.sh - 不是 startwm-bash.sh - 以及我创建的 startwm-local.sh)以及 sesman.ini 都位于 /etc/xrdp/ 中。
针对评论进行编辑:
--> 在 /etc/xrdp 中创建一个名为 startwm-local.sh 的文件,其中包含:
#!/bin/sh
执行 dbus-launch --exit-with-X11 /etc/xrdp/startwm.sh
--> 运行 chmod ugo+x /etc/xrdp/startwm-local.sh
--> 编辑 /etc/xrdp/sesman.ini,并更改以下行:
UserWindowManager=startwm.sh
默认窗口管理器=startwm.sh
到:
UserWindowManager=startwm-local.sh
DefaultWindowManager=startwm-local.sh