インストールプロセスを自動化するインストールスクリプトを作成しました。その後、アイコンをユニティランチャーに再配置/追加/削除したいと思います。
dconf watch /
を使用する アイコンを並べ替えると、出力が表示されます。これを行うためのコマンドラインの方法はありますか–おそらくgsettings
?
承認された回答:
はじめに
以下の簡単なスクリプトでは、ファイルを引数として取り、プログラムへのショートカットがファイルに表示されるようにランチャーを設定します(1行に1つ)。
基本的な考え方は、ランチャーアイコンは実際には.desktop
へのリンクであるということです。 ファイル(表示される可能性がある場所)、およびランチャーアイテムを設定するための標準的な方法は、次のコマンドを実行することです。
gsettings set com.canonical.Unity.Launcher favorites "[ 'item1.desktop' , 'item2.desktop' , . . . 'item3.desktop; ]"
多くのアイテムを追加したい場合、これは面倒になる可能性があり、引用は面倒になる可能性があります。いつでも目的のプログラムを開き、アイコンを右クリックして[ランチャーにロック]オプションを呼び出すことができますが、大量のアイテムを扱う場合も実用的ではありません。
ここでのアプローチは、1行に1回ずつファイルを読み取り、コマンドテキストを作成して、それを実行することです。これは、gsettings set
を実行するのと同じです。 上記のコマンド。ただし、ハードワークはあなたのために行われます。
使用法:
スクリプトを実行するには、スクリプトをファイルに保存し、chmod +x /path/to/script
を使用して実行可能にします。 として実行
python /path/to/script /path/to/file
入力ファイルには、/usr/share/applications/firefox.desktop
など、ランチャーに追加するアイテムへのフルパスが含まれている必要があります。 、ただし必須ではありません。firefox.desktop
の行 大丈夫です。
デモ
スクリプトを実行する前に
スクリプトの実行後
順序は、入力ファイルに表示されるエントリとまったく同じであることに注意してください
スクリプトソース
#!/usr/bin/env python
# Author: Serg Kolo
# Date: April 22, 2016
# Purpose: programmatically set Unity launcher items
# by reading a file
# Written for: http://askubuntu.com/q/760895/295286
# Tested on: Ubuntu 14.04 LTS
import sys
import subprocess
command="""gsettings set com.canonical.Unity.Launcher favorites """
def run_command(cmd):
p = subprocess.Popen(cmd, shell=True, stdout=subprocess.PIPE)
output = p.stdout.read().strip()
return output
items=""
with open(sys.argv[1]) as file:
for line in file:
temp = "'" + line.strip().split('/')[-1] + "'"
items = ",".join([items,temp])
items = '"[ ' + items[1:] + ' ]"'
print run_command(command + " " + items)