Каждое окружение рабочего стола в Linux имеет свою систему уведомлений. Некоторые окружения, такие, как GNOME или KDE, используют свои встроенные системы уведомлений, которые нельзя заменить; другие, как Xfce или Mate, используют более модульные компоненты. Сегодня — об Xfce и как отправлять уведомления на рабочий стол из командной строки с помощью утилиты notify-send.
Установка
Утилита notify-send доступна во всех основных дистрибутивах Linux как часть библиотеки libnotify. В большинстве случаев она уже установлена, если вдруг нет, установить можно стандартной для fedora/redhat командой:
1
sudo dnf install libnotify
Как использовать notify-send
Утилита отправки уведомлений имеет только один обязательный аргумент, которым является тема сообщения (его текст, например, что чай заварился). Например, можете сразу опробовать команду в консоли:
1
notify-send "Чай заварился"
Если надо добавить больше информации в уведомление, можно включить суть сообщения как второй аргумент команды; суть отображается после темы сообщения. Вот пример уведомления, которое включает в себя темуи суть:
1
notify-send "Чай заварился" "Вкусный зеленый чай уже готов"
Некоторые HTML-теги подходят для оформления сути сообщения:
<b></b>
<i></i>
<u></u>
<a></a>
<img></img>
Следовательно, мы можем сделать так, чтобы текст был выделен жирным шрифтом или курсивом, использовать гиперссылки и изображения.
1
notify-send "Чай заварился" "Вкусный <b>зеленый</b> чай уже готов"
Указание важности уведомления
Существует три уровня важности, которые могут иметь уведомления:
- критический
- нормальный
- низкий
Чтобы указать важность уведомления, надо использовать опцию -u и указать уровень важности в качестве аргумента. Чтобы отправить критическое уведомление, например, мы запустим следующую команду:
1
notify-send -u critical "Чай заварился" "Вкусный <b>зеленый</b> чай уже готов"
Отличие критической важности в том, что закрыть его можно только вручную (кликом).
Использование пользовательского значка уведомления
Опция -i позволяет добавить в окошко уведомления иконку, надо указать путь иконке после этой опции
1
notify-send -u critical -i /usr/share/icons/Adwaita/symbolic/emotes/emote-love-symbolic.svg "Чай заварился" "Вкусный <b>зеленый</b> чай уже готов"
Таймер
Но самое вкусное я оставил на десерт. Мы можем задавать таймер для уведомления, через вспомогательную команду sleep.
Надо указать время, через которое уведомление появится на экране и напомнит, что чай заварился. Например, три минуты, но для примера давайте начнем с 5 секунд:
1
sleep 5s; notify-send -u critical -i /usr/share/icons/Adwaita/symbolic/emotes/emote-love-symbolic.svg "Чай заварился" "Вкусный <b>зеленый</b> чай уже готов"
Ну и конечно, если вы часто делаете один и тот же таймер, можно создать кнопку на панели задач или скрипт и запускать его.
Поставьте чай, запрограммируйте таймер сообщения, делайте свои дела на компьютере, а уведомление напомнит, что чай готов.