查看来自 gnome 通知区域的完整消息

查看来自 gnome 通知区域的完整消息

Gnome 通知区域仅显示消息的标题和第一行的一部分。

单击通知区域中的消息只会删除该消息。我尝试查看日志,但没有看到该消息。

我如何才能查看完整消息?

在下面的屏幕截图中,有一条有关网络发现的消息,但我看不到该消息的其余部分。

在此处输入图片描述

答案1

回答

如果你想要在某处看到完整的消息,GNOME 扩展“备案通知”允许您将通知存储到选择的文件中。

专业级

如果您希望在屏幕截图的通知列表中看到完整消息,您可能需要更改 GNOME 中该特定部分的 CSS。有一些教程可以帮助您做到这一点,但我不建议您这样做,除非您知道自己在做什么。您可以查看以下文档Gnome Shell 维基页面

您可以在 gnome-shell 主题文件中找到与这些通知相关的所有 CSS gnome-shell.css,该文件位于:

/usr/share/gnome-shell/theme/gnome-shell.css

与这些特定通知相关的 CSS 位于 CSS 类下.message-list

答案2

有各种附加组件可能会有帮助。

这将阻止应用程序删除自己的: https://extensions.gnome.org/extension/1335/grown-up-notifications/

这使得它们保持可见直到被点击: https://extensions.gnome.org/extension/41/permanent-notifications/

这显示一个计数器: https://extensions.gnome.org/extension/1386/notification-counter/

等等。你可能需要尝试一些组合,看看是否有帮助...

答案3

查看所有通知、完整通知消息的万无一失的方法
(该方法提供对所有完整通知消息的访问。可以对它们进行更细粒度的处理)。

“基本”命令dbus-monitor "interface='org.freedesktop.Notifications'"将显示每个通知的信息。例如,如果我在终端 #1 中执行该命令,并在终端 #2 中执行notify-send -u normal 'testing',则我会在终端 #1 中得到

method call time=1650533140.066199 sender=:1.357 -> destination=:1.69 serial=6 path=/org/freedesktop/Notifications; interface=org.freedesktop.Notifications; member=GetServerInformation
method call time=1650533140.067533 sender=:1.69 -> destination=:1.49 serial=305 path=/org/freedesktop/Notifications; interface=org.freedesktop.Notifications; member=GetServerInformation
method call time=1650533140.122757 sender=:1.357 -> destination=:1.69 serial=7 path=/org/freedesktop/Notifications; interface=org.freedesktop.Notifications; member=Notify
   string "notify-send"
   uint32 0
   string ""
   string "testing"
   string ""
   array [
   ]
   array [
      dict entry(
         string "urgency"
         variant             byte 1
      )
   ]
   int32 -1
method call time=1650533140.131442 sender=:1.69 -> destination=:1.49 serial=310 path=/org/freedesktop/Notifications; interface=org.freedesktop.Notifications; member=Notify
   string "notify-send"
   uint32 0
   string ""
   string "testing"
   string ""
   array [
   ]
   array [
      dict entry(
         string "urgency"
         variant             byte 1
      )
      dict entry(
         string "sender-pid"
         variant             uint32 87009
      )
   ]
   int32 -1

从现在起,您可以按照自己的意愿处理这些信息。例如,您可以:

  1. 将该信息发送到日志文件(肯定需要)。注意:这足以查看完整消息,如 OP 中所要求的
  2. grep//awksed输出
  3. 将您的命令放在您的.bashrc.profile等中。
  4. 对时间戳进行后处理。
  5. 自动维护日志文件(清理旧通知等)

我不知道是否已有可用的起点。我发现以下几点:

  1. 如何读取 dbus-monitor 输出?. 处理通知的一般信息和 Python 代码。还有链接指示通知(最近通知)。
  2. 解析 dbus 监视器输出消息
  3. https://github.com/tstack/lnav/issues/505

答案4

您尝试过 Notify OSD 应用程序吗?如果您想配置通知,它非常有用。您可以在此处阅读更多相关信息: https://wiki.ubuntu.com/NotifyOSD

以下是从终端安装的步骤:

sudo apt install notify-osd
pkill notify-osd
sudo add-apt-repository ppa:nilarimogard/webupd8
sudo apt update
sudo apt install notifyosdconfig

相关内容