NotifyOSD 消息显示后如何阅读?

Tom*_*man 14 notify-osd log 12.04

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

2010 年的两个问题表明日志文件应该存在于~/.cache/notify-osd.log. 我没有这样的文件,我想知道这是一个错误(在这种情况下应该关闭此问题)还是此日志文件取决于其他设置(如系统设置 -> 隐私)?

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

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

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

我的用例是返回并查找几分钟前在流媒体广播电台播放的歌曲。我把它作为背景音乐,偶尔听到它后,我的脑海里会响起一首曲子。我无法回去看看 1-2 首歌前播放了什么。

Stu*_*ump 15

您可以安装包 indicator-notifications 来跟踪您收到的通知。您可以使用以下安装

sudo add-apt-repository ppa:jconti/recent-notifications
sudo apt-get update
sudo apt-get install indicator-notifications
Run Code Online (Sandbox Code Playgroud)

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

通知

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


Lui*_*ado 6

仔细环顾四周(很多)后,我发现 2011 年的一个代码更改是关于notify-osd默认情况下不输出到日志文件,因为它用于调试目的,并在每次执行时写入 HDD。要激活此功能,您可以通过两种方式进行,一种是临时方法,另一种是更永久的方法。

临时方法

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

对于 64 位系统:

sudo killall notify-osd
LOG=1 /usr/lib/x86_64-linux-gnu/notify-osd &
Run Code Online (Sandbox Code Playgroud)

对于 32 位系统:

sudo killall notify-osd
LOG=1 /usr/lib/notify-osd/notify-osd &
Run Code Online (Sandbox Code Playgroud)

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

永久方法(警告:全局变化)

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

sudo nano /etc/environment
Run Code Online (Sandbox Code Playgroud)

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

LOG=1
Run Code Online (Sandbox Code Playgroud)

重启电脑进行测试。

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

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

sudo nano ~/.bashrc
Run Code Online (Sandbox Code Playgroud)

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

LOG=1
Run Code Online (Sandbox Code Playgroud)

重启电脑进行测试。

您应该会看到信息开始出现在.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
Run Code Online (Sandbox Code Playgroud)

  • 小警告:这可能是个坏主意...... /etc/environment 中的 LOG=1 使它成为一个系统范围的变量并且可能会破坏东西......上帝知道对 LOG 的反应(ofc。他们应该让它像 NOTIFYOSDLOG )。也许对于初学者来说,我会将它添加到 bashrc 以供 1 个用户使用,只是为了确定。 (3认同)

小智 6

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

dbus-monitor "interface='org.freedesktop.Notifications'"    |     \
grep --line-buffered  "member=Notify\|string"
Run Code Online (Sandbox Code Playgroud)

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

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

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

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

交叉参考:
-有没有办法查看通知历史记录?