当系统空闲时运行特定程序,并根据用户输入终止它

当系统空闲时运行特定程序,并根据用户输入终止它

我有许多 Ubuntu“Kiosk”系统,人们可以走到并使用它们来访问特定网站以输入特定信息。事实上,5 分钟不使用后屏幕会变成空白。然而我想改变这种行为。

我的组织运行一个名为 XIBO 的数字标牌应用程序,它有一个 Ubuntu 客户端。我希望系统能够运行该服务,而不是在信息亭 5 分钟未使用时使屏幕空白。我更喜欢使用 Ubuntu XIBO 应用程序,因为我有很多安装,并且我想使用该系统同步内容。

我研究了像 xscreensaver 这样的程序来执行此操作,但似乎没有一个好的方法来完成此操作。光是找空闲时间做点事情似乎就有点困难了。

我是否缺少一些明显的方法来实现这一目标?

答案1

您需要使用会话管理器/桌面环境的方法来执行此操作;像 systemd-timers 等东西根本无法访问启动图形应用程序所需的所有环境。

因此,您的屏幕保护程序方法很好!

假设这是运行 GNOME 的 Ubuntu,您需要不是显示屏幕保护程序,但仍使用 gnome-screensaver 环境。

然后,你会快速写一个查找会话不活动状态的 dbus 监视器,并做出相应反应(无论这对于 XIBO. 而言意味着什么)。

我敢打赌 XIBO 本身也有一个屏幕保护模式,所以你也可以以某种方式修改你的 ~/.xscreensaver,但我对 XIBO 完全没有任何线索。

相关内容