有没有办法查看通知历史记录?

如果我离开我的电脑,那么我很可能会错过某些通知。 我在KDE中看到,通知会被存储和堆叠,直到您单击它们(或其他)。

除非我遗漏了某些内容,否则Ubuntu似乎没有可点击通知的历史记录。

有没有办法做到这一点?

采取最近的通知 。

截图最近通知

在终端运行中:

sudo add-apt-repository ppa:jconti/recent-notifications sudo apt-get update sudo apt-get install indicator-notifications 

或者,您可以直接在启动板站点下载软件包。 对于i386机器上的Ubuntu 11.10 Oneiric,请选择indicator-notifications_0.1.4-2~ppa~oneiric_i386.deb 。 (不要安装recent-notifications

安装后运行Alt + F2 unity --replace

您将在面板中找到一个小邮箱:

最近在小组中的通知

可以将图标与桌面主题对齐,即使用Faenza时:

 mkdir ~/.icons/Faenza/status/scalable cp /usr/share/icons/Faenza/status/scalable/user-available-symbolic.svg ~/.icons/Faenza/status/scalable/indicator-notification-unread.svg cp /usr/share/icons/Faenza/status/scalable/user-away-symbolic.svg ~/.icons/Faenza/status/scalable/indicator-notification-read.svg 

新的法恩莎图标

要阻止它,你需要取消它:

 sudo apt-get purge indicator-notifications 

然后再次运行Alt + F2 unity --replace

要删除ppa运行:

 sudo add-apt-repository -r ppa:jconti/recent-notifications 

评论链接在这里, 有没有办法查看通知历史记录? ,问道:

这可以在不添加另一个PPA的情况下完成吗?


打开两个终端窗口( Ctrl + Alt + T + T )。 额外窗口仅用于测试目的。


监视其中一个终端窗口中的通知

 dbus-monitor "interface='org.freedesktop.Notifications'" | \ grep --line-buffered "member=Notify\|string" 

(要停止它,关闭窗口或键入Ctrl + C

请注意 ,运行此脚本仅显示从启动时发生的通知,并且必须在进程和aps之前运行。 为此需要历史。 如果终端窗口的回滚大小不足,请更改“ 编辑” >“ 配置文件首选项” >“ 滚动 ”中的回滚行,或者按照下面的描述记录历史记录。

要在永久日志中记录输出,只需将>> path/filename.ext添加到grep行的末尾即可将其重定向到文件。 记录和查看通知附加| tee >> path/filename.ext | tee >> path/filename.extgrep行。


测试一下。

  1. 使用Pangolin 12.04 Live SD / USB
  2. 关闭和打开无线网络。
  3. 使用另一个终端窗口进行一些其他通知:
    我在{0..100..20};
         做
                killall notify-osd;
                notify-send“testing $ i”$ i;
               睡0.5;
          DONE

结果

明智地使用grepsed等可以打印下面粗略显示的这些受监控示例的通知。 与通知弹出气泡中的涂鸦相匹配的文本以bold 。 在那之前的两个字符串是ap。 制作涂鸦(即“NetworkManager”或“notify-send”)和图标的名称(如果有的话)(即“notification-network-wireless-disconnected”)以显示在弹出的气泡中。

   字符串“:1.380”
方法调用sender =:1.14  - > dest =:1.379 serial = 8691
                路径= /组织/的freedesktop /通知;
                         接口= org.freedesktop.Notifications; 构件=通知
   字符串“NetworkManager”
   字符串“notification-network-wireless-disconnected”
   字符串“ MissingLink ”
   字符串“已断开连接 - 您现在处于离线状态 ”
         字符串“紧急”
         字符串“瞬态”
方法调用sender =:1.14  - > dest =:1.379 serial = 8782 
                路径= /组织/的freedesktop /通知;
                         接口= org.freedesktop.Notifications; 构件=通知
   字符串“NetworkManager”
   字符串“notification-network-wireless-full”
   字符串“ MissingLink ”
   字符串“ 建立连接 ”
         字符串“紧急”
         字符串“瞬态”
方法调用sender =:1.386  - > dest =:1.389 serial = 7 
                路径= /组织/的freedesktop /通知;
                         接口= org.freedesktop.Notifications; 构件=通知
   字符串“notify-send”
   字符串“”
   字符串“ 测试0 ”
   字符串“ 0 ”
         字符串“紧急”

    方法调用sender =:1.426  - > dest =:1.429 serial = 7
                路径= /组织/的freedesktop /通知;
                         接口= org.freedesktop.Notifications; 构件=通知
       字符串“notify-send”
       字符串“”
       字符串“ 测试80 ”
       字符串“ 80 ”
             字符串“紧急”
    方法调用sender =:1.430  - > dest =:1.433 serial = 7
                路径= /组织/的freedesktop /通知;
                         接口= org.freedesktop.Notifications; 构件=通知
       字符串“notify-send”
       字符串“”
       字符串“ 测试100 ”
       字符串“ 100 ”
             字符串“紧急”

交叉引用:
……要完成……