如何在显示NotifyOSD消息后阅读它们?

我想阅读一下notify-osd不时显示的消息列表。 如果重要的话,我仍在使用12.04。 这可能吗?

2010年的这 两个问题表明~/.cache/notify-osd.log应该存在一个日志文件。 我没有这样的文件,我想知道这是不是一个错误(在这种情况下应该关闭这个问题),或者这个日志文件是否依赖于另一个设置(如系统设置 – >隐私)?

我不关心在重新启动之间存储数据。 我只想浏览当前会话中的消息。

编辑:现在有两个很好的答案,但我想知道这些消息是否在屏幕上显示后短时间内存储在任何地方 (总猜测,/ tmp?RAM?)。 某种缓冲区必须存在,因为它们一个接一个地出现,每个缓冲区几秒钟,即使在一两分钟内有20-30个通知。

在我最初的问题中,我没有提到我对另一个PPA +指示器或过多的驱动器写入不感兴趣,我只是想知道是否有可能在它们出现后短时间内看到这些消息。

我的用例是回到几分钟前在流媒体广播电台上找到播放的歌曲。 我把它作为背景音乐,偶尔听到它之后就会听到一个曲调。 我无法回去看看之前播放的1-2首歌曲。

经过仔细查看(A LOT)后,我在2011年发现了一个代码更改,关于默认情况下将notify-osd输出到日志文件中,因为这用于调试目的并且每次都写入HDD。 要激活此function,您可以采用2种方式,临时方法和更长久的方法。

临时方法

打开终端我键入以下内容:

对于64位系统:

 sudo killall notify-osd LOG=1 /usr/lib/x86_64-linux-gnu/notify-osd & 

对于32位系统:

 sudo killall notify-osd LOG=1 /usr/lib/notify-osd/notify-osd & 

现在,您将看到.cache/notify-osd.log文件及其中的调试信息。

永久方法(警告:全球变更)

要获得更持久的解决方案,请执行以下操作(全局变更。请阅读以下Rinzwind提到的警告。这将影响每个人并杀死猫!):

 sudo nano /etc/environment 

在最后添加以下行并保存:

 LOG=1 

重新启动计算机以进行测试。

永久方法(用户特定变更)

对于更持久的解决方案,请执行以下操作(用户特定更改。这只会影响您和狗。猫仍将存活。):

 sudo nano ~/.bashrc 

在最后添加以下行并保存:

 LOG=1 

重新启动计算机以进行测试。

您应该看到信息开始出现在.cache/notify-osd.log文件中。 例如,断开2次我的有线连接后,这个我:

GNU nano 2.2.6文件:.cache / notify-osd.log

 [2013-05-04T18:49:55-00:00, NetworkManager ] Connected Intel [2013-05-04T18:50:26-00:00, NetworkManager ] Disconnected - you are now offline Ethernet network [2013-05-04T18:50:29-00:00, NetworkManager replaced] Connected Intel 

您可以安装包指示器通知,以跟踪您收到的通知。 您可以使用以下内容进行安装

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

您必须注销并重新登录。它会在顶部面板中显示为邮箱,并在您收到新邮件时变为绿色。

通知

这是在13.04,但也应该在12.04工作。

这将显示从启动到停止的所有通知消息。

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

将其复制并粘贴到终端窗口( Ctrl + Alt + T )。

要停止它,请使用Ctrl + C或关闭窗口。

这虽然是非歧视性和粗略的但是可以通过改变grep正则表达式"member=Notify\|string"来精确地监视特定通知代理所需的确切细节。 然后可以用sedawk等按摩文本以使其看起来很好。

倒数第二,将脚本绑定到要监视的选择代理自动执行将是最有用的。

交叉参考:
– 显式详细信息是否有办法查看通知历史记录?