如何从 bash 脚本在统一系统托盘中显示某些内容

Kon*_*ski 5 bash unity system-tray

有没有办法在Unity系统托盘中显示一些东西(一个警告,一个我可以改变的持久图标,任何东西)?我需要能够从bash 脚本控制它。

理想情况下,这将是一个命令,可以控制系统托盘中的一个区域并提供有关我正在运行的脚本状态的消息。所以可能它不必特定于 Unity,只需与它兼容即可。

Win*_*nix 3

指标系统监控器

\n

指标系统监控器

\n

我发现最能满足您的要求的方法是(webupd8.org - 显示 bash 的 Ubuntu appindicator),它在 Unity 系统托盘/应用程序指示栏上显示文本。上面的示例来自两个 bash 脚本:multi-timerdisplay-auto-brightness

\n

安装和配置 Sysmonitor 指示器

\n

您需要indicator-sysmonitor从 ppa 安装:

\n
sudo add-apt-repository ppa:fossfreedom/indicator-sysmonitor\nsudo apt-get update\nsudo apt-get install indicator-sysmonitor\n
Run Code Online (Sandbox Code Playgroud)\n

然后运行 ​​gui 并使用更新系统托盘的脚本名称对其进行配置。

\n

输出到系统托盘的示例脚本

\n

以下是上面WebUpd8链接中的一些示例:

\n
    \n
  • 显示第一个核心的当前 CPU 频率:

    \n

    echo $(grep "cpu MHz" /proc/cpuinfo | head -1 | cut -d \' \' -f3 | cut -d \'.\' -f1) MHz

    \n
  • \n
  • 检查网站是打开(笑脸)还是关闭(悲伤脸):

    \n

    if wget -O /dev/null webupd8.org > /dev/null; then echo "\xe2\x98\xba"; else echo "\xe2\x98\xb9"; fi

    \n
  • \n
\n


Xen*_*050 2

你调查了吗notify-send?对于临时消息非常有用,我认为它存在于所有 Ubuntu 桌面中(肯定是在 XFCE 中),或者应该可以通过快速apt命令使用。

有如下选项:

-u, --urgency=LEVEL Specifies the urgency level (low, normal, critical).

-t, --expire-time=TIME
          Specifies the timeout in milliseconds at which to expire
          the notification.

-i, --icon=ICON[,ICON...]
          Specifies an icon filename or stock icon to display.

-c, --category=TYPE[,TYPE...]
          Specifies the notification category.
Run Code Online (Sandbox Code Playgroud)

手册页还说:

另请参阅http://www.galago-project.org/specs/notification/
上的桌面通知规范