Às vezes, uso programas de linha de comando, que desejam entrada após um longo período de tempo, e isso ajuda a realizar seus trabalhos, se houver um alerta, uma mensagem de áudio e/ou uma janela de informações sobre as janelas atuais na área de trabalho. Estou pensando em um ambiente de área de trabalho gráfico ou gerenciador de janelas. Uma versão especial pode ser feita para o Ubuntu Server que funciona no modo texto, a menos que a ferramenta GUI funcione por meio de uma janela de terminal e via ssh
.
Se eu fiz meu próprio programa ou se é um pequeno shellscript, posso modificá-lo para produzir o alerta, mas muitos programas são fornecidos sem código-fonte ou é bastante difícil mexer nele. Portanto, seria bom ter uma ferramenta no sistema Ubuntu, que pudesse monitorar a maioria dos programas compilados, bem como scripts e me acordar quando um processo de linha de comando [lento] quiser minha atenção.
Quando algo é escrito, indica que um programa está aguardando entrada ou terminou e o resultado está pronto para eu usar.
Então, como posso encontrar ou criar uma ferramenta que monitore a atividade em uma janela de terminal e produza um alerta quando algo for escrito?
Monitorar o diálogo de um programa e enviar um alerta
Você pode monitorar a atividade de
viafifo
ouxterm
arquivo de log usando o shellscriptvialog
e deixá-lo iniciar uma
zenity
mensagem de informação , quando houver entrada do programa monitorado. Se desejar, você também pode instalarespeak
e deixar enviar uma mensagem de áudio .1. Inicie uma
zenity
mensagem de informação, quando houver entrada de um programa monitorado usando um fifo usandoviafifo
.O shellscript a seguir pode monitorar o diálogo de saída de um programa e enviar um alerta. Ele precisa
espeak
escript
(escript
não precisa ser instalado no Ubuntu).viafifo
.viafifo
'/dev/stdin
,/dev/stdout
edev/stderr
. A principal tarefa no shellscript é a linha com o programascript
, que está monitorando a atividade na janela do terminal e gravando no fifo.while
loopzenity
janela de mensagem de informação e uma mensagem falada correspondente comespeak
.Espera-se que você feche a
zenity
janela (pode trabalhar com 'Enter') para voltar àxterm
janela, onde você escreve sua entrada.Digite
exit
para sairscript
eviafifo
. Depois disso, você pode obter um arquivo de log com todo o diálogo.2. Inicie uma
zenity
mensagem de informação, quando algo for escrito em umaxterm
janela (do programa monitorado ou do usuário) usandovialog
.O shellscript a seguir pode monitorar o diálogo com um programa e enviar um alerta. Precisa
espeak
exterm
.vialog
xterm
janelaxterm
janela (é onde você escreve sua entrada)xterm
para obter acesso à saída e à entrada do programa a ser monitoradowhile
loopzenity
janela de mensagem de informação e uma mensagem falada correspondente comespeak
.Espera-se que você feche a
zenity
janela (pode trabalhar com 'Enter') para voltar àxterm
janela, onde você escreve sua entrada.Feche a
xterm
janela para interromper o monitoramento.3. Ubuntu Server monitorado remotamente via
ssh
Eu verifiquei e essas ferramentas funcionam com um servidor por meio de uma conexão em modo texto por meio
ssh
de um computador com um ambiente gráfico de área de trabalho.vialog
é iniciado no cliente (um laptop com Ubuntu persistente ao vivo).ssh
conecta-se ao servidor e executa algumas tarefas demoradas (aqui ilustradas pela cópia de alguns arquivos ISO grandes.