如果屏幕锁定,跳过通知发送作业?

Pri*_*wer 4 scripts ubuntu-gnome 18.04

我有一个每小时运行一个脚本的 cron,它在启动后使用通知发送在 Ubuntu 18.04 桌面(Gnome)上发送通知。

我可以在脚本中添加什么:

  1. 如果屏幕被锁定,则退出。
  2. 如果屏幕未锁定,则继续正常操作并发出通知。

下面的答案让我根据环境而定:

$ qdbus org.freedesktop.ScreenSaver /ScreenSaver org.freedesktop.ScreenSaver.GetActive

$ qdbus org.kde.screensaver /ScreenSaver org.freedesktop.ScreenSaver.GetActive

$ qdbus org.gnome.ScreenSaver /ScreenSaver org.gnome.ScreenSaver.GetActive
Run Code Online (Sandbox Code Playgroud)

Kri*_*ves 5

有一个设置可以在启用锁定屏幕时隐藏通知:

图形用户界面设置

您还可以通过命令行修改此设置:

gsettings set org.gnome.desktop.notifications show-in-lock-screen false
Run Code Online (Sandbox Code Playgroud)

但是,既然您问了,您也可以gdbus在命令行上使用--session参数org.gnome.ScreenSaver来确定屏幕是否被锁定。