web-dev-qa-db-fra.com

notify-osd est remplacé par dunst après le retour à i3wm de l'unité

Je testais i3wm (Sudo apt-get install i3 est ce que j’ai exécuté et j’ai choisi i3 à partir de l’écran de connexion) sur ma machine et après un certain temps, j'ai décidé de revenir à Unity. En revenant, j'ai remarqué que les notifications arrivaient dans le coin supérieur droit, comme dans i3, même si j'utilisais Unity.

J'aimerais vraiment qu'il utilise les bulles de notification Unity normales à la place.

Je me suis penché dessus et je me suis trouvé à la place de notify-osd, dunst.

J'ai essayé d'utiliser Sudo vim /usr/share/dbus-1/services/org.freedesktop.Notifications.service et de modifier le fichier, mais la ligne correcte (c'est-à-dire Exec=/usr/lib/x86_64-linux-gnu/notify-osd) est correcte.

J'ai aussi essayé unity-Tweak-tool --reset-unity mais cela n'a rien fait.

Est-il possible pour moi de revenir aux notifications normales? Toute aide serait grandement appréciée. Merci :)

Edit: J'ai pu revenir aux notifications normales en supprimant i3wm lui-même (et dunst). Ce que je demande réellement, c’est: est-il possible de passer aux notifications normales tout en conservant i3 et dunst sur mon système?

Remarque: il ne s’agit pas d’un doublon de les notifications Notify-osd ne sont pas traitées dans le coin supérieur gauche . La solution consiste à supprimer dunst et je voudrais garder dunst et que cela fonctionne lorsque je choisis i3 et que notify-osd fonctionne lorsque je choisis Unity.

6
Jay Bosamiya

Je me rends compte que je suis en retard de deux ans à la soirée, mais si quelqu'un d'autre rencontre ce problème, voici une solution qui utilisera notify-osd lorsqu'il sera connecté à Unity et dunst lors de l'exécution de i3.

Si vous voulez simplement garder dunst installé, mais ne pas l'invoquer automatiquement via DBus, passez à la section Quick Hack.

Dunst dans i3, notify-osd dans Unity

Étape 1

Nous voulons remplacer les comportements de /usr/share/dbus-1/services/org.freedesktop.Notifications.service et plus important encore /usr/share/dbus-1/services/org.knopwob.dunst.service.

Étant donné que Dbus considère $ XDG_DATA_HOME lors de la recherche de fichiers de service et que Ubuntu, pour une raison quelconque, ne définit pas cette variable d'environnement, nous devons le faire nous-mêmes:

echo 'export XDG_DATA_HOME=${XDG_DATA_HOME:="$HOME/.local/share"}' >> ~/.profile 

Étape 2

Nous devons créer notre fichier de service:

mkdir -p $HOME/.local/share/dbus-1/services
nano $HOME/.local/share/dbus-1/services/usernotify.service

Faites en sorte que le fichier ressemble à ceci:

[D-BUS Service]
Name=org.freedesktop.Notifications
Exec=/usr/bin/my_notifier

Étape 3

Créez le script référencé dans votre fichier D-BUS qui appelle dunst si i3 est en cours d'exécution, sinon notify-osd:

Sudo nano /usr/bin/my_notifier

Faites-le ressembler à ceci:

#!/bin/bash
set -euo pipefail
if pgrep -x i3 >/dev/null; then
    /usr/bin/dunst
else
    /usr/lib/x86_64-linux-gnu/notify-osd
fi

Rendez-le exécutable:

Sudo chmod a+x /usr/bin/my_notifier

Étape 4

Cela devrait être ça. Déconnectez-vous puis reconnectez-vous. Testez-le dans Unity et i3 en exécutant

notify-send foo bar

Quick Hack

Si vous voulez exclusivement utiliser notify-osd, il vous suffit de modifier /usr/share/dbus-1/services/org.knopwob.dunst.service en conséquence:

[D-BUS Service]
Name=org.freedesktop.Notifications
#Exec=/usr/bin/dunst
Exec=/usr/lib/x86_64-linux-gnu/notify-osd
6
imolit
Sudo apt-get purge dunst

Cela devrait l'enlever.

0
user467364