以编程方式注销当前用户或重新启动 X 服务器(解决 xlock 竞争条件)

以编程方式注销当前用户或重新启动 X 服务器(解决 xlock 竞争条件)

目前,我们使用 xlock 为那些想要开始使用被其他人锁定的计算机的人提供注销按钮。不幸的是,这个注销过程很容易出现竞争情况,即 xlock 进程在会话的其余部分之前终止,这可能导致超越正在注销的会话。

我们有一个不均匀的环境,用户运行各种窗口管理器。我正在寻找一种方法,以与窗口管理器无关的方式注销当前用户(这意味着,根本没有可能出现屏幕锁定器在会话剩余部分之前死亡的竞争条件)或模拟 ctrl + alt + 以编程方式退格,强制 X 重新启动(不使用 root,因为 screenlocker 不应设置为 root)。

相关内容