読む前に消える非常に奇妙な通知を受け取り続けます。それらは長く、ランダムに表示されます。最新の通知は、カーネルのアップグレード中に表示され、奇妙なアイコンがあり、長くなりましたが、それは画面上に非常に短い時間であったため、なんとか読むことはできません。
だから私はそれを呼び出しているプログラムを記録するnotify-send
へのすべての呼び出しを記録するログと、与えられたすべてのパラメータがあるのだろうか?または、これらの通知が何であるかを調べるためにそのようなログを設定できる場合はどうなりますか? Ubuntu GNOME 15.10とGNOME 3.18を実行しています。
完全なスクリプトも必要ありませんでした...
...ただし、スクリプトの形式で入力します。
#!/bin/bash
file=$1
dbus-monitor "interface='org.freedesktop.Notifications'" |\
grep --line-buffered "string" |\
grep --line-buffered -e method -e ":" -e '""' -e urgency -e notify -v |\
grep --line-buffered '.*(?=string)|(?<=string).*' -oPi |\
grep --line-buffered -v '^\s*$' |\
xargs -I '{}' echo {} >> $file
keep_log.sh
として保存しますコマンドで引数としてログファイルを使用して実行します
/bin/bash /path/to/keep_log.sh /path/to/log.txt
回答は 以前の回答 (だまされていない)から取得されました。この例では、このメソッドの適用が例として挙げられています。
私がそこで答えたのは、それ自体が この非常に良い答え に基づいていました。このメソッドでは、dbus-monitor
を使用してnotify-sendの内容をインターセプトします。そこでサンプルを編集することにより、notify-send
メッセージを(log-)ファイルに書き込むことができます。
...日付をログファイルに追加して、次のようなログファイルを作成します。
---di 10 mei 2016 17:37:20 CEST---
SOme kind of a message!
---di 10 mei 2016 17:37:20 CEST---
The last message was misspelled so here i9s another one
その場合、スクリプトは次のようになります。
#!/bin/bash
logfile=$1
dbus-monitor "interface='org.freedesktop.Notifications'" |\
grep --line-buffered "string" |\
grep --line-buffered -e method -e ":" -e '""' -e urgency -e notify -v |\
grep --line-buffered '.*(?=string)|(?<=string).*' -oPi |\
grep --line-buffered -v '^\s*$' |\
xargs -I '{}' \
printf "---$( date )---\n"{}"\n" >> $logfile