After 2 days of googling.
I just found that the notification system is somewhat hard coded in gnome-shell.
Here:
As the mail above. I think they have taken the name org.freedesktop.Notifications.
Thus this makes notify-osd cannot register the instance(already taken):
$ /usr/lib/notify-osd/notify-osd
** (notify-osd:6207): WARNING **: Another instance has already registered org.freedesktop.Notifications
** (notify-osd:6207): WARNING **: Could not register instance
Also, the first mail I post which created an error about " Got error "Did not receive a reply. ".
That was my mistake for running the notify-osd in root (since they are two different sessions and dbus relies on sessions)
So my question is:
How do I override these settings?
Say can I tell gnome-shell to not taking that instance or any other workaround to make notify-osd to work?
I just really needed some help, every link in google has turned purple. I am starting to feel helpless:(
PS:
There is a outdated fix about editing /usr/share/dbus-1/services/org.freedesktop.Notifications.service
but that won't work in gnome 3.4 (that file doesn't even exists)
And there is another outdate fix about editing /usr/share/gnome-session/<fallback>.session's DefaltProvider field
and that won't work either. ( there is no such thing, adding it won't work, tried.)