有没有办法在系统托盘在统一我需要能够从bash 脚本。
理想情况下,这将是一个可以控制系统托盘中的某个区域并提供有关我正在运行的脚本状态的消息的命令。因此,它可能不必是 Unity 特定的,只要与它兼容即可。
答案1
指标系统监控
我发现最能满足您的要求的方法是(webupd8.org - 显示 bash 的 Ubuntu appindicator) 在 Unity 系统托盘/应用程序指示栏上显示文本。上面的示例来自两个 bash 脚本:multi-timer
和display-auto-brightness
。
安装并配置 Sysmonitor 指标
您需要indicator-sysmonitor
从 ppa 安装:
sudo add-apt-repository ppa:fossfreedom/indicator-sysmonitor
sudo apt-get update
sudo apt-get install indicator-sysmonitor
然后运行 gui 并使用更新系统托盘的脚本名称对其进行配置。
输出到系统托盘的示例脚本
以下是来自WebUpd8上面的链接:
显示第一个核心的当前 CPU 频率:
echo $(grep "cpu MHz" /proc/cpuinfo | head -1 | cut -d ' ' -f3 | cut -d '.' -f1) MHz
检查网站是否正常运行(笑脸)或关闭(悲伤脸):
if wget -O /dev/null webupd8.org > /dev/null; then echo "☺"; else echo "☹"; fi
答案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.
手册页还说:
另请参阅
桌面通知规范http://www.galago-project.org/specs/notification/
答案3
看一眼奥尔特雷;也许这是你的解决方案。
摘自其网站:
描述
使用 AllTray,您可以将任何没有本机托盘图标的应用程序(如 Evolution、Thunderbird、Terminals)停靠到系统托盘中。一个突出的功能是单击“关闭”按钮将最小化返回系统托盘。它与 Gnome、KDE、XFCE 4*、Fluxbox* 和 WindowMaker* 配合良好。特别支持 Xmms。
选项
这些程序遵循通常的 GNU 命令行语法,长选项以两个破折号 ('-') 开头。下面是选项的摘要。
-h --help | 显示选项摘要。
-v --version | 显示程序的版本。
-d --debug | 显示调试消息。
-s --show | 启动后不隐藏窗口。
-i --icon | 使用 PNG 图像作为图标。
-l --large_icons | 允许大图标(> 24x24)。
-st --sticky | 在所有工作区上可见。
-x --borderless | 从父级删除窗口装饰边框、标题、框架...。
-m --menu | 将条目“菜单文本:命令”添加到弹出菜单。
-t --title | 显示标题变化(以秒为单位)。可能对 xmms 最有用。
-g --geometry | 初始位置。参见 man X。
安装(终端命令)
sudo apt-get install alltray
干杯