Tal vez esto se responde en otro lugar, pero no lo vi.
Estoy ejecutando Ubuntu 14.04. Cuando hago SSH en mi máquina, por ejemplo:
ssh <user>@<machineip> notify-send "Hello"
No veo nada en el monitor donde estoy conectado a la máquina. Si yo uso el prefijo notify-send
con DISPLAY=:0.0
o DISPLAY=:0
nada diferente sucede. Simplemente nunca veo ninguna notificación en la sesión actual.
¿Hay algún truco / cambio para que esto funcione?
En caso de que esto no esté claro, permítame reiterar: desde la computadora A, ingresé SSH en la computadora B. Dentro de la sesión SSH, deseo ejecutar notificación-envío para ejecutar en la computadora B. Espero que aparezca una notificación de tipo gruñido en el monitor de la computadora B.
DISPLAY=:0 notify-send 'hello'
trabajó para mí (no para aikeru), intente eso antes de pasos más complicados.Respuestas:
Creo que estás confundiendo las diversas tecnologías y cómo funcionan. No esperaría que el demonio de notificación de un sistema pudiera enviar mensajes a través de SSH. La configuración
extracto$DISPLAY
es cómo X11 envía la salida de una aplicación a otra con fines de visualización, peronotify-send
envía un mensaje real al demonio de notificación. Este mensaje se envía usando lalibnotify
biblioteca.Fuente: https://developer.gnome.org/libnotify/
Enfoque por aplicación
Un método para unir los
notify-send
mensajes al notificador de su sistema local es utilizar un enfoque como se describe en esta publicación del blog titulada: notificaciones IRC a través de SSH y libnotify . Este enfoque necesitaría ser personalizado por cada tipo de notificación que desee volver a enviar a su notificador local.Tunneling libnotify sobre SSH
Para una solución más general
extractolibnotify-over-ssh
puede ser más lo que estás buscando.Mostrar en el servidor remoto
Si, por otro lado, simplemente está tratando de usar
notify-send
para mostrar mensajes en un servidor remoto al que se hassh
conectado, es probable que deba seguir una de las sugerencias que se hicieron en este Q&A titulado: Uso de notificación-envío con cron . Aunque varias de las respuestas sugirieron que esto era innecesario, tuve que hacer lo siguiente como otros mencionaron en los comentarios en mi sistema Fedora 20 usando Cinnamon como mi escritorio para que todo funcione.Para
notify-send
comenzar a trabajar tuve que establecer esta variable con el valor apropiado del entorno de escritorio del sistema remoto.En mi sistema pude hacer uso de un archivo que se mantiene para este propósito exacto.
NOTA: El nombre del archivo DBUS cambiará de sesión a sesión.
fuente
notify-send
puede enviar mensajes al daemon notificador de escucha. Cuando inicia sesión a través de SSH, este entorno no tiene la información necesaria para comunicarse con este notificador, es el problema subyacente.$DISPLAY=:0
funcionaría, pero esto tampoco funciona para mí. Estoy en Fedora 20 usando Cinnamon como mi escritorio. El usostrace
para depurar esto muestra que hay una conexión que no se realiza al pasar por SSH, aún investigando qué está bloqueando esto.OMI, puede ser que puedas usar:
Esto, por supuesto, suponiendo que ": 0" es el valor real de la variable DISPLAY, si es el único usuario actualmente conectado. Creo que tenemos que usar la palabra especial "exportar" aquí porque estamos enviando dos comandos y si exportamos la variable estará disponible para usar para el segundo comando "notificar-enviar". Los caracteres "&&" simplemente nos permiten lanzar los dos comandos en una línea.
fuente