Получить уведомление о выполнении терминальной задачи
Для выполнения большинства задач в моем компьютере с Linux я предпочитаю режим CLI, а не графический интерфейс, и я уверен, что большинство из вас поступят так же. Когда я запускаю команду, выполнение которой занимает много времени, я постоянно проверяю Терминал, чтобы убедиться, выполнена задача или нет. Скажем, например, когда я обновляю свою систему Arch, я продолжаю проверять Терминал, чтобы узнать, выполнена данная задача или нет. Уже нет! Сегодня я наткнулся на полезный скрипт под названием NotiFyre, который уведомляет вас всплывающим окном о завершении активности Терминала.
Я протестировал его на рабочем столе Ubuntu 16.04 LTS, и он работает хорошо, как описано ниже.
Получайте уведомление при выполнении терминальной задачи с помощью NotiFyre
Убедитесь, что у вас установлены следующие необходимые компоненты.
sudo apt-get install notify-osd pulseaudio-utils libnotify-bin
Как правило, эти необходимые компоненты будут установлены по умолчанию в большинстве дистрибутивов Linux. Чтобы проверить, работает ли notify-osd, выполнив следующую команду из вашего терминала.
notify-send "hello"
Приведенная выше команда откроет всплывающее окно с сообщением «Привет». Если сообщение не появляется, это означает, что notify-osd не работает. Попробуйте переустановить вышеуказанные необходимые компоненты, как показано ниже.
sudo apt-get --reinstall install libnotify-bin notify-osd
Теперь запустите команду notify-send и посмотрите, появится ли сообщение.
Затем загрузите или клонируйте сценарий NotiFyre со страницы GitHub. Ссылка прикреплена в конце данного руководства.
Затем откройте папку NotiFyre. Скопируйте следующие файлы и поместите их в папку HOME, если вы используете оболочку BASH.
- bash-preexec.sh
- notifyre.sh
- терминал.png
Затем отредактируйте файл bashrc:
sudo vi ~/.bashrc
Добавьте следующие строки в конце.
source ~/notifyre.sh
source ~/bash-preexec.sh
Сохраните и закройте файл. Затем выполните следующую команду, чтобы сохранить сохраненные изменения.
source ~/.bashrc
Теперь запустите любую задачу на своем Терминале, и вы будете получать уведомление каждый раз, когда команда будет выполнена.
Круто, не так ли?
Также проверьте этот аналогичный инструмент:
- Untract-me: получать уведомления при завершении длительных команд терминала
Если вы используете Fishshell, вам необходимо разместить terminal.png, prompt_pwd.fish, notifyre.fish и файлы nf.fish в папке ~/.config/fish/functions/. Затем отредактируйте файл functions/fish_prompt.fish и добавьте следующие строки в самом конце.
function fish_prompt
...
eval (notifyre)
end
Вы можете изменить звук (тон) уведомления, отредактировав эту строку в файле notifyre.sh.
ALERT=/usr/share/sounds/ubuntu/notifications/Slick.ogg
Кроме того, вы можете изменить время интервала уведомлений, отредактировав следующую строку в файле notifyre.sh.
[ $(($(date +%s) - start)) -le 0 ] || notify-send "Terminal process" "$(echo $@) completed in $(($(date +%s) - start)) seconds" -i ~/terminal.png -t 2000
Теперь вам не нужно постоянно проверять Терминал, чтобы узнать, выполнена задача или нет. Просто запустите и забудьте о длительной терминальной задаче. NotiFyre позаботится об этом и сообщит вам, как только задача будет выполнена.
И это все. Надеюсь, это было полезно. Впереди еще больше хороших вещей. Следите за обновлениями!
Ваше здоровье!
Ресурс:
- Страница NotiFyre на GitHub