有zenity和notify-send。(至少在 Fedora/GNOME 上,两者似乎都已预先安装。)
所以考虑到我想显示通知,这些之间有什么区别?
是否有人安装在更多发行版中(默认情况下)?显示通知的过程有什么不同吗?有人可能更兼容某些桌面环境吗?它甚至可以在某些桌面环境中使用吗?
我还注意到有关文档notify-send
非常空闲。在我的 Fedora 安装中,它甚至没有手册页……
有zenity和notify-send。(至少在 Fedora/GNOME 上,两者似乎都已预先安装。)
所以考虑到我想显示通知,这些之间有什么区别?
是否有人安装在更多发行版中(默认情况下)?显示通知的过程有什么不同吗?有人可能更兼容某些桌面环境吗?它甚至可以在某些桌面环境中使用吗?
我还注意到有关文档notify-send
非常空闲。在我的 Fedora 安装中,它甚至没有手册页……
功能比较
zenity --notification
相当于notify-send
最简单的情况。例如,这两个命令是等价的:
这些也是:
如您所见,for 的语法
notify-send
更短更简单,因为它是一个专用工具,而--notification
只是zenity
.区别在于:
notify-send
有一个expire-time
选项,但是根据当前的手册页,Ubuntu 的 Osd 和 Gnome shell 都忽略了该选项。zenity
有一个--listen
选项可以在不关闭和重新打开通知的情况下更改通知的外观:显示的消息、可见性和图标都可以通过向 zenity 的标准输入发送适当的字符串来更改。--icon
同时notify-send
它需要--listen
和icon: error
标准输入上的 zenity 命令。zenity
,而它们需要一个--hint
选项。请注意,您需要
zenity
在使用时显式终止该进程--listen
,因为即使在它关闭后它也会继续侦听标准输入(我想这是一个错误)。对于通知动态更改的复杂过程,这不是问题,但对于简单的情况,它会使事情变得不必要地复杂。另请注意,
--hint
选项 的zenity
简要提及zenity --help-notification
,但手册页中未提及。类别和紧迫性都记录在桌面通知规范中。
备择方案
dialog
旧whiptail
的是可能的替代方案,但我认为将它们用于通知没有任何优势,除非您无法安装notify-send
或者zenity
您已经将它们用于其他目的,因为两者都具有比通知更多的功能。