也许我做错了什么,但命令不应该(单独运行)
notify-send -t 1 "test"
notify-send -t 1000 "test"
notify-send -t 10000 "test"
有不同的超时时间吗?第一个几乎是即时的,第二个需要 1 秒,第三个需要 10 秒?在所有情况下,对我来说似乎都需要大约六秒钟。
有办法解决此问题吗?由于开发人员将此标记为“功能”而不是错误,因此我希望有一些替代方案。
答案1
这是一个已知的错误:https://bugs.launchpad.net/ubuntu/+source/notify-osd/+bug/390508
(它被维护者视为“设计决定”。)
答案2
正如上面其中一篇文章中提到的,设计决定禁止此功能。幸运的是,其他人也不同意,并已设置 PPA,您也可以为您的系统撤销此决定。
要解决你的问题只需:
sudo add-apt-repository ppa:leolik/leolik
sudo apt-get update
sudo apt-get dist-upgrade
sudo apt-get install libnotify-bin
pkill notify-osd
选修的
要向 send-notify 添加比当前更多的功能:
从 Ubuntu 16.04 开始:
sudo add-apt-repository ppa:nilarimogard/webupd8
sudo apt update
sudo apt install notifyosdconfig
对于版本 9.10-14.10:
sudo add-apt-repository ppa:amandeepgrewal/notifyosdconfig
sudo apt-get update
sudo apt-get install notifyosdconfig
有关上述解决方案的更多信息,请阅读本文:
答案3
这是在主机终端环境中故意实施的违反既定惯例的行为,但并未取消资格。即,它notify-send
不应再存在,因为它损害了既定的预期和记录的功能,因此,notify-graffiti
现在应该存在一个新的命令 - 什么?等一下......所有使用“常规”命令名称拼写的脚本都会受到损害!?!通过改变命令名称拼写的约定?!?! - 嗯,这种理念非常、自相矛盾,正如 Unity 桌面终端界面所倡导的那样,是虚伪的。
不能两全其美——保留一些惯例,即命令的名称,而不保留其他惯例,即记录的命令的功能。如果要牺牲功能,那么命令名称也应该牺牲,以保持用户“体验”的完整性、常规性、一致性等,或者是用户的“沮丧”、“烦恼”、“恼怒”……
參考文獻:
- 详情请参阅:显示通知的程序名称是什么?
- 查看 ”
man notify-send
” - 请参阅章节未过期通知在 Ubuntu 文档中通知 | Ubuntu 应用程序开发者
书签:
通知发送忽略超时吗?
答案4
这是以毫秒为单位的。我在 XUbuntu 16.04 (Ubuntu XFCE) 上进行了测试
notify-send -t 3000 "test"
正好 3 秒