web-dev-qa-db-ja.com

利用可能なアップデートについては、gnome-softwareの通知バブル(notify-osd)を無効にします

Unityで16.04を実行し、ログインするたびに、画面の右上隅に更新が利用可能であるというこの厄介な通知バブルが表示されます。

これは迷惑なだけでなく、アップグレードされるべきではないパッケージを控えているため、多くの場合真実ではありませんが、通知者は気にしないようです。

利用可能なアップデートの通知を無効にするにはどうすればよいですか?

Notify-osdを完全に無効にしたくありません。また、とにかくaptを使用して手動で更新を行うため、更新の自動チェックを既に無効にしています。

6
Byte Commander

このFedoraforum.orgの投稿 によると、GNOME Softwareのアップデートの自動ダウンロードを無効にすることができます。

gsettings set org.gnome.software download-updates false

そのキーの説明は次のとおりです。

有効にすると、GNOMEソフトウェアは自動的にバックグラウンドで更新をダウンロードし、準備ができたら更新をインストールするようユーザーに促します。

テストするアップデートはありません。

9
muru

Dbus-monitorを使用して、特定の通知のみをインターセプト(キル)する方法

通知のテキストに出現する特定の識別文字列がある場合は、specificメッセージを自動的に殺すことができます。この場合、「更新」がおそらく実行されます。

設定方法

  1. 以下のスクリプトを空のファイルにコピーします。

    #!/bin/bash
    
    string=$1
    match="update"
    
    if [[ $string == *$match* ]]
      then
        pkill notify-osd
    fi
    

    killnot.shとして保存します。これは、通知に特定の文字列が発生した場合、notify-osdを強制終了します。 match="update"行を編集して、削除する通知に識別文字列を反映します。 スクリプトを実行可能にします

  2. 以下のスクリプトを空のファイルにコピーします。

    #!/bin/bash
    
    scriptpath=/home/jacob/Bureaublad/killnot.sh
    
    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 '{}' $scriptpath {}
    

    scriptpath=/home/jacob/Bureaublad/killnot.shを編集して、スクリプト1への実際のパス(killnot.sh)を反映し、monitor_notifs.shとして保存します。 スクリプトを実行可能にします

  3. 次のコマンドでセットアップをテスト実行します。

    /path/to/monitor_notifs.sh
    

    テストするには、別のターミナルでコマンドを実行します:

    notify-send <identifying_string>
    

    メッセージは表示されません。

  4. すべてが正常に機能する場合は、Dash> Startup Applications> Addの順に起動アプリケーションに追加します。コマンドを追加します。

    /path/to/monitor_notifs.sh
    

注意事項/説明

スクリプトmonitor_notifs.shは、 この答え と同じ方法でdbus-monitorを使用します。バックグラウンドで実行すると、システムに対してnothingを意味し、通知のみをトリガーします。

これらの通知は、発生すると、引数としてスクリプトkillnot.shに渡されます。スクリプトは何も行いません。unless識別テキストは通知のテキストに含まれます。その場合、notify-osdを強制終了します。

最初のスクリプトを少し編集するだけで、セットアップで複数のキーワードの通知を一度に強制終了できます。


編集は、バブルが表示されるまでコマンドを実行するだけです

Ifログイン後にのみ通知が表示されます。質問で述べたように、更新通知をインターセプトした後、ソリューションを「スマート化」して自分自身を殺すことができます。

セットアップで指定されたとおりにスクリプトに名前を付けた場合は、killnot.sh sriptに1行追加します。

pkill -P "$( pgrep -f run_intercept )"

スクリプトは次のようになります。

#!/bin/bash
string=$1

match="update"
if [[ $string == *$match* ]]
  then
    pkill notify-osd
    pkill -P "$( pgrep -f run_intercept )"
fi

メインスクリプトrun_interceptは、ジョブを実行した後に強制終了され、バックグラウンドスクリプトが実行されなくなります。

きれいに近いこの状況では得られません。

2
Jacob Vlijm

Gnome(ubuntu)-softwareの最終バージョンで修正されたバグ https://bugs.launchpad.net/ubuntu/+source/gnome-software/+bug/1592382

1
julian-alarcon

/etc/xdg/autostart/update-notifier.desktopサービスを自動起動するファイルupdate-notifierを見つけました。ご存じかもしれませんが、.desktopディレクトリ内の/etc/xdg/autostartファイルは、Exec=パラメーターで指定されたコマンドを開始します。

無効にするには、mv /etc/xdg/autostart/update-notifier.desktop /etc/xdg/autostart/update-notifier.desktop.bakとviolaを実行するだけです!再有効化は逆です。

1