Unity のランチャに登録する方法 (追記: Lubuntu でも)

Ubuntu の Unity のランチャに *.desktop ファイルを登録する方法。 Ubuntu 11.10 使用。

apt-get などで追加したアプリケーションの場合、起動するとランチャにアイコンが表示されるので、右クリックして「ランチャーに常に表示」をチェックすることでランチャに登録されます。

しかしスクリプトなどはランチャにアイコンが表示されないためその操作が行えません。そこで *.desktop ファイルを作り、それをランチャにドロップします。

ここでは Ruby で書かれた Twitter クライアントの mikutter を登録してみます。ただし Ruby 1.9 系統のパスは /usr/bin/ruby1.9.1 に。 mikutter を置いた場所は /home/naoki/opt/mikutter とします。

まず、適当な場所にテキストファイルで以下の内容の mikutter.desktop を作成します。

[Desktop Entry]
Type=Application
Name=Mikutter
GenericName=Twittter client
Icon=/home/naoki/opt/mikutter/core/skin/data/icon.png
Exec=/usr/bin/ruby1.9.1 /home/naoki/opt/mikutter/mikutter.rb
Terminal=false

mikutter.desktop に実行権限を与えます。

$ chmod +x mikutter.desktop

そして、デスクトップやファイラから mikutter.desktop を Unity のランチャにドラッグ&ドロップします。ランチャのアイコンから起動できるか確認して完了です。(アプリケーションが非アクティブな状態でアイコンをクリックした際に、アクティブ化されず多重起動するケースもありましたが、一度ログアウトしたら問題はおこりませんでした。)

Firefox など既にランチャに登録されているものに特定のオプションを付加したいときも、同様にして Exec 欄を変更することで大丈夫なはずです。また、ランチャではなくデスクトップにショートカットファイルを作りたいときにも適用できます。

追記

ランチャは desktop ファイルをリンクしているだけのようで、デスクトップなどに置いた desktop ファイルを変更したり削除するとランチャは自動で登録を解除します。つまりデスクトップ等に desktop ファイルを一時的に作り、あとで削除するということはできません。もしデスクトップ等にアイコンを増やしたくないのであれば、どこか作業用のファイル置き場を作るか ~/.local/share/applications にでも置きましょう。

また、起動するとランチャに「?」のアイコンが表示されるアプリケーションが存在します(私の環境では mplayer など)。そういったアプリケーションのパスを Exec 欄に含め、好みのアイコンを指定した desktop ファイルを ~/.local/share/applications に置いておけば、そのファイルに記述されたアイコンがランチャに表示されるみたいです。常時ランチャに表示するもの以外にも desktop ファイルを作るメリットはありそうです。

Lubuntu

追記。最近 Lubuntu を使ってまして、そのときの方法。 Lubuntu 12.04

デスクトップ上にショートカットとして desktop ファイルを作成するには、上記の方法で問題ありません。

Lubuntu の場合、ショートカットアイコンをドラッグしてもランチャに追加することはできません。ランチャの設定でアプリケーション一覧の中から選択する必要があります。

まず、 ~/.local/share/applications/ に適切な Categories を記述した desktop ファイルを作成します。すると自動的にスタートメニューに取り込まれます(言い換えればそうしないとスタートメニューには登録できません)。そうやってスタートメニューに登録した後、パネルの「アプリケーション・ランチャー」の設定でランチャに追加します。

Categories の具体的な記述例は /usr/share/applications/*.desktop にあります。

アクセサリ
  Utility を含み Accessibility, System を含まない
インターネット
  Network を含む
オフィス
  Office を含む
グラフィックス
  Graphics を含み Utility を含まない
ゲーム
  Game を含む
サウンドとビデオ
  AudioVideo を含む
プログラミング
  Development を含む
ユニバーサル・アクセス
  Accessibility を含み Settings を含まない
教育・教養
  Education を含む
システムツール
  System を含み Settings を含まない
設定
  Settings を含む