« ドイツ語多読本:Anne-Gaëlle Balpe / Eve Tharlet: Der rote Faden | トップページ | Kobo: cfwの本棚作成スクリプトをカスタマイズ & Calibreと連携  »

2015年9月16日 (水)

Kobo: cfwの本棚作成をランチャーで実行

KoboLauncherでcfwの本棚作成スクリプトが使えないか、やってみた。

KoboLauncher for DB scripts(前の記事)でやってみたが、オリジナルのKoboLauncherでもできるはず。ただしオリジナルは日本語フォントを追加してやらないと、日本語表示できないので注意。

試しにこんな感じで。
1. cfwのインストールは嫌なので、必要なデータベース書き換えのスクリプト群(/opt/cfw/scripts/*)と/mnt/onboard/.kobo/koboCFW.confのみのKoboRoot.tgzを作ってインストール。(common.shのsqlite3のパスだけはランチャーのものに変更した)
2. あとはKoboLauncherの.kobo/db_scripts/applications.iniに1行追加。
 コレクション作成 = /opt/cfw/scripts/createbookshelf.sh
3. koboCFW.confを適当に編集
4. 変更を反映させるためにkobo再起動
で、ランチャーを起動して、「コレクション作成」タップ。で、OKだった。
ランチャーをインストールしないなら、telnetでログインして直接スクリプトを実行、reboot、で。

cfwをインストールしている人は、KoboLauncherをインストールして、上のようにapplications.iniを編集するだけでいいはず。
他のスクリプトでは、contentupdate.shなどはOKだろうが、/opt/cfw/scripts/以下のスクリプトしかインストールしていないので、/etc/init.d/rcS* と連携しているスクリプトが正常に動くかどうかわからない(recentlyreading.shなど)。

KoboLauncherは/etc/init.d/on-animator.shをいじっているので、独自アニメーションを使った昔のcfwとはそのままでは共存できないだろう。最近のやつはon-animator.shを公式FWのオリジナルに戻すみたいなので、大丈夫なはず。cfw -> KoboLauncherの順のインストールならOK。逆はだめ。

-- 追記 --
cfwとランチャーを併用する場合
ランチャー終了後のnickelの起動は、LD_PRELOADでライブラリをロードする必要があるのかも。だったら、.kobo/vlasovsoft/run_nickel.sh でそうするように変更を。
それから、source /etc/init.d/rcSAdd は必要? cfw全体をインストールしているわけではないので未確認。
以上、cfwの/etc/init.d/rcS*を見て自分で判断を。
-- 追記おしまい --

cfwが動いているならそれで十分かもしれないが、ランチャー経由にする利点はある。もちろん、ランチャー経由でスクリプトを実行しなければならない、という意味では「自動」作成ではなくなるが、

◯スクリプトの実行がすぐ反映される。再起動やUSB接続がいらない。ランチャー起動時にnickelが停止され、ランチャー終了でnickelが再起動されるので。

◯FWのアップデートを気にしなくてよい。rcSでライブラリをロードする必要がなく、データベース用のシェルスクリプトを直接実行するだけの単純なもの。だから、FWのアップデートでcfwが動かなくなっても、スクリプトの実行はできる。
(もちろんFWのアップデートでKoboLauncher自体が動かなくなったら別だが。でも、KoboLauncherはgloHDにも対応しているみたいだし、アップデートは続いているようなので、開発が止まったcfwとは違うだろう)

というわけで、cfwが動こうが動くまいが、/opt/cwf/scripts/以下のスクリプトさえあれば、とりあえず本棚作成機能は使える。


で、cfwの本棚スクリプトを組み込んだKobLauncherを作成。cfwをインストールしていない人はこちらを。

コレクション作成機能追加版: ダウンロード(フォント置き場)

(cfwをすでにインストールしている場合でも使えるが、koboCFW.confは上書きされるのでバックアップを。また、cfwのスクリプトは.kobo/db_scripts/cfw_scriptsに置いたものを使うようになる。そのほうが手軽にアクセスできるので。わかる人なら作れる本棚の種類を変えたりできるはず)

インストール方法は前回の記事もしくはreadme.txtを参照。手順通りにやること。
Kobolauncher_menucfw_2

インストールしたら、
・.kobo/koboCFW.confを編集して、本棚(コレクション)を著者で作るか、フォルダで作るかなど、いろいろ設定。エディタは改行コードLF(Unix式)のものを使う。

* koboCFW.confを変更したら、面倒だがその都度koboを再起動させる必要がある。変更が反映されないので。

・koboCFW.confはcfwのものをそのままコピーしている。その中で使えるのは、「Section4 自動本棚作成設定」のみ。他は機能しない。

・cfwの本棚作成スクリプト(createbookshelf.sh)の前に、contentupdate.shを実行するようにしたので、cbz/cbrの著者名自動更新機能も使える。
これは、
「CBZ、CBRファイルのファイル名が [著作者名] 書籍名.cbz(またはcbr)というフォーマットに準拠している場合、Kobo上の著者名、書籍名を自動で正しく更新する機能」(cfwのreadme.txt)。
要するに、指示通りのファイル名にすると、著者のメタデータがないcbz/cbr(たぶんpdfも)でもデータベースに著者を登録してくれるので、ライブラリのリスト表示で「著者不明」にならないし、本棚作成にkoboCFW.confで「著者」(ATTR)を選んでも、cbz/cbrなのに著者毎の本棚が作成できる。

補足:
cfwのデータベース関連のスクリプトは全部コピーしておいた。動くかどうかはわからないが、試してみたいものがあったらどうぞ。(led-blink.shは使えないだろう。recentlyreading.shあたりはrcS*が絡むのでたぶんダメか?)
やり方は、.kobo/db_scripts/applications.iniに1行追加するだけ。たとえば、
 zip/rarをcbz/cbrに自動変換 = cfw_scrcipts/ReplaceFile.sh
みたいな感じ。左辺は適当に。右辺は試したいスクリプトのパス。スペースは半角スペースかタブ。
さらにkoboCFW.confでON/OFF設定。そしてkoboを再起動。

もうひとつランチャーに追加しておいたのが、データベースのバックアップ。
ただし、おまけ程度のもの。
ただのコピーではなく、ダンプ/リストアにしたのは、壊れたデータベースが修復される可能性があるから。実際ダンプ/リストアで何度か助けられたことがある。koboのドライブの一番上、DB_backというフォルダにバックアップされる。

こんな感じのランチャーのアップデート。
koboCFW.confをエディタで編集するのが面倒だが、とりあえず本棚作成スクリプトを利用できるようにした。
オリジナルのKoboLauncherやcfwとの共存を考えて、ファイルを.kobo/以下に置いているが、本当は別の場所にしたい。


|

« ドイツ語多読本:Anne-Gaëlle Balpe / Eve Tharlet: Der rote Faden | トップページ | Kobo: cfwの本棚作成スクリプトをカスタマイズ & Calibreと連携  »

kobo」カテゴリの記事

コメント

コメントを書く



(ウェブ上には掲載しません)




トラックバック


この記事へのトラックバック一覧です: Kobo: cfwの本棚作成をランチャーで実行:

« ドイツ語多読本:Anne-Gaëlle Balpe / Eve Tharlet: Der rote Faden | トップページ | Kobo: cfwの本棚作成スクリプトをカスタマイズ & Calibreと連携  »