Bips terminais (saída) e Growl

1

Eu preciso de uma maneira de acionar uma notificação Growl quando um bipe é acionado no terminal.

Idealmente, eu adoraria ter uma maneira de capturar a saída do terminal - de um servidor SSH, digamos - e lidar com isso usando o Growl - condicionalmente.

Alguma idéia?

    
por phaistonian 04.08.2010 / 13:01

4 respostas

1

Uma questão interessante, mas bastante aberta. Que tipo de bips você está tentando capturar? E qual saída você está tentando lidar? Erros? Conclusão de processos?

growlnotify é a ferramenta de linha de comando para postar as notificações do Growl. Ele precisa ser instalado separadamente e pode ser encontrado na pasta Extras na imagem de disco Growl.

Você pode usar o comando de interrupção unix para interceptar qualquer erro em um script e enviar saída para o growl usando o growlnotify . Eu não estou ciente de qualquer maneira de interceptar a campainha terminal, você tem que interceptar por algum sinal unix específico.

Para ver quais sinais estão disponíveis em seu sistema, digite kill -l no terminal. O artigo acima ligado no comando unix trap possui uma lista de sinais de traps comuns.

Se você está procurando uma maneira de notificar com a conclusão de um script de terminal de longa duração, aqui está uma solução para dicas do Mac OS X.

Se você quiser apenas redirecionar toda a saída do terminal para o growl, a técnica nas Dicas do Mac OS X pode ser modificada para isso. Coloque isso no seu .profile, .bashrc ou .zshrc. Ele irá redirecionar a saída do seu comando para o growl.

# Before a command execution
preexec() {
   export PREEXEC_CMD="Command: $1"
   $1 | growlnotify -n "Terminal" ${PREEXEC_CMD:-Some command}
}

Vou deixar como um exercício para o leitor adicionar lógica para redirecionar condicionalmente, dependendo do comando ou de qualquer parâmetro, já que não tenho conhecimento de quais "condições" você está procurando. :)

    
por 04.08.2010 / 19:14
1

O que você quer é possível, mas não acho que a ferramenta exista ainda. Como um lugar para começar a desenvolvê-lo você mesmo, confira BounceTerm (vem com a fonte), que transforma bipes e sinos em saltos de doca. Parece ser o comportamento exato que você procura, mas com um resultado ligeiramente diferente.

    
por 12.08.2010 / 22:39
1

Use iTerm como seu emulador de terminal, é a única maneira que eu conheço. Tem suporte a grunhidos:)

    
por 28.02.2011 / 15:25
0

Uma resposta parcial: A partir do Mac OS X Lion 10.7, o Terminal exibe um emblema em seu ícone do Dock indicando o número de BELs gravadas em terminais inativos. "Inativo" significa que a janela do terminal não é a janela frontal / ativa, ou o terminal não é a guia selecionada em uma janela com várias guias. Ele também exibe um ícone de "sino" nas abas para indicar qual terminal soou (eu recomendo mostrar a barra de abas mesmo quando você não estiver usando janelas com várias abas - o Lion Terminal exibe vários novos indicadores de status úteis lá). Se o Terminal não for o aplicativo da frente, ele também irá pular o seu ícone do Dock ao apitar.

    
por 21.08.2011 / 13:54