Ntfy — получайте оповещения на рабочем столе или телефоне при завершении длительной команды
Ntfy — это простая, но удобная кроссплатформенная утилита Python, которая позволяет автоматически получать уведомления на рабочем столе по требованию или при завершении длительных команд. Он также может отправлять push-уведомления на ваш телефон после завершения определенной команды.
Он поддерживает интеграцию оболочки с популярными оболочками Linux, такими как bash и zsh; по умолчанию ntfy будет отправлять уведомления только для команд продолжительностью более 10 секунд и если терминал находится в фокусе. Он также предлагает функции поддержки уведомлений процессов, emjoi, XMPP, Telegram, Instapush и Slack.
Посмотрите следующее видео, демонстрирующее некоторые функциональные возможности ntfy:
Шаг 1. Как установить Ntfy в Linux
Пакет Ntfy можно установить с помощью Python Pip следующим образом.
sudo pip install ntfy
После установки ntfy его можно настроить с помощью файла YAML, расположенного в ~/.ntfy.yml
или в стандартных местах, специфичных для платформы, ~/config/ntfy/ntfy.yml
. на Линуксе.
Он работает через dbus и работает в большинстве, если не во всех, популярных средах рабочего стола Linux, таких как Gnome, KDE, XFCE и с libnotify. Прежде чем использовать его, убедитесь, что у вас установлены необходимые зависимости, как показано.
sudo apt-get install libdbus-glib-1-dev libdbus-1-dev [On Debian/Ubuntu]
sudo yum install dbus-1-glib-devel libdbus-1-devel [On Fedora/CentOS]
pip install --user dbus-python
Шаг 2. Интегрируйте Ntfy с оболочками Linux
ntfy предлагает поддержку спонтанной отправки уведомлений после завершения длительных команд в bash и zsh. В bash он воспроизводит функции preexec и precmd zsh, используя rcaloras/bash-preexec.
Вы можете включить его в своем файле .bashrc
или .zshrc
, как показано ниже:
eval "$(ntfy shell-integration)"
После интеграции с оболочкой nfty будет отправлять уведомления на ваш рабочий стол для любых команд длительностью более 10 секунд при условии, что терминал находится в фокусе (это настройка по умолчанию).
Обратите внимание, что фокус терминала работает на X11 и с Terminal.app. Вы можете настроить его с помощью флагов --longer-than
и --foreground-too
.
Игнорируйте ненужные уведомления
Можно представить, что вы можете избавиться от ненужных уведомлений при запуске интерактивных программ, это можно настроить с помощью переменной env AUTO_NTFY_DONE_IGNORE.
Например, используя приведенную ниже команду export, вы запретите команде «vim screen meld» генерировать уведомления:
export AUTO_NTFY_DONE_IGNORE="vim screen meld"
Шаг 3: Как использовать Nfty в Linux
После того, как вы установили и настроили ntfy, вы можете протестировать его с помощью следующих примеров:
ntfy send "This is TecMint, we’re testing ntfy"
В приведенном ниже примере показано, как запустить команду и отправить уведомление после ее выполнения:
ntfy done sleep 5
Чтобы использовать собственный заголовок уведомления, установите флаг -t
следующим образом.
ntfy -t 'TecMint' send "Using custom notification title"
В приведенном ниже примере будет показан смайлик для конкретного используемого кода.
ntfy send ":wink: Using emoji extra! :joy:"
Чтобы отправить уведомление на рабочий стол после завершения процесса с указанным идентификатором, используйте пример ниже:
ntfy done --pid 2099
Вы можете просмотреть все уведомления с помощью индикатора уведомлений. Запустите команды ниже, чтобы установить индикатор последних уведомлений.
sudo add-apt-repository ppa:jconti/recent-notifications
sudo apt update && sudo apt install indicator-notifications
Когда установка завершится, запустите индикатор из Unity Dash, выполните несколько команд ntfy и щелкните значок на панели, чтобы просмотреть все уведомления.
Чтобы просмотреть справочное сообщение, запустите:
ntfy -h
Шаг 4. Установите дополнительные функции Ntfy
Вы можете установить дополнительные функции, но это потребует дополнительных зависимостей:
ntfy Done -p $PID – требует установки как ntfy[pid].
pip install ntfy[pid]
Поддержка emjoi – требуется установка как ntfy[emoji].
pip install ntfy[emoji]
Поддержка XMPP – требуется установка как ntfy[xmpp].
pip install ntfy[xmpp]
Поддержка Telegram – требуется установка как ntfy[telegram].
pip install ntfy[telegram]
Поддержка Instapush – требуется установка как ntfy[instapush].
pip install ntfy[instapush]
Поддержка Slack – требуется установка как ntfy[slack].
pip install ntfy[slack]
А чтобы установить несколько дополнительных функций с помощью одной команды, разделите их запятыми, например:
pip install ntfy[pid,emjoi,xmpp, telegram]
Подробное руководство по использованию можно найти по адресу: http://ntfy.readthedocs.io/en/latest/.
Вот и все! В этой статье мы показали вам, как настроить и использовать ntfy в основных дистрибутивах Linux. Используйте форму обратной связи ниже, чтобы поделиться своими мыслями по поводу этой статьи или поделиться с нами информацией о любых похожих утилитах Linux.