I was testing i3wm (sudo apt-get install i3 is what I ran, and chose i3 from the log in screen) on my machine and after a while, decided to switch back to Unity. Upon switching back, I noticed that notifications came in the top right corner similar to i3 even though I was using Unity.

I'd really like it to use the normal Unity notification bubbles instead.

I looked into it and turns out instead of notify-osd, dunst is being used.

I tried using sudo vim /usr/share/dbus-1/services/org.freedesktop.Notifications.service and editing the file, but it has the correct line (i.e. Exec=/usr/lib/x86_64-linux-gnu/notify-osd) as expected.

I also tried unity-tweak-tool --reset-unity but that didn't do anything.

Is it possible for me to return to the normal notifications? Any help would be greatly appreciated. Thanks :)

Edit: I was able to return to the normal notifications by removing i3wm itself (and dunst). What I am actually asking is: is it possible to change to normal notifications while still keeping i3 and dunst on my system?

Note: This is NOT a duplicate of Notify-osd notifications appear unthemed in top-left corner. The solution there is to remove dunst and I would like to keep dunst and have that work when I choose i3, and have notify-osd work when I choose Unity.

2 Answers 2


I realize I'm two years late to the party, but if anyone else encounters this problem, here's a solution that will use notify-osd when logged into Unity, and dunst when running i3.

If you just want to keep dunst installed, but not auto-invoke it via DBus skip to the Quick Hack section.

Dunst in i3, notify-osd in Unity

Step 1

We want to override the behaviors of /usr/share/dbus-1/services/org.freedesktop.Notifications.service and more importantly /usr/share/dbus-1/services/org.knopwob.dunst.service.

Since Dbus looks at $XDG_DATA_HOME when searching for service files, and Ubuntu for some reason doesn't set that environment variable, we need to do it ourselves:

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

Step 2

We need to create our service file:

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

Make the file look like this:

[D-BUS Service]

Step 3

Create the script referred to in your D-BUS file that invokes dunst if i3 is running, otherwise notify-osd:

sudo nano /usr/bin/my_notifier

Make it look like this:

set -euo pipefail
if pgrep -x i3 >/dev/null; then

Make it executable:

sudo chmod a+x /usr/bin/my_notifier

Step 4

That should be it. Log out and then log in again. Test it in both Unity and i3 by running

notify-send foo bar

Quick Hack

If you exclusively want to use notify-osd it's enough to edit /usr/share/dbus-1/services/org.knopwob.dunst.service accordingly:

[D-BUS Service]
  • 3
    Even at 2 years late, this answer is super helpful :) I have marked it as accepted, since reading the steps, it makes complete sense as to why this should work. Thanks! :) I unfortunately do not switch b/w Unity and i3 anymore, and instead use Gnome and Stumpwm; but still this answer was extremely helpful for learning! :) Sep 20, 2017 at 22:43
  • It is not needed to set XDG_DATA_HOME as the directory "$HOME/.local/share" is used by default, see the spec. It would be better to create the service file in /use/local/share/dbus-1/services/ to affect all users. Still I see something about dunst in journalctl -b0 output, so I wonder, if there is better way to handle this.
    – jarno
    Jul 13, 2020 at 14:11
sudo apt-get purge dunst

That should remove it.

  • Please read the note at the bottom of the question. I would like to keep dunst and have that work when I choose i3, and have notify-osd work when I choose Unity. Nov 2, 2015 at 12:01

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .