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


46

如果我离开PC,则很有可能会错过某些通知。我已经在KDE中看到,通知被存储和堆叠,直到您单击它们(或其他任何东西)为止。

除非我缺少任何东西,否则Ubuntu似乎没有可点击通知的历史。

有没有办法做到这一点?


2
这已经快5年了。知道是否有更新的解决方案吗?
AlikElzin-kilaka

Answers:


24

接受最近的通知

屏幕截图最近的通知

在终端运行中:

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

或者,您可以直接在launchpad-site上下载软件包。对于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

6
可以在不添加其他PPA的情况下完成此操作吗?我认为我们很多人尽可能避免这样做。
汤姆·布鲁斯曼

17

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

可以在不添加其他PPA的情况下完成此操作吗?


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


在以下任一终端窗口中监视通知

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

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

请注意,运行此脚本仅显示从启动之日起发生的那些通知,并且必须在进程和aps之前运行。需要历史记录。如果终端窗口具有回滚大小不足或者改变回滚线Edit > Profile Preferences > Scrolling或作为接下来描述记录历史。

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


测试一下。

  1. 使用Pangolin 12.04 Live SD / USB
  2. 打开和关闭无线网络。
  3. 使用另一个终端窗口通过以下方式发出一些其他通知:
    对于{0..100..20}中的i;
         做
               killall notify-osd;
               通知发送“测试$ i” $ i;
               睡0.5;
         做完了

结果

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

   字符串“:1.380”
方法调用sender =:1.14-> dest =:1.379 serial = 8691
                path = / org / freedesktop / Notifications;
                         interface = org.freedesktop.Notifications; 成员=通知
   字符串“ NetworkManager”
   字符串“ notification-network-wireless-connected”
   字符串“ MissingLink ”
   字符串“已断开连接-您现在处于离线状态 ”
         字符串“紧急”
         字符串“瞬态”
方法调用sender =:1.14-> dest =:1.379 serial = 8782 
                path = / org / freedesktop / Notifications;
                         interface = org.freedesktop.Notifications; 成员=通知
   字符串“ NetworkManager”
   字符串“ notification-network-wireless-full”
   字符串“ MissingLink ”
   字符串“已建立连接 ”
         字符串“紧急”
         字符串“瞬态”
方法调用sender =:1.386-> dest =:1.389 serial = 7 
                path = / org / freedesktop / Notifications;
                         interface = org.freedesktop.Notifications; 成员=通知
   字符串“通知发送”
   字符串“”
   字符串“ 测试0 ”
   字符串“ 0 ”
         字符串“紧急”

。。。

    方法调用sender =:1.426-> dest =:1.429 serial = 7
                path = / org / freedesktop / Notifications;
                         interface = org.freedesktop.Notifications; 成员=通知
       字符串“通知发送”
       字符串“”
       字符串“ 测试80 ”
       字符串“ 80 ”
             字符串“紧急”
    方法调用sender =:1.430-> dest =:1.433 serial = 7
                path = / org / freedesktop / Notifications;
                         interface = org.freedesktop.Notifications; 成员=通知
       字符串“通知发送”
       字符串“”
       字符串“ 测试100 ”
       字符串“ 100 ”
             字符串“紧急”

交叉引用:
...待完成...


1
将那个婴儿打包,放到发行版中
qneill
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.