notify-send ne fonctionne pas sous ssh

Peut-être que cela a été répondu ailleurs, mais je ne l'ai pas vu.

Je cours Ubuntu 14.04. Lorsque je SSH dans ma machine, par exemple:

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

Je ne vois rien sur le moniteur où je suis connecté à la machine. Si je préfixe "notify-send" avec DISPLAY=:0.0 ou DISPLAY=:0 rien de différent ne se produit. Je ne vois jamais de notification sur la session en cours.

Y at-il un truc / switch pour get ce travail?

Dans le cas où cela n'est pas clair, permettez-moi de répéter: De l'ordinateur A, I SSH dans l'ordinateur B. Dans la session SSH, je souhaite exécuter notify-send pour fonctionner sur l'ordinateur B. Je m'attends à une notification de type growl sur le moniteur de l'ordinateur B.

    Je pense que vous confondez les différentes technologies et comment elles fonctionnent. Je ne m'attendrais pas à ce que le démon de notification d'un système puisse envoyer des messages via SSH. La définition de $DISPLAY est la manière dont X11 envoie la sortie d'une application à une autre à des fins d'affichage, mais l'envoi de notification envoie un message réel au démon de notification. Ce message est envoyé en utilisant la bibliothèque libnotify .

    extrait

    libnotify est une bibliothèque qui envoie des notifications de bureau à un démon de notification, tel que défini dans la spécification Desktop Notifications. Ces notifications peuvent être utilisées pour informer l'user d'un événement ou pour afficher une forme d'information sans que l'user s'en rende count.

    Source: https://developer.gnome.org/libnotify/

    Approche par application

    Une méthode pour joindre les messages notify-send au notify-send de votre système local est d'utiliser une approche telle que décrite dans ce billet de blog intitulé: Notifications IRC via SSH et libnotify . Cette approche doit être personnalisée pour chaque type de notification que vous souhaitez redirect vers votre notificateur local.

    Tunneling libnotify sur SSH

    Pour une solution plus générale, libnotify-over-ssh peut être plus ce que vous searchz.

    extrait

    C'est un script Perl de server client que j'ai écrit pour que mon server puisse essentiellement envoyer des messages libnotify à ma machine locale. Je l'utilise principalement avec weechat mais a une fonctionnalité pour le rendre plus général. Lorsque vous appelez le client avec la balise weechat, le server vérifie le nom de la window en cours. S'il commence par weechat, les notifications sont supprimées si not-notify-send n'est pas appelé.

    Affichage sur le server distant

    Si, par contre, vous essayez simplement d'utiliser notify-send pour afficher des messages sur un server distant auquel vous avez utilisé ssh pour vous connecter, vous devrez probablement suivre l'une des suggestions formulées dans ce Q & A intitulé: Utilisation de notify-send avec cron . Même si plusieurs des réponses suggèrent que cela n'était pas nécessaire, j'ai dû faire ce qui suit comme d'autres mentionnés dans les commentaires sur mon système Fedora 20 en utilisant Cinnamon comme mon bureau pour faire fonctionner les choses.

    Pour get l' notify-send je devais définir cette variable avec la valeur appropriée de l'environnement de bureau du système distant.

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

    Sur mon système, j'ai pu utiliser un file conservé à cette fin.

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

    REMARQUE: le nom du file DBUS changera de session en session.