我有 Ubuntu 18.04 和 Xrdp 0.9.5。启动后我可以直接登录本地桌面。如果我注销,我仍然可以通过 Xrdp 登录。
否则,如果 Xrdp 会话已打开,即使我关闭它,我也无法在本地登录桌面,我认为 Xrdp 会话正在阻止它。我需要重新启动机器,以便我可以在本地登录。
我如何关闭 Xrdp 会话?
当我尝试本地登录时,日志显示:
Jul 10 09:34:55 gdm-password]: pam_unix(gdm-password:session): session opened for user superadmin by (uid=0)
Jul 10 09:34:55 systemd-logind[879]: New session 3 of user superadmin.
Jul 10 09:34:57 gdm-password]: pam_unix(gdm-password:session): session closed for user superadmin
Jul 10 09:34:57 systemd-logind[879]: Removed session 3.
Jul 10 09:35:01 CRON[2485]: pam_unix(cron:session): session opened for user root by (uid=0)
Jul 10 09:35:01 CRON[2485]: pam_unix(cron:session): session closed for user root
重新启动机器是目前解决此问题的唯一方法。
更新
经过反复尝试,并参考@Sylla的建议,我发现不仅要杀死Xrdp进程,还要杀死XOrg
7313 ? 00:00:02 Xorg
7325 ? 00:00:00 xrdp-chansrv
之后,我现在可以在本地登录。
现在下一个问题是:我关闭远程桌面后是否可以让它自动终止进程?
答案1
我不知道 Xrdp 有两个配置文件(xrdp.ini
& sesman.ini
)。
因此,我在 Xrdp 存储库中创建了一个问题这里
。开发人员告诉我配置在 中sesman.ini
。名为 的变量KillDisconnected
将完成这项工作。但据我所知,它不能小于 的值60s
。
答案2
1)第一个解决方案:
ps -u 你的用户名 | grep xrdp
将为您提供进程ID。
然后您就可以
kill -9 进程号
pid 指的是您的 xrdp 进程 ID。
2)第二种解决方案
如果你想关闭 xrdp 会话,你可以使用此命令
/etc/init.d/xrdp 停止
如果您决定使用 xrdp:
/etc/init.d/xrdp 启动
要检查您的状态:
/etc/init.d/xrdp 状态
答案3
我参加这个聚会有点晚了,但我遇到了和你一样的问题,而且设置几乎相同。我尝试了几乎所有的方法,包括卸载不同的桌面并重新安装 gnome 桌面,但都没有奏效。唯一真正可靠的本地登录方法是重新启动计算机,但这不是我想要的解决方案。在使用远程 xrdp 客户端时,我偶然尝试退出远程会话,而不是像平常一样从工具栏关闭应用程序。没想到这招奏效了!!我能够可靠地在本地登录。总而言之,退出 xrdp 会话,而不是简单地关闭它。希望这个解决方案也适用于你。