新しい問題。 Ubuntu 16.04/16.10。これで、gpartedを起動するたびに、Unityランチャーのゴミ箱アイコンのすぐ上に新しいディスクパーティションアイコンが表示されます。それらを取り除くには、「ランチャーからロックを解除」する必要があります。
古いバージョンのUbuntuの古い投稿では、16.04/16.10では適用されなくなったさまざまな修正が提案されています。これらの厄介なアイコンを永久に取り除く方法について何かアイデアはありますか?
これは、ゴミ箱アイコンのすぐ上にある3つのアイコンを示すスクリーンショットです。
承認された回答:
原因
ランチャーからデバイスを削除すると、(gsettings
でデバイスがブラックリストに登録されます )キー
com.canonical.Unity.Devices blacklist
ただし、デバイスが削除されると(何らかの方法で切断されると)、デバイスもブラックリストから削除されます。次にデバイスを接続すると、ストーリーが最初からやり直します。
ソリューション
以下の解決策は、ブラックリストに登録されたデバイスをファイルに保存します。それらを削除した後1回 、デバイスがランチャーに再び表示されることはありません。デバイスを切断すると、スクリプトはすぐに(再)デバイスをブラックリストに追加します。
#!/usr/bin/env python3
import subprocess
import time
import os
key = "com.canonical.Unity.Devices"
bl_file = os.environ["HOME"]+"/.blacklist_data"
while True:
time.sleep(2)
current = subprocess.check_output([
"gsettings", "get", key, "blacklist",
]).decode("utf-8")
if "@as" in current:
current = []
else:
current = eval(current)
try:
r = open(bl_file).read()
r = [] if r == '' else r.splitlines()
except FileNotFoundError:
r = []
if current != r:
newlist = list(set([d for d in current+r if not d == '']))
open(bl_file, "wt").write("\n".join(newlist))
subprocess.Popen(["gsettings", "set", key, "blacklist", str(newlist)])
使用方法
- スクリプトを空のファイルにコピーします
- それを
remember_blacklist.py
として保存します -
次のコマンドでテスト実行します:
python3 /path/to/remember_blacklist.py
-
すべてが正常に機能する場合は、スタートアップアプリケーションに追加します:ダッシュ>スタートアップアプリケーション>追加。コマンドを追加します:
python3 /path/to/remember_blacklist.py
注
-
gsettings
からの読み取り (実質的にすべてのスクリプトの機能)は非常に軽量であり、システムに目立った負担をかけることはありません - デバイスが任意の
nautilus
で開かれている場合(および長い間) ウィンドウ、それはまだランチャーに表示されます。ただし、アイコンはランチャーにロックされず、消えます。