Pesquisa de site

Ntfy - Receba alertas na área de trabalho ou no telefone quando o comando de longa execução terminar


Ntfy é um utilitário Python de plataforma cruzada simples, mas útil, que permite receber automaticamente notificações na área de trabalho sob demanda ou quando comandos de longa execução são concluídos. Ele também pode enviar notificações push para o seu telefone assim que um comando específico for concluído.

Ele suporta integração de shell com shells populares do Linux, como bash e zsh; por padrão, ntfy enviará notificações apenas para comandos que durem mais de 10 segundos e se o terminal estiver focado. Ele também oferece recursos para suporte a processos, emjoi, XMPP, Telegram, Instapush e notificação do Slack.

Confira o vídeo a seguir que demonstra algumas das funcionalidades do ntfy:

Etapa 1: como instalar o Ntfy no Linux

O pacote Ntfy pode ser instalado usando Python Pip da seguinte maneira.

sudo pip install ntfy

Uma vez instalado o ntfy, ele pode ser configurado usando um arquivo YAML localizado em ~/.ntfy.yml ou em locais específicos da plataforma padrão, ~/config/ntfy/ntfy.yml no Linux.

Ele opera via dbus e funciona na maioria, senão em todos os ambientes de desktop Linux populares, como Gnome, KDE, XFCE e com libnotify. Certifique-se de ter as dependências necessárias instaladas antes de usá-lo, conforme mostrado.

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

Etapa 2: Integrar Ntfy com Linux Shells

ntfy oferece suporte para envio espontâneo de notificações assim que comandos de longa execução forem concluídos em bash e zsh. No bash, ele reproduz a função de preexec e precmd do zsh usando rcaloras/bash-preexec.

Você pode habilitá-lo em seu arquivo .bashrc ou .zshrc conforme abaixo:

eval  "$(ntfy shell-integration)"

Após integrá-lo ao shell, o nfty enviará notificações em sua área de trabalho para quaisquer comandos que durem mais de 10 segundos, desde que o terminal esteja focado, esta é a configuração padrão.

Observe que o terminal focus funciona no X11 e com Terminal.app. Você pode configurá-lo através dos sinalizadores --longer-than e --foreground-too.

Ignore notificações desnecessárias

Imaginavelmente, você pode eliminar notificações desnecessárias ao executar programas interativos, isso pode ser configurado usando a variável env AUTO_NTFY_DONE_IGNORE.

Por exemplo, usando o comando export abaixo, você evitará que o comando “vim screen meld” gere notificações:

export AUTO_NTFY_DONE_IGNORE="vim screen meld"

Etapa 3: como usar o Nfty no Linux

Depois de instalar e configurar o ntfy, você pode testá-lo com estes exemplos:

ntfy send "This is TecMint, we’re testing ntfy"

O exemplo abaixo mostra como executar um comando e enviar uma notificação quando terminar:

ntfy done sleep 5

Para usar um título de notificação personalizado, defina o sinalizador -t da seguinte maneira.

ntfy -t 'TecMint' send "Using custom notification title"

O exemplo abaixo mostrará um emoji para o código específico usado.

ntfy send ":wink: Using emoji extra! :joy:" 

Para enviar uma notificação para a área de trabalho assim que um processo com o ID especificado for concluído, use o exemplo abaixo:

ntfy done --pid 2099

Você pode visualizar todas as notificações usando o indicador de notificação, execute os comandos abaixo para instalar o indicador de notificações recentes.

sudo add-apt-repository ppa:jconti/recent-notifications
sudo apt update && sudo apt install indicator-notifications

Quando a instalação for concluída, inicie o indicador do Unity Dash, execute alguns comandos ntfy e clique no ícone do painel para visualizar todas as notificações.

Para visualizar uma mensagem de ajuda, execute:

ntfy -h

Etapa 4: instalar recursos adicionais do Ntfy

Você pode instalar recursos adicionais, mas isso exige dependências extras:

ntfy done -p $PID – requer instalação como ntfy[pid].

pip install ntfy[pid]

suporte emjoi – requer instalação como ntfy[emoji].

pip install ntfy[emoji]

Suporte XMPP – requer instalação como ntfy[xmpp].

pip install ntfy[xmpp]

Suporte ao Telegram – requer instalação como ntfy[telegram].

pip install ntfy[telegram]

Suporte Instapush – requer instalação como ntfy[instapush].

pip install ntfy[instapush]

Suporte ao Slack – requer instalação como ntfy[slack].

pip install ntfy[slack]

E para instalar vários recursos extras usando um único comando, separe-os com vírgulas assim:

pip install ntfy[pid,emjoi,xmpp, telegram]

Para um guia de uso completo, confira: http://ntfy.readthedocs.io/en/latest/

Isso é tudo! Neste artigo, mostramos como configurar e usar o ntfy nas principais distribuições do Linux. Use o formulário de feedback abaixo para compartilhar suas idéias sobre este artigo ou compartilhe conosco informações sobre quaisquer utilitários Linux semelhantes.