web-dev-qa-db-ja.com

通知送信はタイムアウトを無視しますか?

私は何か間違ったことをしているかもしれませんが、コマンドを実行すべきではありません(別々に実行します)

notify-send -t 1 "test"
notify-send -t 1000 "test"
notify-send -t 10000 "test"

異なるタイムアウトがありますか? 1つ目はほぼ瞬時で、2つ目は1秒かかり、3つ目は100秒かかります。いずれの場合も、約6秒かかります。

行動を回避する方法はありますか?開発者はこれをバグではなく「機能」とラベル付けするので、いくつかの代替案が欲しい...

47
Hooked

これは既知のバグです。 https://bugs.launchpad.net/ubuntu/+source/notify-osd/+bug/390508

(メンテナは「設計決定」と見なします。)

44
Boris Bukh

上記の投稿の1つで述べたように、この機能を許可しないという設計上の決定があります。あなたにとって幸いなことに、他の人たちも同様に同意せず、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

上記のソリューションの詳細については、この記事をお読みください。

buntuの設定可能な通知バブル

21
Fabby

これは、ホスト端末環境での失格なしに、確立された規則の意図的に実装された違反でした。すなわち。 notify-sendは、十分に確立された予想および文書化された機能を損なうため、もはや存在しないはずです。その代わりに、新しいコマンドnotify-graffitiが存在するはずです-何????ちょっと待ってください...「従来の」コマンド名のスペルを使用するスクリプトはすべて危険にさらされます!?!コマンド名のスペルの規則を変更しますか?!?! -うーん、この哲学は、Unityデスクトップターミナルインターフェイスで支持されているように、非常に逆説的に偽善的です。

両方の方法で実行することはできません-いくつかの規則を保持します。他のコマンドではなくコマンドの名前、文書化されているコマンドの機能。ユーザーの「経験」の整合性、慣習性、一貫性などを維持するため、またはユーザーの「欲求不満」、「迷惑」、「刺激」などのように、コマンド名も機能を侵害する必要があります。 ..

ref:

ブックマーク:
通知送信はタイムアウトを無視しますか?

4
George Rowell

小さな便利なスクリプト notify-send.sh がありますcloseまたはreplace以前に送信された通知。

編集:@Glutanimateが指摘したように、このスクリプトはデフォルトで有効期限をサポートしています。

最終的に有効期限を取得できなかったため、次のように2秒のタイムアウトで通知を送信するためにかなりハックした方法を使用しました。

notify-send.sh --print-id test | xargs -I {} bash -c "sleep 2 && notify-send.sh --close={}" &

2
NiMa Thr

Cinnamonデスクトップ環境を使用している場合、有効にできる設定があります。

通知>タイムアウトに達した後に通知を削除する

0
Shai Coleman

これはミリ秒単位です。 XUbuntu 16.04(Ubuntu XFCE)でテストしました

notify-send -t 3000 "test"

正確に3秒

0
Pawel Cioch