Пропуск уведомляет - отправляют задание, если экран заблокировал?

У меня есть крон, который запускает скрипт каждый час, он использует уведомление - посылают за уведомлением на рабочем столе 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
3
задан 1 January 2019 в 05:46

2 ответа

Существует установка для сокрытия уведомлений, в то время как экран блокировки включен:

GUI settings

Можно также изменить эту установку через командную строку:

gsettings set org.gnome.desktop.notifications show-in-lock-screen false

Но, так как Вы спросили, можно также использовать gdbus на командной строке с --session параметр и org.gnome.ScreenSaver определить, заблокирован ли экран.

4
ответ дан 1 December 2019 в 15:49

Тест, если экранная заставка активна

qdbus скажет Вам, если экранная заставка (используемый Экраном Блокировки) будет активна. Сначала необходимо знать, какую среду Вы используете: Gnome, Единица, KDE, и т.д.

В этом примере Единица активна, пока Gnome и KDE не:

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

$ qdbus org.gnome.ScreenSaver /ScreenSaver org.gnome.ScreenSaver.GetActive
Error: org.freedesktop.DBus.Error.UnknownMethod
No such interface 'org.gnome.ScreenSaver' on object at path /ScreenSaver

$ qdbus org.kde.screensaver /ScreenSaver org.freedesktop.ScreenSaver.GetActive
Service 'org.kde.screensaver' does not exist.

Для рабочего стола Gnome возвратится вторая опция false и сообщение об ошибке появится для первых и третьих опций.

0
ответ дан 1 December 2019 в 15:49

Другие вопросы по тегам:

Похожие вопросы: