#1 Le 21/02/2016, à 22:49
- jcsalmon
[Résolu] Xubuntu 14.04 - notif sur l'écran de l'utilisateur sous ssh
Bonjour,
Connecté via ssh sur un poste Xubuntu 14.04 (en root ou non),
je souhaiterais pouvoir afficher une notification à l'utilisateur.
J'ai par exemple ce script :
#!/bin/bash
notify-send -t 3600000 "Mise à jour en cours" "Ne pas éteindre !"
apt-get update
apt-get -y upgrade
apt-get -y autoremove
qui, exécuté sur le poste (depuis un terminal ou un lanceur) avec la commande :
sudo sh /usr/lib/maj.sh
affiche correctement la notification.
Quand je suis connecté via ssh -X,
la notification s'affiche correctement sur l'écran du poste qui contrôle,
Je souhaiterais forcer l'affichage de la notification
sur le poste contrôlé.
Quelqu'un peut-il m'aider ?
Merci
Dernière modification par jcsalmon (Le 21/02/2016, à 23:50)
Linux, un noyau...
...Windows, des pépins !
Hors ligne
#2 Le 21/02/2016, à 23:00
- helias
Re : [Résolu] Xubuntu 14.04 - notif sur l'écran de l'utilisateur sous ssh
Bonsoir jcsalmon,
Je ne sais pas si ça peut t'aider, mais j'utilisais " DISPLAY=:0.0 " pour afficher une notification distante.
par exemple :
DISPLAY=:0.0 notify-send -t 3600000 "Mise à jour en cours" "Ne pas éteindre !"
Ça t'aide ?
Hélias
Hors ligne
#3 Le 21/02/2016, à 23:10
- jcsalmon
Re : [Résolu] Xubuntu 14.04 - notif sur l'écran de l'utilisateur sous ssh
Ouiiii ça m'aide !
J'avais vu ce DISPLAY=:0.0 sur des forums mais je n'avais pas compris comment l'utiliser.
Par contre il reste deux soucis :
- Quand j'exécute une commande en root et non avec sudo, la notification ne s'affiche point,
- La notification reste affichée quand l'exécution du script est terminée, alors qu'elle disparaît quand je l'éxécute sur le poste.
Merci beaucoup !
Linux, un noyau...
...Windows, des pépins !
Hors ligne
#4 Le 21/02/2016, à 23:19
- helias
Re : [Résolu] Xubuntu 14.04 - notif sur l'écran de l'utilisateur sous ssh
En effet les notifications via Notify-send n'ont pas accès au dbus en mode root.
Ceci dit tu peux installer et utiliser " zenity " comme ceci :
DISPLAY=:0.0 zenity --info --text " ton text ici "
Je t'invites a te renseigner et bidouiller de ton côté pour en apprendre plus
Pour ce qui est de la durée du pop-up, tu peux définir une limite avec l'option -t de notify-send en milisecondes.
Tout est marqué dans la manpage
man notify-send
Bon courage pour la suite
Hélias
Dernière modification par helias (Le 21/02/2016, à 23:23)
Hors ligne
#5 Le 21/02/2016, à 23:23
- helias
Re : [Résolu] Xubuntu 14.04 - notif sur l'écran de l'utilisateur sous ssh
PS: Sinon tu peux utliser ce script :
#!/bin/bash
#
# This script shows how to send a libnotify message
# to a specific user.
#
# It looks for a process that was started by the user and is connected to dbus.
# process to determine DBUS_SESSION_BUS_ADDRESS
USER_DBUS_PROCESS_NAME="gconfd-2"
USER="makubi"
NOTIFY_SEND_BIN="/usr/bin/notify-send"
TITLE="title"
MESSAGE="notify message"
# get pid of user dbus process
DBUS_PID=`ps ax | grep $USER_DBUS_PROCESS_NAME | grep -v grep | awk '{ print $1 }'`
# get DBUS_SESSION_BUS_ADDRESS variable
DBUS_SESSION=`grep -z DBUS_SESSION_BUS_ADDRESS /proc/$DBUS_PID/environ | sed -e s/DBUS_SESSION_BUS_ADDRESS=//`
# send notify
DBUS_SESSION_BUS_ADDRESS=$DBUS_SESSION su -c "$NOTIFY_SEND_BIN \"$TITLE\" \"$MESSAGE\"" $USER
Hors ligne
#6 Le 21/02/2016, à 23:43
- jcsalmon
Re : [Résolu] Xubuntu 14.04 - notif sur l'écran de l'utilisateur sous ssh
Merci !
Je ne suis pas assez à l'aise avec dbus,
et mon but est d'automatiser avec cron,
donc je vais pour le moment me contenter de configurer
-la crontab de l'utilisateur pour les affichages
-la crontab de root pour exécuter les commandes qui nécessitent les privilèges root
Bien bonne soirée !
Linux, un noyau...
...Windows, des pépins !
Hors ligne
#7 Le 21/02/2016, à 23:54
- helias
Re : [Résolu] Xubuntu 14.04 - notif sur l'écran de l'utilisateur sous ssh
Content d'avoir pu t'aider
À bientôt !
Hélias
Hors ligne