Linux 環境において、GNOME などが認識するショートカットを作成する
この記事を作った動機 GNOME デスクトップ環境などにおいて特定のスクリプトを実行するなど、定型処理を気軽に行うために、ショートカット(デスクトップエントリ)を作成したいということがあった。しかし、.desktopという拡張子を持つファイルを所定の場所に作れば、ショートカットができることがわかっていたものの、その内容がめんどくさくて、放置していたことがあった。 そこで今回はExample Desktop Entry File | Desktop Entry Specificationの.desktopエントリの例を参考に、最低限私が使いたいように加工した物をテンプレートとして記録しておくことにした。 事前情報 [userName]と書かれている部分は、適宜存在するユーザのホームディレクトリ名などに書き換える。 設定内容 .desktopの内容 スクリプトを実行する場合には、Terminal=trueを指定すること、実行権限を付与すること(“chmod +x [対象のスクリプトやバイナリ]")やインタプリンタなどを指定するシバンが先頭に必要である。(例:”#!/bin/bash","#!/bin/python") [Desktop Entry] Version=1.0 Type=Application Name=A sample sortcut Comment=This is a sample desktop entry text. Terminal=true Exec=/path/to/script.sh Icon=[icons フォルダ直下に配置した画像名か、画像までのファイル名を含めた絶対パス 拡張子も書く] .desktopのファイルの配置場所 特定のユーザだけ /home/[userName]/.local/share/applications 全体に反映 /usr/share/applications アイコン画像の配置場所と利用方法 icons フォルダに直接画像を配置する場合は、デスクトップエントリの記述においてIcon=[拡張子を含めたファイル名]で通り、すべてのパスを書く必要はない。階層構造を作るには、Icon Theme Specification に従って厳密にインデックスなどをテキストで指定する必要があり手間がかかるので今回は省略する。それ以外の場所に配置する場合は、デスクトップエントリの記述においてIcon=[画像のファイル名を含めた絶対パス]とする必要がある。 特定のユーザだけ /home/[userName]/.local/share/icons 全体に反映 /usr/share/icons 例 例として、ゆっくり霊夢をアイコンとしたecho "ゆっくりしていってね!"を実行するスクリプトへのショートカットの作成について、以下に示す。 .desktopファイル 配置場所 /home/[userName]/.local/share/applications/yukkuri.desktop 内容 [Desktop Entry] Version=1.0 Type=Application Name=Yukkuri say something meaningless Comment=Yukkuri will say something meaningless. Terminal=true Exec=/home/[userName]/script/yukkuri/say.sh Icon=/home/[userName]/.local/share/icons/yukkuri/reimu/normal.png スクリプト 配置場所 /home/[userName]/script/yukkuri/say.sh 内容 #!/bin/bash echo "ゆっくりしていってね!" 画像 配置場所 /home/[userName]/.local/share/icons/yukkuri/reimu/normal.png ゆっくり霊夢の画像 (normal.png) 動作例 期待したとおりに動作している例 ...