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

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.