Enviar mensagem através do SSH

1

Como alguém pode enviar uma mensagem para a área de trabalho do usuário logado através do ssh? Às vezes, conecto o computador de meu amigo para ajudá-lo, mas preciso enviar uma mensagem para a área de trabalho em vez de usar talk ou ytalk .

Existem opções como notify-send , gmessage , xmessage . Mas como estou conectado com SSH , não consigo me conectar à área de trabalho deles.

Definir a variável de ambiente DISPLAY também não funciona.

Como faço isso?

    
por Umur Kontacı 31.08.2011 / 14:10

1 resposta

3

Apenas configurar $ DISPLAY não é suficiente para xmessage , já que você não possui os dados de autenticação necessários para conectar-se ao servidor X11 de outro usuário - também é necessário copiar $ XAUTHORITY. Para notify-send , somente $ DBUS_SESSION_BUS_ADDRESS é necessário, mas você provavelmente terá o acesso negado pela política DBus.

Use este script para copiar variáveis de ambiente facilmente e use sudo para executar o comando sob a conta do seu amigo. Por exemplo:

pid=$(pgrep -x -u jon gnome-session)
sudo -u jon ./envcp $pid notify-send 'Hi'

(Em vez de gnome-session , qualquer outro processo desse usuário pode ser usado.)

    
por 31.08.2011 / 14:22

Tags