Поиск по сайту:

Получить уведомление о выполнении терминальной задачи

Для выполнения большинства задач в моем компьютере с 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.pngprompt_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

Статьи по данной тематике