目前,我们使用 xlock 为那些想要开始使用被其他人锁定的计算机的人提供注销按钮。不幸的是,这个注销过程很容易出现竞争情况,即 xlock 进程在会话的其余部分之前终止,这可能导致超越正在注销的会话。
我们有一个不均匀的环境,用户运行各种窗口管理器。我正在寻找一种方法,以与窗口管理器无关的方式注销当前用户(这意味着,根本没有可能出现屏幕锁定器在会话剩余部分之前死亡的竞争条件)或模拟 ctrl + alt + 以编程方式退格,强制 X 重新启动(不使用 root,因为 screenlocker 不应设置为 root)。