web-dev-qa-db-ja.com

Unityランチャーにデスクトップランチャーを追加/削除するBashスクリプト?

新規インストール後にデスクトップ環境をセットアップするスクリプトを作成しようとしています。私が理解できないことの1つは、bashスクリプトからUnityランチャーにアイテムを固定/固定解除する方法です。何か案は?

5
HDave

Gsettingsを使用します。

gsettings get com.canonical.Unity.Launcher favorites

ランチャーにあるもののリストを提供します:

['nautilus-home.desktop', '/opt/google/chrome/google-chrome.desktop', 'apps.desktop', 'geany.desktop', 'libreoffice-startcenter.desktop', 'gnome-terminal.desktop', 'gcalctool.desktop', 'Science.desktop', 'gimp.desktop', 'inkscape.desktop', 'ubuntu-software-center.desktop', 'alarm-clock-applet.desktop']

だからあなたはbashでこのようなことをすることができます:

#!/bin/bash
myfile='firefox.desktop'
list=`gsettings get com.canonical.Unity.Launcher favorites`
newlist=`echo $list | sed s/]/", '${myfile}']"/`
gsettings set com.canonical.Unity.Launcher favorites "$newlist"

テストした結果、Firefoxがランチャーに追加されましたが、アイコンはすぐには表示されません。ログアウト/ログインするか、unity --replaceコマンドを実行する必要があります。

8
Ian B.

次のコマンドを実行します。

xdg-desktop-menu install --novendor /path/to/app-name.desktop

app-name.desktopファイルは次のようになります。

[Desktop Entry]
Name=App Name
Comment=A description of the app
Exec=/path/to/app
TryExec=/path/to/app
Icon=/path/to/app-icon.ico
StartupNotify=false
Terminal=false
Type=Application
Categories=App-Category
1
SirCharlo