Existe uma maneira de mostrar mensagens de parede para usuários de desktop?

9

Digamos que estou longe de casa, ssh-ing no meu computador doméstico. Por qualquer motivo, preciso que ele seja reinicializado.

# shutdown -r +10

Isso envia uma mensagem de aviso a cada minuto via wall , que é completamente invisível para o uso normal da área de trabalho, digamos meus pais.

Existe alguma maneira pelas quais wall mensagens podem acessar a área de trabalho por meio de notificação, por exemplo.

    
por badp 11.11.2010 / 13:21

4 respostas

8

As partes internas de wall estão tão bloqueadas e antigas que realmente não há como enviar a mensagem quando estiver lá.

A única idéia real apresentada para esse problema ( foi discutida antes , muitas vezes) é alterar os scripts shutdown e reboot para que eles disponibilizem algo via dbus ou (como estamos lidando apenas com um computador e uma correção) você poderia simplesmente enviar uma mensagem de notificação de envio .

Eles são apenas scripts, para que você possa apenas hackeá-los. Mas eu acho que isso é provavelmente uma causa que vale a pena. Envie um bug contra o Ubuntu e adicione seus patches (apenas certifique-se de que eles possam funcionar sem precisar enviar a notificação se não houver ambiente X). É esse tipo de usabilidade que precisamos.

Eu nunca ouvi falar de gxmessage antes, mas usaria notify-send .

Uma solução completa precisaria atender à possibilidade de vários monitores (por exemplo, multi-head, usuários remotos, etc), mas felizmente eu escrevi um código para esse bit ontem:

for display in 'ps aux | grep -oE "/usr/bin/X\s[^ ]+" | cut -d " " -f 2'; do
    DISPLAY=$display notify-send -u critical 'Shutdown notice' 'Save all your work. THE SYSTEM IS GOING DOWN!!' -i /usr/share/pixmaps/gnome-computer.png
done

(Estou usando a exportação em vez de um -display ou --display sinalizador porque não sei se notify-send também aceita)

    
por Oli 11.11.2010 / 13:34
2

Você pode enviar uma mensagem manualmente usando o zenity

zenity --warning --text "badp's about to restart the computer" --display=:0

Claro, você pode incluir isso em um script.

    
por misterben 11.11.2010 / 13:46
1

Você deve ser capaz de escrever um script que contenha uma palavra e escute mensagens escritas (de escrita ou parede) e então as encaminhe para uma saída de GUI.

    
por singpolyma 11.11.2010 / 16:33
0

AFAIK não há cliente X para o comando wall exibir essas mensagens em um ambiente gráfico. Você pode usar o aplicativo gxmessage para exibir pop-ups, mas você mesmo terá que escrever o script.

    
por tinhed 11.11.2010 / 13:29