У меня есть скрипт bash, активированный crontab и работающий в фоновом режиме. Хотелось бы добавить в него возможность отправки уведомлений во время выполнения. Мой рабочий стол KDE 4 имеет причудливую систему уведомлений, которая выводит немодальные сообщения из панели задач, и это идеально подходит для моих нужд. Итак, я искал способ генерировать эти уведомления из скриптов bash, но я почти ничего не знаю о платформе KDE, поэтому я застрял. Может ли кто-нибудь указать мне решение?
Активация уведомлений KDE 4 из сценариев bash
Ответы (4)
Можно использовать опцию пассивного всплывающего окна kdialog
.
kdialog --passivepopup <text> <timeout>
Пример:
kdialog --passivepopup 'This is a notification' 5
Вы также можете использовать notify-send
(в системах на основе Debian установите пакет libnotify-bin
):
notify-send -i 'dialog-information' 'Summary' '<b><font color=red>Message body.'
Насколько мне известно, это должно работать в нескольких оконных менеджерах (таких как KDE и Gnome).
Изменить: HTML-форматирование сообщения будет работать только с некоторыми демонами уведомлений, поэтому его следует избегать.
notify-send
, но не kdialog. Это не кажется нормой, так как kdialog является частью kdebase, но, очевидно, есть системы, в которых установлена libnotify (дополнительная зависимость от dolphin), но не kdialog.
- person JepZ; 14.06.2019
kdialog --passivepopup 'message including html' timeout
вариант для KDE, где тайм-аут не нужен. вы можете настроить это, даже добавив заголовок (--title
) и т. д. --> см. kdialog --help
с одной стороны стоит отметить, что kdialog был установлен в моей системе openSuSE KDE4, тогда как notify-send здесь не установлен.
с другой стороны, преимущество notify-send в том, что вы можете использовать его с различными средами рабочего стола.
Подтвердите, что уведомление-отправка работает с XFCE4 (Debian-based Mint), за исключением того, что <b><font color=red>
у меня не работает. По какой-то причине это сделало основной текст сообщения темно-серым (практически неразборчивым), поэтому я оставил этот html, а заголовок («Сводка») и основной текст стали белыми.
Что круто, так это то, что вы можете указать абсолютный путь к значку, который вы предпочитаете, например. -i '~/myapps/foobarapp/icons/64x64/64x64.png'