Mostrar notificação como root para outros usuários no KDE

1

Eu preciso mostrar mensagens de notificação para diferentes usuários como root em um sistema Debian executando o KDE com um script bash ou python. O que eu tentei até agora são:

export DISPLAY=:X (X symbolizes the remote host data)
export XAUTHORITY=~$USERNAME/.Xauthority
zenity --warning --title $TITLE --text " $TEXT

Estes comandos fazem o que eu quero, mas apenas através do terminal. Quando eu tento usá-los em um script Python (usando os.system () ou subprocess.call ()) ou tente executar através de um script de shell; falha (geralmente mostrando a notificação para o usuário que eu fiz login, não para o usuário de destino. Também às vezes leva a erros:

Could not open X display 
No protocol specified 
Gtk-WARNING **: cannot open display: :X. 
XDG_RUNTIME_DIR not set in the environment.

Mas também raramente mostra a notificação para o usuário correto. Portanto, eu não conseguia entender o modo como se comporta.)

Eu também li que o zenity não é bom para o KDE, mas o kdialog é o preferido.

kdialog --title "some title" --passivepopup "some text" 5 & (number for the time-out)

Usando o comando acima com gksu e su, não há sucesso novamente. Eu também tentei com pynotify. Eu acho que o problema não é sobre a maneira que eu crio a mensagem de notificação, mas mostrando ao usuário, mais diretamente, conectando-se ao servidor X ou transferindo configurações específicas do usuário do X.

Preciso de ajuda neste momento; qualquer sugestão é apreciada.

    
por Mustafa Orkun Acar 17.09.2014 / 22:35

1 resposta

1

Embora eu ainda não saiba qual é o problema exato com a abordagem acima, finalmente encontrei uma solução que funciona muito bem para o meu caso.

cat /home/remote-user/.Xauthority | xauth merge -              #merge the Xauth information of user
DISPLAY=:X kdialog --title 'some title' --sorry 'some_message' (X symbolizes the remote host data)
    
por 26.09.2014 / 00:24