Acionando uma mensagem da interface do usuário com base em um terminal ssh'd para outro servidor O

4

Estou trabalhando em uma configuração de várias janelas com vários espaços de trabalho. Eu estou constantemente executando scripts nos bastidores.

Isso me pouparia muito tempo e troca de contexto se eu pudesse iniciar um script em outro servidor e ter uma mensagem pop-up (growl notify ou w / e) na área de trabalho informando que o comando foi concluído.

Existe uma maneira de fazer isso no Ubuntu 10?

    
por Paul Nathan 08.06.2011 / 19:50

2 respostas

3

Aqui está uma maneira de fazer isso, supondo que você tenha SSH sem senha configurada:

ssh my-graphical-workstation 'env DISPLAY=$(w -s $USER | grep -m 1 " :" | awk "{print $3}") notify-send "Done processing."'

Você precisará do libnotify-bin instalado em my-graphical-workstation .

Ajuste conforme necessário.

    
por ændrük 08.06.2011 / 20:29
0

Para aumentar a resposta fina por @ ændrük:

você pode precisar permitir a conexão da máquina remota. No mais simples, use

xhost +

mas você deve restringir isso à máquina de destino uma vez funcionando, se você não quiser que o mundo inteiro abra janelas X11 em sua máquina. Isso é feito automaticamente se você usa ssh -X , mas precisa ser adicionado manualmente se a conexão ssh não for mantida.

Se você está sempre conectado, basta adicionar um -X ao seu parâmetro ssh para que ele faça a configuração para você, como em

user@localhost:path$ ssh -X where_the_script_is_run
user@where_the_script_is_run:path$ run-script; xmessage 'whatever message'

notify-send não funcionou para mim remotamente. Você pode usar o programa (archaic) xmessage .

    
por serv-inc 12.10.2015 / 12:31