(2020-03-04 初稿 - 2021-05-10 転記、追記)
はじめに
しばらく更新をサボってたが、その間にわが家のRaspberry piも4がひとつ増えた。
4になって高機能になった分、あれやこれやとデスクトップPC代わりに使っている。
使っていると、利用頻度の高いディレクトリやコマンドがデスクトップにショートカットとしてあるといいと思うようになった。
このページでは、Raspberry Pi(3でも4でも同じだと思う)でデスクトップにショートカットを置く方法をメモする。
(2021-05-10 追記)
この記事を書いた当初は、lxshortcutでショートカットを置く方法しか思いつかなかったが、もっと簡単で便利な方法があることに気がついた。
その方法は、シンボリックリンクを作成する方法で、詳細は以下に示すが、特別な理由が無い限り、シンボリックリンクの方法が便利で手軽だと思う。
インストール
シンボリックリンク
シンボリックリンクの場合は、プログラム ln が既にインストールされているので、別途インストールの必要はない。
lxshortcut
Raspberry Piのデスクトップにショートカットを置くためには、lxshortcutというコマンドが必要とのことで、以下のとおりインストールします。
sudo apt-get install lxshortcut
ディレクトリのショートカットを配置する
シンボリックリンク
例えばMusicディレクトリのシンボリックリンクをデスクトップに作成する場合は、以下のようにする。
なお、筆者はシンボリックリンクを作成するときには、混乱を避けるため当該のディレクトリで作成することにしている。
cd ~/Desktop
ln -s ~/Music .
lxshortcut
ディレクトリのショートカットは以下の手順で行う。
- ファイルマネージャーのアイコンをクリックして起動
- Desktopのディレクトリに移動
- ファイルマネージャーのメニューの「ツール(L)」をクリックし、「現在のフォルダでコマンドを実行する...(R)」を選択
- 実行するコマンドとして、以下を入力(例としてMusicのディレクトリの場合)「lxshortcut -o music.desktop」
- 名前を「Music」、コマンドを「pcmanfm /home/pi/Music」と記入
以下は、アイコンをファイルとして開いてみたときのエントリ
[Desktop Entry]
Encoding=UTF-8
Type=Application
Name=Music
Name[ja_JP]=Music
Exec=pcmanfm /home/pi/Music
Comment[ja_JP]=
StartupNotify=false
コマンドのショートカットを配置する
シンボリックリンク
コマンドのシンボリックリンクも、例えばtestexec(bash スクリプト)の場合、以下のとおり。
cd ~/Desktop
ln -s ~/bin/testexec .
lxshortcut
コマンドのショートカットも同様に行います。
筆者が悩んだのは、bashのスクリプトで、シーバング(#!/bin/bash or #!/binenv bash)をファイルの先頭行に書いてあったので、普通に実行できるものだと思ってましたが、うまく動きません。^^;
悩んだあげく、bashの引数として実行すれば良いことに気が付き、以下のように設定しました。
- ファイルマネージャーのアイコンをクリックして起動
- Desktopのディレクトリに移動
- ファイルマネージャーのメニューの「ツール(L)」をクリックし、「現在のフォルダでコマンドを実行する...(R)」を選択
- 実行するコマンドとして、以下を入力(例としてtestexec(bash スクリプト)の場合)「lxshortcut -o testexec.desktop」
- 名前を「Music」、コマンドを「bash /home/pi/bin/testexec」と記入
以下は、アイコンをファイルとして開いてみたときのエントリ
[Desktop Entry]
Encoding=UTF-8
Type=Application
Name=testexc
Name[ja_JP]=testexc
Exec=bash /home/pi/bin/testexec
Comment[ja_JP]=
Terminal=true
おわりに
シンボリックリンクの方法で、ディレクトリもプログラムもデスクトップに簡単に配置できた。
lxshortcutの場合、bashのスクリプトについては悩んだけど、気がつけば当たり前のこと。同様に悩んでいる人の参考になれば幸い。
それでは、楽しいRaspberry Piライフを。(^^)/