Значки
ово, если бы вы могли получать всплывающие уведомления после завершения долго выполняющихся задач из командной строки? Ну, ты можешь. На самом деле создать уведомления на рабочем столе из командной строки очень просто с помощью командыnotify-send
.
Вы можете использовать notify-send
в своих сценариях или настроить его на запуск после длинной команды, которую вы только что ввели в командную строку. Создаваемые вами сообщения полностью настраиваются и автоматически интегрируются в любую рабочую среду, поэтому они не выглядят неуместными или уродливыми.
Основное уведомление
Откройте терминал в вашей системе Linux и создайте первое уведомление. Используйте приведенный ниже вариант и посмотрите, как он работает.
notify-send 'Hello World!' 'This is a custom notification!'
Вы видели, как оно всплыло
Основное уведомление
.notify-send 'I sent a notification!' 'Yeah! Another custom notification!'
Теперь вы можете настроить уведомления еще больше!
Читайте также: Как отключить уведомления в Ubuntu с помощью NoNotifications
Срочность
Некоторые уведомления важнее других. Существует три уровня уведомлений: низкий, нормальный и критический. Среда вашего рабочего стола может визуально различать их или влиять на то, как долго они будут отображаться на экране. Вы можете указать срочность ваших уведомлений с помощью флага -u
.
notify-send 'SUPER IMPORTANT!' 'This is an urgent message!' -u critical
Посмотрите, чем это отличается от режима низкой срочности:
notify-send 'Eveything is alright' 'Just checking.' -u low
Окружение рабочего стола будет определять их пов
Срочность
ачкиБыло бы еще лучше, если бы к этим сообщениям можно было добавить графическую составляющую, не так ли? Ну, ты можешь. notify-send
позволяет указать значок. Он уже «знает» все ваши системные значки, поэтому, если вы заглянете в «/usr/share/icons», вы увидите, что там доступно. Используйте имя файла значка без расширения вместе с флагом -i
, чтобы добавить его в сообщение.
notify-send 'I broke all the things!' 'Call the admin, NOW!' -u critical -i face-worried
Если вам не нравятся системные значки, вы всегда можете указать в уведомлениях собственные значки. Просто используйте путь к файлу значка.
notify-send 'Super Awesome Custom Icon' 'It is pretty cool, right?' -u normal -i '/home/user/Pictures/icons/excellent-icon.png'
Другие флаги
Есть и другие флаги, которые вы можете изучить. Чтобы увидеть их все, запустите notify-send --help
. Несколько полезных опций позволяют указать приложение, отправляющее уведомление, и время, в течение которого оно остается. Итак, если вы хотите, чтобы ваше уведомление оставалось активным в течение определенного времени, добавьте флаг -t
.
notify-send 'It Broke' 'You command failed' -u normal -t 10000 -i error
Флаг -a
позволяет указать приложение, отправляющее уведомление. Не каждая среда рабочего стола включает эту информацию, но она может помочь вам отличить ее от других.
notify-send 'My script has a name!' 'The script did something.' -a 'Script Name' -u normal -i face-smile
Сценарии
Написание сценариев — одна из основных вещей, с которыми вы можете использовать все это. Это не обязательно должен быть массивный и сложный сценарий Bash. Допустим, вам нужно уведомление, когда ваша система завершит обновление. Это можно сделать довольно легко.
sudo apt update && sudo apt -y upgrade && notify-send 'Updates Complete' 'Your system updated succДругие флаги
an>-u normal -t 7500 -i checkbox-checked-symbolic
Вы можете усложнять его настолько, насколько захотите, и даже создавать свои собственные сценарии-оболочки с уведомлениями.
#! /bin/bash if sudo apt install $1; then notify-send "Install Successful!" "$1 installed successfully" -u normal -t 5000 -i checkbox-checked-symbolic; else notify-send "Install Failed" "$1 failed to install" -u critical -i error; fi
Этот пример по-прежнему прост, но вы можете получить представление о том, что возможно.
По SSH
Если на вашем компьютере настроен SSH для сеансов X-сервера, вы также можете отправлять уведомления через SSH.
ssh -X user@192.168.0.112 'DISPLAY=:0 notify-send "HAHA I'm In Your Computer!" "Deleting all your stuff!" -u critical -i face-worried'
Очевидно, что троллинг людей в вашей сети — не единственное применение для это
Сценарии
ные для входа, как если бы вы регулярно добавляли SSH. Однако сеанс не будет поддерживаться. Он просто отобразит сообщение и завершит работу.С помощью notify-send
вы можете делать множество вещей, используя SSH и сценарии. Поэкспериментируйте и посмотрите, как можно адаптировать его к своим потребностям.