使用 RHEL 7.4、GDM 3.22.3
本质上,我的问题是每次我注销 gnome(作为任何用户)时,gdm 都会停止 X 并在不同的显示编号上启动它。这只是一个真正的问题,因为一些旧脚本(无论如何都应该更新)总是期望 X 位于 :0 上。这是系统启动时和第一个用户登录时的情况,但一旦该用户注销,X :0 就会被终止,而 X :1 就会启动。查看 /var/log/gdm 中的日志,我看到 gdm 尝试启动 X :0,而之前的 X :0 仍在运行,失败,然后在 X :1 上启动。
在 gdm 上使用 strace,这似乎是一个竞争条件。看起来一个线程向旧 X 发送 SIGTERM,但是一个单独的线程尝试启动新 X,并在旧 X 完成终止之前失败(基于 SIGCHILD 接收)。是否有一种好方法强制 gdm 仅启动X on 0 如果不行就重试?我可能缺少其他解决方案吗?
更新:我在 Centos 7.4 上重复了这一点。