私はこうやってプラグインを新規に作成しました
という、Linux初心者目線の防備録をしたためたいと思います。
作成したのはmpdのデータベースをバックアップしたいにあるバックアップとリストアのスクリプトを実行するプラグインです。
さぁ、サクッと書けますでしょうか
先ずはsymphonic-mpdにSSHでアクセスできることが大前提です。
アクセスできたら...
cd /home/pi/plugins
をサクッと実行して、pluginsディレクトリに移動。
今回は3つのプラグインを作成しますから、plugins配下に3つのディレクトリを作成します。
ちなみに私はこうしました。
mkdir 94-save_backup
mkdir 95-read_mpd_data
mkdir 96-read_backup
次に、この各ディレクトリのシンボリックリンクを/home/pi/plugins/attachに作成します。
ln -s ../94-save_backup /home/pi/plugins/attach
ln -s ../95-read_mpd_data /home/pi/plugins/attach
ln -s ../96-read_backup /home/pi/plugins/attach
もう何が何だかワケ分からないと思います。私も訳も分からず、グーグルさんで検索しながら、GUIが便利なFileZillaも併用しながら、作業を進めました。(分かってしまえばそんなに難しくないと思う)
ちなみに、ここまでの作業を終えたところで...
cd /home/pi/plugins/attach
を実行し、ついでに...
ls -l
を私の環境で実行したら
lrwxrwxrwx 1 pi pi 15 Dec 29 14:36 01-soundcard -> ../01-soundcard
lrwxrwxrwx 1 pi pi 9 Dec 26 23:48 10-mpd -> ../10-mpd
lrwxrwxrwx 1 pi pi 20 Dec 29 14:36 11-update_library -> ../11-update_library
lrwxrwxrwx 1 pi pi 16 Dec 29 14:37 12-save_queue -> ../12-save_queue
lrwxrwxrwx 1 pi pi 16 Dec 29 14:37 13-add_stream -> ../13-add_stream
lrwxrwxrwx 1 pi pi 16 Dec 29 14:38 31-disk_usage -> ../31-disk_usage
lrwxrwxrwx 1 pi pi 13 Dec 29 14:37 40-spotify -> ../40-spotify
lrwxrwxrwx 1 pi pi 16 Dec 28 17:05 80-terraberry -> ../80-terraberry
lrwxrwxrwx 1 pi pi 13 Dec 29 14:40 90-plugins -> ../90-plugins
lrwxrwxrwx 1 pi pi 13 Dec 29 14:41 91-support -> ../91-support
lrwxrwxrwx 1 pi pi 12 Dec 29 14:41 92-reboot -> ../92-reboot
lrwxrwxrwx 1 pi pi 14 Dec 29 14:41 93-shutdown -> ../93-shutdown
lrwxrwxrwx 1 pi pi 31 Jan 5 00:19 94-save_backup -> /home/pi/plugins/94-save_backup
lrwxrwxrwx 1 pi pi 19 Jan 5 00:51 95-read_mpd_data -> ../95-read_mpd_data
lrwxrwxrwx 1 pi pi 17 Jan 5 00:30 96-read_backup -> ../96-read_backup
となりました。
しめしめ、チャンとできているっぽい。
(一部記述内容との不整合が見られますが、気にしない気にしない)
たぶん...
ls -l /home/pi/plugins/attach
でも同じ結果だと思う...
さて、各ディレクトリに
app.json
form.html
run.sh
の3ファイルを作成しなくちゃいけない。
まず
nano /home/pi/plugins/94-save_backup/app.json
を実行し、こう記述してみた。
{
"menu": "SAVE BACKUP",
"icon": "archive",
"note": "BackUp Script"
}
ここは「見栄え」に関係するファイルなので、安心して編集すればイイと思う。
1行目はプルダウンメニューに表示されるタイトル。
2行目はプルダウンメニューに表示されるアイコン。
3行目はPLUGINSパネルの右側に表示される文字列だ。

(一部記述内容と違う部分もあるけど、気にしない気にしない)
さて、ココからちょっとサーカスをしよう。
この記述をしたnanoの画面はこうだ。

今度はこの内容を編集して、別ディレクトリに保存してみよう。
内容をこのように編集し...
{
"menu": "READ MPD_DATA",
"icon": "unarchive",
"note": "Read MPD_data Script"
}
画像で見ると、こう...

“ctrl”キーと“o”キーを押して保存させるばかりの状態にして...

赤の下線で示した部分を編集してしまうのだ。

具体的には、先ほど作成した他のディレクトリのパスを打ち込んでやるのだ。

次は次のように編集をして
{
"menu": "READ BACKUP",
"icon": "unarchive",
"note": "Read Conf Backuped Script"
}
保存先を/home/pi/plugins/96-read_backup
にしてやればイイ。

nanoで編集内容を保存する時に、“File Name to Write:”以降に、保存したい先のディレクトリをコピー・ペーストするのがミソだ。
form.html
の作成は超簡単。
先ずは...
nano /home/pi/plugins/94-save_backup/form.html
を実行し、パパリウスさんの説明にあるように...
<input type="text" class="run" />
コピー・ペースト。
一度はそのまま保存し、先ほどのapp.json
でやった要領で2回、保存先のディレクトリを書き換えて保存すればイイ。
もしくは...
nano /home/pi/plugins/94-save_backup/form.html
nano /home/pi/plugins/95-read_mpd_data/form.html
nano /home/pi/plugins/96-read_backup/form.html
を実行し、それぞれに
<input type="text" class="run" />
をコピー・ペーストするのもアリだ。
さて、作業もやっと折り返し点だ。
ハッキリ言って、私は疲れてきた
なぜこんなことをやろうなんて考えてしまったのだろう...
次はいよいよrun.sh
の作成だ。
実はこれ、この場合は意外に簡単。
nano /home/pi/plugins/94-save_backup/run.sh
を実行し、コイツをコピー・ペースト。
#!/bin/bash
/home/pi/util-backup.sh
exit $?
何をやったかというと、FAQで紹介されているバックアップスクリプトをコピー・ペーストしただけだ。
同様に...
nano /home/pi/plugins/95-read_mpd_data/run.sh
を実行し、以下の内容をコピー・ペーストして保存。
#!/bin/bash
/home/pi/util-restore.sh --tag_cache
exit $?
最後に...
nano /home/pi/plugins/96-read_backup/run.sh
を実行し、以下をコピー・ペーストして保存。
#!/bin/bash
/home/pi/util-restore.sh --conf
exit $?
さて、ココまで来たらできたも同然!
各run.sh
に実行権限を付与するだけです。
ま、その実行権限ってなんやねん?というのが問題なんですけどね
私はこうやりました。
cd /home/pi/plugins/94-save_backup
して
chmod 777 run.sh
ディレクトリを移動して...
cd /home/pi/plugins/95-read_mpd_data
また
chmod 777 run.sh
再度ディレクトリを移動して...
cd /home/pi/plugins/96-read_backup
またまた
chmod 777 run.sh
これだけっすわ!
試しにチャンと実行権限が付与されているか、確認してみた。
pi@smpd:~/plugins/94-save_backup $ ls -l
total 12
-rw-r--r-- 1 pi pi 94 Jan 5 01:38 app.json
-rw-r--r-- 1 pi pi 34 Jan 5 00:09 form.html
-rwxrwxrwx 1 pi pi 46 Jan 5 00:10 run.sh
チャンとできてるっぽい!
プルダウンメニューはこうなった。

実際に動かしてみたけど、チャンと動いているっぽい。
てな感じで殴り書きしてみたけど、こんな内容で参考になるでしょうか?
こんな内容で、間違ってはいないでしょうか?>パパリウスさん