Активация уведомлений KDE 4 из сценариев bash

У меня есть скрипт bash, активированный crontab и работающий в фоновом режиме. Хотелось бы добавить в него возможность отправки уведомлений во время выполнения. Мой рабочий стол KDE 4 имеет причудливую систему уведомлений, которая выводит немодальные сообщения из панели задач, и это идеально подходит для моих нужд. Итак, я искал способ генерировать эти уведомления из скриптов bash, но я почти ничего не знаю о платформе KDE, поэтому я застрял. Может ли кто-нибудь указать мне решение?


person Massimiliano Fliri    schedule 04.09.2009    source источник
comment
Какую систему уведомлений вы используете, если не возражаете, я спрошу?   -  person jackyalcine    schedule 10.09.2012
comment
Если вы можете забыть об интеграции с областью уведомлений вашего DE, вы можете использовать команду xmessage (из x11-utils), целью которой является /bin/echo на основе X, т. е. просто всплывает минимальное диалоговое окно.   -  person Johan Boulé    schedule 20.02.2019


Ответы (4)


Можно использовать опцию пассивного всплывающего окна kdialog.

kdialog --passivepopup <text> <timeout>

Пример:

kdialog --passivepopup 'This is a notification' 5
person Alan Haggai Alavi    schedule 04.09.2009
comment
В моей системе эта команда отправляет уведомление в правом верхнем углу экрана с синим фоном и белым текстом. - person qed; 19.02.2014

Вы также можете использовать notify-send (в системах на основе Debian установите пакет libnotify-bin):

notify-send -i 'dialog-information' 'Summary' '<b><font color=red>Message body.'

Насколько мне известно, это должно работать в нескольких оконных менеджерах (таких как KDE и Gnome).

Изменить: HTML-форматирование сообщения будет работать только с некоторыми демонами уведомлений, поэтому его следует избегать.

person mzuther    schedule 22.09.2011
comment
Отличный совет в этом ответе: я узнал, что вы можете использовать тело с помощью html и что первый текст является предметом уведомления. - person Diego Shevek; 12.09.2013
comment
К моему удивлению, на моем Arch Linux с KDE установлен 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 в том, что вы можете использовать его с различными средами рабочего стола.

person user3220705    schedule 21.01.2014

Подтвердите, что уведомление-отправка работает с XFCE4 (Debian-based Mint), за исключением того, что <b><font color=red> у меня не работает. По какой-то причине это сделало основной текст сообщения темно-серым (практически неразборчивым), поэтому я оставил этот html, а заголовок («Сводка») и основной текст стали белыми.

Что круто, так это то, что вы можете указать абсолютный путь к значку, который вы предпочитаете, например. -i '~/myapps/foobarapp/icons/64x64/64x64.png'

person user303371    schedule 17.04.2017