Execute 'dbus-send' em um sistema remoto

5

Estou tentando executar dbus-send em um sistema remoto, mas de alguma forma não consigo executá-lo. Mas o mesmo dbus-send , se eu o executar no sistema local, está funcionando bem.

COMANDO :

ssh [email protected] "dbus-send --print-reply --dest=service.name /object/path object.path.Service.method string:"XYZ""

Como posso executar o comando dbus-send do sistema remoto?

INFO DO SISTEMA

Linux 3.13.0-29-genérico Ubuntu i686 GNU / Linux

    
por Thushi 02.09.2014 / 12:00

2 respostas

3

dbus-send precisa de algumas variáveis evironment para se conectar à sessão dbus. Primeiro você precisa estimar eles. Primeiro ssh para sua máquina.

A variável $DISPLAY :

DISPLAY=$(strings /proc/$(pgrep -n Xorg)/environ | awk -F== '$1 ~ "DISPLAY"{print $2}')

As variáveis de sessão do dbus:

source ~/.dbus/session-bus/$(cat /var/lib/dbus/machine-id)-0

Agora você pode colocar seu comando dbus-send .

    
por 02.09.2014 / 13:19
0

Por que você está usando um ponto-e-vírgula? isso faz um novo comando no host local.

tente usar

ssh [email protected] "dbus-send --print-reply --dest=service.name /object/path object.path.Service.method string:XYZ"

Observe também que / object / path está no host remoto.

próxima tentativa : tente addind / usr / bin (se for verdade, no host remoto, isseu which dbus-send para saber o caminho exato).

ssh [email protected] "/usr/bin/dbus-send --print-reply --dest=service.name /object/path object.path.Service.method string:XYZ"

você pode fornecer uma mensagem de erro?

    
por 02.09.2014 / 12:05

Tags