在14.04上更改通知守护程序


10

在旧版本的Ubuntu中,/usr/share/dbus-1/services/org.freedesktop.Notifications.service可以进行编辑以更改默认的通知守护程序。

但是,更改此文件不再影响较新版本中的默认通知守护程序。关于如何更改默认通知守护程序的任何想法?


您确定文件已存在和/或未重命名吗?
快速的2014年

抱歉,愚蠢的问题...更好,请说您使用的是什么桌面管理器和桌面环境?
快速的2014年

@swift,文件未重命名或移动。问题在于修改此文件不再更改通知守护程序。我使用默认的Unity桌面环境。
2014年

@Magpie那里提供了一个很好的答案:安装Gnome后,Unity通知混乱了
快速

好的,我明白了,但是Unity是GDM还是LightDM?
快速的

Answers:


16

似乎没有优先级或没有一个设置点来设置要运行哪个freedesktop通知守护程序。我在Ubuntu 14.04上安装XFCE时遇到了此类问题。

xfce4-notifyd默认启动Unity通知。

  • 检查可用的通知服务,例如:

    $ grep -r org.freedesktop.Notifications /usr/share/dbus-1/services/
    /usr/share/dbus-1/services/org.xfce.xfce4-notifyd.Notifications.service:Name=org.freedesktop.Notifications
    /usr/share/dbus-1/services/org.freedesktop.Notifications.service:Name=org.freedesktop.Notifications
    
  • 禁用不需要的,仅保留所需的一个:

    sudo mv /usr/share/dbus-1/services/org.xfce.xfce4-notifyd.Notifications.service /usr/share/dbus-1/services/org.xfce.xfce4-notifyd.Notifications.service.disable
    
    pkill xfce4-notifyd
    
  • 校验

    notify-send test
    

Unity通知样式返回(notify-osd

换句话说,Unity不启动任何默认通知守护程序。因此,您可以将自己喜欢的一个添加到启动应用程序。请参阅如何在登录时自动启动应用程序?。我认为这样比较好,因为它不会影响在服务文件上中继以启动其通知守护程序的其他桌面会话。

有用的参考资料:


这看起来不错,但是在我的Bionic 18.04系统上,grep行找不到任何通知服务。但我正确地收到通知。在最近的几个版本中有相关的更改吗?
nealmcb

啊-有道理。我真正的目标只是弄清楚这些天正在显示我的通知,以便我可以对其进行修复,以便可以记录时间戳和事件。令我惊讶的是,随着Linux中所有日志记录的进行,没有记录用户可见的通知。有小费吗?这些问题的现有答案要么很旧(例如,针对notify-osd),要么由于其他原因而无法使用。
nealmcb

2
@nealmcb,因此您正在寻找Gnome,请使用D-feet工具并检查哪个工具需要org.freedesktop.Notifications地址。
user.dz


该解决方案今天已在Ubuntu 18.04上运行,它是阻止通知窃取焦点的唯一解决方案,我使用的是i3WM,并且在安装Budgie DE进行测试后,通知开始看上​​去很漂亮,但窃取了焦点,这停止了工作流程,所以我使用budgie通知服务来做到这一点。非常感谢你。
Geppettvs D'Constanzo

0

首先,需要说行为是决定NotifyOSD与Compiz或Metacity的不正确工作的原因,这取决于您的偏好。也可能是更改桌面管理器(类似于GDM)的结果。因此,对您来说更好的解决方案将是更好的细节以及您想做什么以及在哪里。NotifyOSD服务器可在其中“工作”。

因此,如果您的详细信息是Unity解决方案,则为:

killall notify-osd
notify-osd

或如果上述尝试未成功,那么您可以尝试解决最常见的环境:

sudo apt-get build-deps unity

让我们一起寻找答案。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.