从 bash 脚本激活 KDE 4 通知
Posted
技术标签:
【中文标题】从 bash 脚本激活 KDE 4 通知【英文标题】:Activating KDE 4 notifications from bash scripts 【发布时间】:2010-11-25 16:10:08 【问题描述】:我有一个由 crontab 激活并在后台运行的 bash 脚本。我想添加在执行期间发送通知的功能。我的 KDE 4 桌面有一个花哨的通知系统,它会从托盘栏中弹出非模态消息,这非常适合我的需要。所以我一直在寻找一种从 bash 脚本生成这些通知的方法,但我对 KDE 平台几乎一无所知,所以我被困住了。谁能指出我的解决方案?
【问题讨论】:
如果您介意我问一下,您使用的通知系统是什么? 如果可以忘记与 DE 的通知区域的集成,您可以使用 xmessage 命令(来自 x11-utils),其目的是成为“基于 X 的 /bin/ echo",即它只是弹出一个最小的对话窗口。 【参考方案1】:可以使用kdialog
的被动弹出选项。
kdialog --passivepopup <text> <timeout>
例子:
kdialog --passivepopup 'This is a notification' 5
【讨论】:
在我的系统上,这个命令在屏幕的右上角发送一个通知,带有蓝色背景和白色文本。【参考方案2】:您也可以使用 notify-send
(在基于 Debian 的系统上,安装 libnotify-bin
软件包):
notify-send -i 'dialog-information' 'Summary' '<b><font color=red>Message body.'
据我所知,这应该适用于多个窗口管理器(例如 KDE 和 Gnome)。
编辑:消息的 html 格式仅适用于某些通知守护程序,因此应避免使用。
【讨论】:
这个答案的好建议:我了解到您可以使用 html 为正文提供动力,并且第一个文本是通知的主题。 令我惊讶的是,我在我的 Arch Linux 上安装了notify-send
KDE,但没有安装 kdialog。这似乎不是一种规范,因为 kdialog 是 kdebase 的一部分,但显然,有些系统安装了 libnotify(dolphin 的可选依赖项)但没有安装 kdialog。【参考方案3】:
kdialog --passivepopup 'message including html' timeout
是不需要超时的 KDE 选项。您甚至可以通过添加标题 (--title
) 等来调整它 --> 请参阅
kdialog --help
一方面值得一提的是,我的 openSuSE KDE4 系统上安装了 kdialog,而这里没有安装 notify-send。
另一方面,notify-send 的优势在于您可以在不同的桌面环境中使用它
【讨论】:
【参考方案4】:确认 notify-send 可与 XFCE4(基于 Debian 的 Mint)一起使用,但 <b><font color=red>
对我不起作用。出于某种原因,它使消息正文文本变为深灰色(几乎难以辨认),所以我留下了那个 html 并且标题(“摘要”)和正文都出现了白色。
很酷的是你可以为你喜欢的图标添加一个绝对路径——
例如-i '~/myapps/foobarapp/icons/64x64/64x64.png'
【讨论】:
以上是关于从 bash 脚本激活 KDE 4 通知的主要内容,如果未能解决你的问题,请参考以下文章