notify-osd sostituito con dunst dopo il passaggio all'unità da i3wm

4

Stavo testando i3wm ( sudo apt-get install i3 è quello che ho eseguito, e ho scelto i3 dalla schermata di accesso) sulla mia macchina e dopo un po 'ho deciso di tornare a Unity. Al momento del passaggio, ho notato che le notifiche venivano visualizzate nell'angolo in alto a destra simile a i3 anche se stavo usando Unity.

Mi piacerebbe davvero che usasse le normali bolle di notifica di Unity.

L'ho esaminato e risulta invece di notify-osd , viene utilizzato dunst .

Ho provato a usare sudo vim /usr/share/dbus-1/services/org.freedesktop.Notifications.service e a modificare il file, ma ha la linea corretta (cioè Exec=/usr/lib/x86_64-linux-gnu/notify-osd ) come previsto.

Ho anche provato unity-tweak-tool --reset-unity ma questo non ha fatto nulla.

Posso tornare alle normali notifiche? Qualsiasi aiuto sarebbe molto apprezzato. Grazie:)

Modifica: sono stato in grado di tornare alle normali notifiche rimuovendo i3wm stesso (e dunst). Quello che sto chiedendo in realtà è: è possibile passare alle normali notifiche mantenendo comunque i3 e dunst sul mio sistema?

Nota: questo NON è un duplicato di Notify-osd le notifiche non vengono visualizzate nell'angolo in alto a sinistra . La soluzione è quella di rimuovere dunst e vorrei mantenere dunst e avere quel lavoro quando scelgo i3, e avere notify-osd funziona quando scelgo Unity.

    
posta Jay Bosamiya 10.06.2015 - 20:16

2 risposte

3

Mi rendo conto che sono in ritardo di due anni al party, ma se qualcun altro incontra questo problema, ecco una soluzione che utilizzerà notify-osd quando si accede a Unity e dunst quando si esegue i3.

Se vuoi solo mantenere dunst installato, ma non invocarlo automaticamente tramite DBus, vai alla sezione Quick Hack.

Dunst in i3, notify-osd in Unity

Passaggio 1

Vogliamo sovrascrivere i comportamenti di /usr/share/dbus-1/services/org.freedesktop.Notifications.service e, soprattutto, /usr/share/dbus-1/services/org.knopwob.dunst.service .

Poiché Dbus guarda $ XDG_DATA_HOME durante la ricerca di file di servizio, e Ubuntu per qualche motivo non imposta quella variabile d'ambiente, dobbiamo farlo da soli:

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

Passaggio 2

Dobbiamo creare il nostro file di servizio:

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

Rendi il file simile a questo:

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

Passaggio 3

Crea lo script a cui fa riferimento il file D-BUS che richiama dunst se i3 è in esecuzione, altrimenti notify-osd:

sudo nano /usr/bin/my_notifier

Assomigli a questo:

#!/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

Rendilo eseguibile:

sudo chmod a+x /usr/bin/my_notifier

Passaggio 4

Questo dovrebbe essere. Disconnettersi e quindi accedere di nuovo. Provalo sia in Unity che in i3 eseguendo

notify-send foo bar

Hack rapido

Se si desidera utilizzare esclusivamente notify-osd, è sufficiente modificare /usr/share/dbus-1/services/org.knopwob.dunst.service di conseguenza:

[D-BUS Service]
Name=org.freedesktop.Notifications
#Exec=/usr/bin/dunst
Exec=/usr/lib/x86_64-linux-gnu/notify-osd
    
risposta data imolit 20.09.2017 - 10:31
0
sudo apt-get purge dunst

Questo dovrebbe rimuoverlo.

    
risposta data user467364 01.11.2015 - 14:40

Leggi altre domande sui tag