Eu sou muito, muito novo em scripts. Aqui está o script simples (que funciona) que eu escrevi, que exibe uma imagem após 5 minutos:
sleep 300 && firefox file:///home/tasks/fiveminutes.jpg
Aqui está minha pergunta: às vezes não me lembro se iniciei o cronômetro. Existe uma maneira de adicionar uma indicação de texto ou ícone (de preferência na barra de tarefas, mas em qualquer lugar seria ótimo) que apareça por 5 minutos (desde o momento em que inicio o cronômetro até o momento em que o encerro)?
Muito obrigado por todas as sugestões.
Respostas:
Você pode exibir uma notificação pop-up quando o processo iniciar. Apenas mude seu script para
Você pode definir a duração do balão de notificação com o
-t
parâmetro (e o tempo em milissegundos) com onotify-send
comando, por exemplo, para definir a duração por 5 minutosmas esse parâmetro pode ser completamente ignorado, dependendo do ambiente da área de trabalho (veja isso ).
fonte
É suficiente o suficiente para ter um script como este:
Essa é uma maneira muito típica e frequentemente usada em scripts de shell. O que isso faz, está sendo executado continuamente e, a cada quarto de segundo, ele verifica se o seu script está sendo executado
pgrep -f
.if..fi
As instruções nos scripts de shell operam no status de saída dos comandos; portanto,pgrep -f
retornar um status de saída bem-sucedido significa que encontrou o processo do script e está em execução. Caso contrário, vamos para a declaração else.Nos dois casos, imprimimos uma linha de texto que informa ao usuário se está sendo executado ou não. Também foi adicionado
printf "\r%b" "\033[2K"
para imprimir uma sequência de escape para limpar a linha (apenas para uma saída mais limpa).A partir daí, o céu é o limite. Você pode passar esse texto para outro processo no terminal via canal ou pode passar a saída do script de monitoramento para o indicador-sysmonitor , que permite exibir informações personalizadas no indicador. Pode ser instalado via
Depois disso, basta configurar o indicador para exibir um comando personalizado que seria o script de monitoramento. Exemplo de configuração de um comando personalizado pode ser encontrado aqui .
Obviamente, pode-se escrever seu próprio indicador em Python, mas isso pode ser apenas um exagero quando já existe uma ferramenta para isso.
fonte
indicator-sysmonitor
parece útil, eu deveria tentar.Aqui está o iniciador do Python, com base nesta resposta e em uma pesquisa adicional na Internet, que funciona bem no Ubuntu 16.04:
Crie um arquivo executável e coloque as linhas acima como seu conteúdo. Vamos supor que o arquivo seja chamado
script-indicator.py
. Dependendo das suas necessidades e da natureza do script, você pode usar este iniciador de uma das seguintes maneiras:script.sh
é o que você deseja indicar.Captura de tela feita exatamente quando o
script.sh
final é:Como alternativa, você pode inserir o script
/usr/local/bin
para ser acessível como um sistema de comando shell. Você pode baixá-lo neste GitHub Gist dedicado :Eu testei com a seguinte sintaxe:
fonte
Com
osd_cat
Você pode usar
osd_cat
oxosd-bin
pacote, por exemplo:Isso exibe "execuções" com o tamanho da fonte
100
por5
segundos na posição20,50
na tela e iniciafirefox
quando estiver pronto - você não precisasleep
dessa abordagem. Você pode usarxfontsel
para obter o X Logical Font Descriptor (essa-*-*-…
coisa estranha ) para a-f
opção, por exemplo, se você quiser usar uma fonte diferente. Leiaman osd_cat
para mais opções.Com
yad
Você pode usar da
yad
seguinte maneira:Isso tem a vantagem de poder interromper o comando ou executá-lo imediatamente, se você não fizer nada, ele será fechado após
5
segundos neste exemplo.fonte
yad
janela pode ser minimizada, o texto osd não.Você pode pegar esse script que já está funcionando
multi-timer
e retirar a maior parte dele para um cronômetro de contagem regressiva genérico:Ele usa o mesmo
indicator-sysmonitor
descrito na resposta de Serge.A parte do Systray
Brightness: 2344
também é exibida pelo mesmo script.Se retirar partes desnecessárias do código bash for muito difícil para novos usuários, eu ficaria feliz em publicar um script aqui chamado
show-sleep
com a funcionalidade limitada necessária. Basta postar um comentário abaixo.fonte