UCK(Ubuntu Customization Kit)を使用してUbuntu 14.04 Live CDをカスタマイズしています。このプログラムは、ターミナルでchroot環境を提供して変更を加えます。
ドックに表示されるプログラムを追加および削除したい。
.desktop
ファイルを変更することでこれが達成できるかどうかわかりませんか?
ターミナルを使用してこれをどのように行うことができますか?
以下のスクリプトは、引数に応じて、ランチャーにアイテムを追加または削除するために使用できます。
#!/usr/bin/env python3
import subprocess
import sys
desktopfile = sys.argv[1]
def current_launcher():
get_current = subprocess.check_output(["gsettings", "get", "com.canonical.Unity.Launcher", "favorites"]).decode("utf-8")
return eval(get_current)
def set_launcher(desktopfile):
curr_launcher = current_launcher()
last = [i for i, x in enumerate(curr_launcher) if x.startswith("application://")][-1]
new_icon = "application://"+desktopfile
if sys.argv[2] == "a":
if not new_icon in curr_launcher:
curr_launcher.insert(last, new_icon)
subprocess.Popen(["gsettings", "set", "com.canonical.Unity.Launcher","favorites",str(curr_launcher)])
Elif sys.argv[2] == "r":
curr_launcher.remove(new_icon)
subprocess.Popen(["gsettings", "set", "com.canonical.Unity.Launcher","favorites",str(curr_launcher)])
set_launcher(desktopfile)
set_launcher.py
として保存します次のコマンドで実行します:
python3 /path/to/set_launcher.py <name_of_.desktop_file> a
アイコンを追加する、または:
python3 /path/to/set_launcher.py <name_of_.desktop_file> r
アイコンを削除するには
例:
python3 /path/to/set_launcher.py gedit.desktop a
gedit
をランチャーに追加するか、または
python3 /path/to/set_launcher.py gedit.desktop r
ランチャーからgedit
を削除するには
ランチャーアイコンのリストは、キーで定義されます。
com.canonical.Unity.Launcher favorites
コマンドで取得できます:
gsettings get com.canonical.Unity.Launcher favorites
set代替リスト(正しい形式を使用しているという事実を考慮):
gsettings set com.canonical.Unity.Launcher favorites "[item1, item2, etc]"
.desktop
ファイルを編集してこれを達成できますか?いいえ、ファイル自体とは関係ありません。重要なのは、ファイルがランチャーのお気に入りのリストにあるかどうかです。
このリストをコマンドラインから編集することは、まさにスクリプトの機能です。