notify-send não está funcionando no ssh

10

Talvez isso seja respondido em outro lugar, mas eu não vi.

Estou executando o Ubuntu 14.04. Quando eu SSH na minha máquina, por exemplo:

ssh <user>@<machineip> notify-send "Hello"

Não vejo nada no monitor em que estou logado na máquina. Se eu prefixar notify-send com DISPLAY=:0.0 ou DISPLAY=:0 nada diferente acontece. Eu nunca vejo nenhuma notificação na sessão atual.

Existe algum truque / mudança para fazer isso funcionar?

Caso isso não esteja claro, permita-me reiterar: Do computador A, eu SSH no computador B. Dentro da sessão SSH, desejo executar o comando notify-send para executar no computador B. Espero que uma notificação do tipo growl apareça no monitor do computador B.

    
por aikeru 28.07.2014 / 19:27

1 resposta

8

Acho que você está confundindo as várias tecnologias e como elas funcionam. Eu não esperaria que o daemon de notificação de um sistema pudesse enviar mensagens via SSH. Configurar o $DISPLAY é como o X11 envia a saída de um aplicativo para outro para fins de exibição, mas o notify-send está enviando uma mensagem real para o daemon de notificação. Esta mensagem é enviada usando a biblioteca libnotify .

trecho

libnotify is a library that sends desktop notifications to a notification daemon, as defined in the Desktop Notifications spec. These notifications can be used to inform the user about an event or display some form of information without getting in the user's way.

Fonte: link

Por abordagem de aplicativo

Um método para unir as mensagens notify-send ao notificador do seu sistema local é usar uma abordagem conforme descrito neste post de blog intitulado: IRC notificações via SSH e libnotify . Essa abordagem precisaria ser personalizada para cada tipo de notificação que você desejaria enviar de volta ao seu notificador local.

Tunneling libnotify sobre SSH

Para uma solução mais geral, libnotify-over-ssh pode ser mais do que você procura.

trecho

This is a client server perl script I wrote so that my server could essentially send libnotify messages to my local machine. I use this mainly with weechat but has a feature to make it more general. When calling the client with the weechat tag the server checks the name of the current focused window. If it starts with weechat, notifications are suppressed if not notify-send is called.

Exibindo no servidor remoto

Se, por outro lado, você estiver simplesmente tentando usar notify-send para exibir mensagens em um servidor remoto em que usou ssh para se conectar, provavelmente precisará seguir uma das sugestões feitas neste P & A intitulado: Usando notificar-enviar com o cron . Mesmo que várias das respostas sugerissem que isso era desnecessário, eu tive que fazer o seguinte, como outras pessoas mencionaram nos comentários em meu sistema Fedora 20 usando o Cinnamon como meu desktop para fazer as coisas funcionarem.

Para obter notify-send funcionando, tive que definir essa variável com o valor apropriado no ambiente de área de trabalho do sistema remoto.

$ export DBUS_SESSION_BUS_ADDRESS=unix:abstract=/tmp/dbus-wzrbFpDUZQ,guid=82e5bffe1f819506faecc77a53d3ba73

No meu sistema, consegui fazer uso de um arquivo mantido para esse fim exato.

$ ssh me@remote
$ source ~/.dbus/session-bus/6a34f24f9c504e3f813bc094ed0b67af-0
$ notify-send "hi"

NOTA: O nome do arquivo DBUS mudará de sessão para sessão.

    
por 28.07.2014 / 19:45

Tags