Neste artigo vamos mostrar um utilitário chamado Undistract-me. Este script mostra um aviso quando os comandos que estamos executando no terminal forem concluídos. Isso pode ser útil quando, após a execução de um comando, começamos a trabalhar em outra coisa. Com isso, não precisamos verificar constantemente o terminal para ver se o comando foi concluído ou não. O utilitário Undistract-me avisará quando um comando de longa duração for concluído. Ele funciona no Arch Linux, Debian, Ubuntu e outros derivados.
O script mostra um aviso na área de trabalho quando os comandos de longa duração terminam, possibilitando que dediquemos nosso tempo a algo mais do que olhar para o terminal enquanto os comandos são executados.
Instalar o Undistract-me
O Undistract-me está disponível nos repositórios Debian padrão e suas variantes, como o Ubuntu. Testei-o no Ubuntu 17.10. Todo aquele que quiser ver o código-fonte deste script no GitHub do projeto.
Para adicioná-lo ao seu sistema, tudo o que você precisa fazer é executar o seguinte comando no terminal (Ctrl + Alt + T) para instalá-lo:
sudo apt install undistract-me
Quando a instalação terminar, no mesmo terminal, execute o seguinte comando para adicionar “undistract-me” ao seu Bash:
echo 'source /etc/profile.d/undistract-me.sh' >> ~/.bashrc
Alternativamente, você pode executar este comando para adicioná-lo ao seu Bash:
echo "source /usr/share/undistract-me/long-running.bash\nnotify_when_long_running_commands_finish_install" >> .bashrc
Finalmente, atualize as alterações executadas no mesmo terminal:
source ~/.bashrc
Configurando o Undistract-me
Alterar o tempo para notificação
Por padrão, o Undistract-me considerará qualquer comando que leve mais de 10 segundos para ser concluído como um comando de longa duração. Mas isso pode ser alterado. Podemos alterar esse intervalo de tempo editando o arquivo /usr/share/undistract-me/long-running.bash.
sudo nano /usr/share/undistract-me/long-running.bash
Dentro do arquivo, teremos que encontrar a variável “LONG_RUNNING_COMMAND_TIMEOUT” e alterar o valor padrão (10 segundos) para outro valor de sua escolha. Em seguida, salve e feche o arquivo. Não esqueça de atualizar as alterações executando o comando:
source ~/.bashrc
Ativar / Desativar notificações para comandos específicos
Além disso, podemos desativar notificações para comandos específicos. Para isso, temos que procurar a variável “LONG_RUNNING_IGNORE_LIST” e adicionar os comandos que serão ignorados.
Ativar / Desativar verificação de janela ativa
Por padrão, a notificação só será exibida se a janela ativa não for a janela em que o comando for executado. Isso significa que só receberemos a notificação se o comando estiver sendo executado na janela de fundo. Se o comando for executado na janela ativa, a notificação não será exibida. Se quisermos que essa distinção não seja feita, podemos configurar o IGNORE_WINDOW_CHECK. Selecionamos 1 para desativar a verificação da janela.
Ativar notificação de áudio
A outra característica interessante do Undistract-me é que você pode configurar a notificação de áudio junto com a notificação visual quando um comando é concluído. Por padrão, ele só enviará uma notificação visual. Você pode alterar esse comportamento configurando a variável UDM_PLAY_SOUND para um número inteiro diferente de zero na linha. No entanto, nosso sistema Ubuntu deve ter os utilitários pulseaudio-utils e sound-theme-freedesktop instalados para habilitar esta funcionalidade.
Lembre-se de que você deve executar o seguinte comando após realizar as alterações:
source ~/.bashrc
Testando o Undistract-me
É hora de verificar se isso realmente funciona e veremos se a notificação é mostrada quando os comandos do terminal de longa duração estão completos. Agora, execute qualquer comando que demore mais de 10 segundos ou o período de tempo que você definiu na configuração do Undistract-me.
Para este exemplo, eu simplesmente fiz um ping para um dos roteadores na minha rede um certo número de vezes. Este comando levou cerca de 25 segundos para ser concluído. Depois de completar o comando, recebi uma notificação na área de trabalho.
ping -c 30 IP_NA_REDE
Caso tenha definido um tempo maior para a notificação, você pode alterar o 30 por um número maior.
Para ficar por dentro de todos os lançamentos do SempreUpdate, siga nosso grupo no Telegram.