有notify-send --app-name="app name" "summary" "body body body https://askubuntu.com/questions/ask"
,但是它显示的弹出窗口甚至不允许复制文本。
并且忘记了与网站或文件系统位置的有效链接的能力。
有没有标准方法可以做到这一点?还是我需要为此实现自己的 GUI?
lsb_release -a
节目
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 20.04.6 LTS
Release: 20.04
Codename: focal
答案1
@mook765 报告说这在 22.04.4 / Plasma 上有效,而 @Rinzwind 报告说这在 Cinnamon 和 Budgie 上有效。
查看我能找到的最古老的桌面通知规范(版本 0.3),标记部分,报告如下:
正文可能包含标记。标记基于 XML,由一小部分 HTML 和一些附加标签组成。
通知服务器应支持以下标签。虽然这是可选的,但建议这样做。不支持这些标签的通知服务器应将其过滤掉。
<b> ... </b> | 大胆的 |
... </i> | 斜体 |
<u> ... </u> | 强调 |
<a href="..."> ... </a> | 超级链接 |
因此你可以尝试:
notify-send --app-name="app name" "summary" 'body body body <a href="https://askubuntu.com/questions/ask">Ask</a>'
然而,在 22.04 / GNOME + notify-send
0.7.9 上,这对我来说开箱即用(不需要任何标签,如果我notify-send --app-name="app name" "summary" "body body body https://askubuntu.com/questions/ask"
在终端中运行就会发生这种情况):
user@[REDACTED] ~ % lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 22.04.4 LTS
Release: 22.04
Codename: jammy
user@[REDACTED] ~ % notify-send -v
notify-send 0.7.9
因此,如果第一种方法由于某种原因对您不起作用,您仍然可以尝试更新(至少这在 GNOME 上有效)。
我不确定堆栈中的哪个地方随着时间的推移发生了变化,从而导致了这种情况。
在我看来,第一种方法对链接不起作用(其他标签仍然可以正确处理),但这可能是由于在调用notify-send
和遵循规范的解析器之间引入了这个“自动解析器”。