53 votes

La notification d'envoi ignore le délai d'attente ?

Je fais peut-être une erreur, mais les commandes (exécutées séparément) ne devraient-elles pas

notify-send -t 1 "test"
notify-send -t 1000 "test"
notify-send -t 10000 "test"

ont des délais d'attente différents ? Le premier est presque instantané, le deuxième prend 1 seconde et le troisième 10 secondes ? Dans tous les cas, il me semble que le délai est d'environ six secondes.

Existe-t-il un moyen de contourner ce comportement ? Comme les développeurs appellent cela une "fonctionnalité" au lieu d'un bogue, j'aimerais avoir des alternatives.

47voto

Andy Points 163

Il s'agit d'un bogue connu : https://bugs.launchpad.net/ubuntu/+source/notify-osd/+bug/390508

(Cela est considéré comme une "décision de conception" par le responsable de la maintenance).

24voto

Fabby Points 33498

Comme mentionné dans l'un des messages ci-dessus, il y a une décision de conception qui interdit cette fonctionnalité. Heureusement pour vous, d'autres personnes ne sont pas d'accord et ont mis en place un PPA qui vous permet d'annuler cette décision pour votre système également.

Pour résoudre votre problème, il suffit de :

sudo add-apt-repository ppa:leolik/leolik 
sudo apt-get update
sudo apt-get dist-upgrade
sudo apt-get install libnotify-bin
pkill notify-osd

En option

Pour ajouter encore plus de fonctionnalités à send-notify que vous n'en avez actuellement :

À partir d'Ubuntu 16.04 :

sudo add-apt-repository ppa:nilarimogard/webupd8
sudo apt update
sudo apt install notifyosdconfig

Pour les versions 9.10-14.10 :

sudo add-apt-repository ppa:amandeepgrewal/notifyosdconfig
sudo apt-get update
sudo apt-get install notifyosdconfig

Pour plus d'informations sur la solution ci-dessus, lisez cet article :

Bulles de notification configurables pour Ubuntu

4voto

George Rowell Points 162

Il s'agissait d'une contravention intentionnelle aux conventions établies, sans disqualification dans l'environnement du terminal hôte. notify-send ne devrait plus exister puisqu'elle compromet la fonctionnalité attendue et documentée. notify-graffiti devrait maintenant exister - What ???? Attendez une seconde ... tous ces scripts qui utilisent l'orthographe "conventionnelle" du nom de la commande seront compromis !?! en changeant la convention de l'orthographe du nom de la commande ?!?! - hmmm Cette philosophie est exceptionnellement, paradoxalement hypocrite telle qu'elle est adoptée par l'interface de terminal de bureau Unity.

On ne peut pas faire les deux - préserver certaines conventions, par exemple le nom d'une commande, et ne pas en préserver d'autres, par exemple la fonctionnalité d'une commande telle qu'elle est documentée. Si la fonctionnalité doit être compromise, le nom de la commande doit l'être aussi afin de maintenir l'intégrité, la conventionnalité, la cohérence, etc. de l'"expérience" de l'utilisateur, ou plutôt de sa "frustration", de son "agacement", de son "irritation", ...

ref :

Signet :
La notification d'envoi ignore le délai d'attente ?

3voto

NiMa Thr Points 321

Il existe un petit script pratique. notify-send.sh comme un remplaçant direct de notify-send qui vous permet de fermer o remplacer les notifications précédemment envoyées.

Edit : comme @Glutanimate l'a signalé, ce script prend en charge le délai d'expiration par défaut.

Je n'ai pas réussi à faire fonctionner le délai d'expiration, et j'ai donc décidé d'envoyer une notification avec 2 secondes comme ceci :

notify-send.sh --print-id test | xargs -I {} bash -c "sleep 2 && notify-send.sh --close={}" &

2voto

Pawel Cioch Points 166

Cette valeur est exprimée en millisecondes. J'ai testé sur XUbuntu 16.04 (Ubuntu XFCE)

notify-send -t 3000 "test"

exactement 3 secondes

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X