通知发送忽略超时?

Hoo*_*ked 51 libnotify notify-osd

也许我做错了什么,但命令不应该(单独运行)

notify-send -t 1 "test"
notify-send -t 1000 "test"
notify-send -t 10000 "test"
Run Code Online (Sandbox Code Playgroud)

有不同的超时?第一个几乎是瞬时的,第二个需要 1 秒,第三个需要 10 秒?在所有情况下,我似乎需要大约六秒钟。

有没有办法解决这种行为?由于开发人员将其标记为“功能”而不是错误,因此我想要一些替代方案。

Bor*_*ukh 47

这是一个已知错误:https : //bugs.launchpad.net/ubuntu/+source/notify-osd/+bug/390508

(它被维护者视为“设计决定”。)

  • 错误的设计决策可能是一个错误。 (78认同)
  • 当软件声称做一件事而它做另一件事时,它就是一个错误。如果开发人员不希望我们将其视为错误,那么不要声称它的行为并非如此。 (26认同)
  • 那不是特征。那是一个错误!当你提供一个杠杆来打开挡风玻璃雨刷器但它不起作用时,它就坏了。 (11认同)
  • @ChristopherDone 恕我直言,这是一个错误。notify-send(notify-osd 的一部分)的帮助说明: notify-send --help|grep timeout -t, --expire-time=TIME 指定通知到期的超时时间(以毫秒为单位)。这是该工具用户的主要界面。该主要界面属于用户,因此这是一个错误。根据您的观点,它要么是帮助文本的错误,要么是实现的错误,但这绝对是一个错误。 (4认同)
  • 这不是一个真正的错误。这是一个设计决定。 (3认同)

Fab*_*bby 23

正如上面的一篇文章中提到的,有一个设计决定禁止此功能。对您来说幸运的是,其他人也不同意并设置了 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
Run Code Online (Sandbox Code Playgroud)

可选的

要向 send-notify 添加比您目前拥有的更多功能:

从 Ubuntu 16.04 开始:

sudo add-apt-repository ppa:nilarimogard/webupd8
sudo apt update
sudo apt install notifyosdconfig
Run Code Online (Sandbox Code Playgroud)

对于版本 9.10-14.10:

sudo add-apt-repository ppa:amandeepgrewal/notifyosdconfig
sudo apt-get update
sudo apt-get install notifyosdconfig
Run Code Online (Sandbox Code Playgroud)

有关上述解决方案的更多信息,请阅读这篇文章:

Ubuntu 的可配置通知气泡