« Kobo: FW3.13.1 スクリーンセーバー変更 H2Oだけでなく、glo/auraその他にも対応 | トップページ | Kindle Voyage: フォントサイズ・カスタマイズ (たぶんFW5.6.1.x) »

2015年3月 5日 (木)

Kobo: FW3.13.1でフォント詳細設定を有効化、行間、余白を調節可能にする(簡単設定編)

-- 追記 ---
もっと簡単で安定しているランチャー版を作った。
「Kobo: 行間・余白、フォント調節有効化、ページめくり方向変更を簡単にランチャーで」参照。
このページのものは削除した。
-- 追記おしまい ---

以前の「設定編」でpythonのスクリプトの作者さんからコメントをいただき、さらにKobo Start Menu用のシェルスクリプトも書いたとのこと。前回の記事のコメント参照

このKobo Start Menuというのは、ごちゃごちゃ機能が多すぎてちょっと・・・・。
CFWではもう使えなくなているパスワードロックとか、認証回避とか、アップデートのコントロールとか、便利なのかもしれないが、使わない機能が多くてちょっと邪魔くさい。

そこで、KSM用のシェルスクリプトをもっと単純に使えないかと考えたところ、昔使ったことがあるKobo files monitor(fmon)でやってみようかと。

たいして使い心地がいいわけでもないが、ssh/telnetでログインしてコマンド・・・という作業はなし。要するにタップするだけ。

fmonがどういうものかというと、
Kobo端末にひとつ画像を入れる。すると本と同じようにホーム画面やライブラリー(「本」)なんかに縮小画像(アイコン?)が表示される。で、これをタップすると仕込んでおいたスクリプトを実行する、というもの。
前回の設定編で出たシェルスクリプトなりpythonのスクリプトなりを連携させればよい、というわけ。

すでにあるものをパクって、ちょっと手を加えただけ。
・fmon
http://www.mobileread.com/forums/showthread.php?t=218283

・このページにはなぜかもうfmon本体しか置いていないので、KoboLauncher for standalone Qt appsのfmon回りのスクリプト

・koreaderのfmon経由の起動スクリプト
https://github.com/koreader/koreader/tree/master/platform/kobo

・そしてラマダンさんによるKSM用のシェルスクリプト
https://dl.dropboxusercontent.com/u/47735857/kobo-shell-scripts.zip

これらを適宜変更して作成。


というわけで、前回の記事のpythonのスクリプトを実行する部分の代わりがこれ。


以下の作業はデータベース(.kobo/KoboReader.sqlite)のバックアップを取ってから。

ダウンロード:
「fmon_for_kobo-shell-scripts.zip
追記:
さらに更新(2015/03/08)
「fmon_for_kobo-shell-scripts.zip」
- データベース更新後のKoboの再起動をやめ、nickelのみの再起動に変更。処理中のアニメーション画面も正常に。ようやくまともになったか?

更新(2015/03/06 )
「fmon_for_kobo-shell-scripts.zip」
- 処理作業中を示す「■□□□□ 更新中」のアニメーション画面を有効にした(update-animator.sh)。これまでは画像が表示されるだけで、処理中なのか処理が終わったのかわからなかった。
- ミスの修正もあるので、すでに使っている人は(いるのか?)再インストールを。
- あわせて、下記の記述も変更


◯インストール(簡略説明編)
1. zipを解凍してできた、画像が入ったfmonpngsフォルダをKobo端末にコピー。USB接続を解除して、画像がホーム画面に現れるのを確認。この確認は必須。
2. KoboRoot.tgzをKobo端末の.koboフォルダにコピー。USB接続を解除すると再起動する。インストールはこれで終了。
3. その画像をタップすると、データベースを変更するスクリプトが実行される。デフォルトでは行間・余白を有効にする、言語のja > enm変換。別のスクリプトにしたい場合は下記参照。


◯インストール(詳細編)
1. ダウンロード・解凍
KoboRoot.tgzと、fmonpngs(画像フォルダ)がある
先に画像フォルダを端末へ

2. PCにつないだKobo端末(ドライブの一番上へ。それ以外は不可)にfmonpngsフォルダをコピー。
USB接続を解除すると、「コンテンツを処理しています・・・」の画面になり、それが終わるとホーム画面になる。
注意は、ここでホーム画面にコピーした画像ファイルの縮小画像(アイコン?)があるか確認すること。「ライブラリに1冊追加」みたいなやつ。
これが出ないうちは、次の作業に移らないこと。(画像がないと連動したスクリプトも実行できるわけないから)

3. 次にKoboRoot.tgzをKobo端末の.koboフォルダにコピー。
USB接続を解除すると再起動される。これでインストール終了。

4. あとはスクリプトの画像をタップすれば、スクリプトが実行される。ReplaceLanguageCode_ja_Alt.sh(言語をenmにする。フォント詳細設定と行間・余白の調節が有効になる)が実行され、自動的に再起動する。
データベースの大きさ(本の数)によって処理時間は変わる。本が多いほど、再起動まで待たされる。

5. 別のスクリプトを使いたいときはタップせず、スクリプトの追加・削除を自分でおこなう(下記「スクリプトの追加・削除」参照)。

*同じ画像ファイルの追加・削除を繰り返していると、その画像ファイルがホーム画面に現れなくなることがある。そういうときは別の画像をKoboに追加して、無理やりデータベースを更新させるといいみたい。


◯スクリプトの追加・削除
ラマダンさんによるスクリプトは全部入っている(ただしすべての動作確認はしていない)。おもにページ送りの変更などのスクリプト。
スクリプトの簡単な説明は、端末の.fmon/reserve/fmonpngs/にある画像を参照。

1. 画像タップでスクリプト実行という仕組みなので、画像ファイルとスクリプト・ファイルを所定の位置に配置する。

以下のフォルダに追加、もしくはそこから削除する
画像ファイル:Kobo端末/fmonpngs
スクリプト・ファイル:Kobo端末/.fmon/run

画像ファイルとスクリプト・ファイル置き場はreserveというフォルダ
画像ファイル: .fmon/reserve/fmonpngs
スクリプト・ファイル: .fmon/reserve/run
ここから上のフォルダにコピーしてやる。

画像ファイルが、aabbcc.pngだとすると、対応するスクリプトは、run_aabbcc.sh になる。
aabbcc部分は共通。また、スクリプトに"run_"をつけておいたのは、runフォルダに入れるものだと明示するため。
また、"run_"がついていないスクリプト(.sh)には触らないこと。

インストール済みのReplaceLanguageCode_ja_Alt.png(画像)とrun_ReplaceLanguageCode_ja_Alt.sh(スクリプト)がある場所にならってやればいい。

2. さらに再起動が必要
ファイルの配置が終わり、USB接続を解除すると、「コンテンツを処理しています・・・」の画面になり、その後、ホーム画面に追加した画像が現れる。
あとはタップするだけ、と思いきや残念ながらそうではない。タップしてもまだスクリプトは実行されない。再起動を。

(fmonはKoboの起動時に所定のフォルダにあったファイルを監視している。だから、Kobo起動後に追加されたスクリプトは監視の対象になっていない。だからタップしてもスクリプトは起動しない。)


あとは
◯新しく本を追加したとき
・本を追加した後、スクリプト画像をタップ。
「■■□□□」の「更新中」の黒い画面になり、その間にデータベースの書き換えが行われる。再びホーム画面になる。

・ログはKobo端末の.fmon/log/fmon.log.txt

・Koboのホーム画面は変化するので、スクリプト画像はそのうちホーム画面から消える。「コレクション」を開いたとき、番上に来るようなコレクション名を考えて、そこに入れておけば見つけやすいかも。


◯アンインストール
ファイルは基本すべてPCからUSB接続でアクセスできる場所にインストールするようにしたので、PCにつないで、.fmonフォルダとfmonpngsフォルダを削除すればよい。
/ectc/init.d/on-animator.shだけはシステムの領域の残るが、これは.fmonフォルダがないと何もしないので問題はない。気になるなら、telnet/sshでログインして削除。いや、削除してはダメだった。


あとは前回の記事のフルスクリーン化(とくに余白調節はフルスクリーンでないとうまくいかない)とパッチ(フォントの太さ調節など)を必要に応じて。


まあ、こんなところか。あくまでも自己責任で。
もっとちゃんとしたスクリプトを書いてやるぞ、という人はぜひ。


CFWは使わなくなってずいぶん経つが、あのopt/cfw/scripts以下にあるデータベース関連のスクリプト群も少し修正すれば、fmonで使える? 
CFWみたいにたくさんの機能をパッケージ化したものをメンテ・開発するのは大変だろうが、必要な部分だけ利用するんだったら、楽な気もするけど。すべての人がCFWのすべての機能を利用する、というわけでもあるまいし。


|

« Kobo: FW3.13.1 スクリーンセーバー変更 H2Oだけでなく、glo/auraその他にも対応 | トップページ | Kindle Voyage: フォントサイズ・カスタマイズ (たぶんFW5.6.1.x) »

kobo」カテゴリの記事

コメント

fmonはKSMが内包してるので、私も使用しています。こちらを利用すれば再起動することなくデータベースを更新することも可能です。方法は単純で、スクリプト内に以下のようにnickelをkillするコードを付け加えて、KSMの画面に移行した後に更新を行うようにするだけです。

killall nickel
killall hindenburg
killall fmon

sleep 1

まあ、機会があったら試してみてください。KSMは特に煩雑なところは無いと思うのですが・・・。

投稿: ラマダン | 2015年3月 7日 (土) 20時53分

ありがとうございます。

再起動は煩わしいので、なんとかしたいんですが・・・。nickelを再起動させればいいということですか。

KSMはKobo起動後に用もないのにかならず出てくるのが煩わしいんですよね(設定で変えられるのかもしれませんが)。メニューに項目がたくさんあって、探したり何度もタップしたりするのも面倒で。

使わない機能はインストールせず、できるだけシンプルにしていたいので、せめて最小限の構成でインストールされて、必要なものを各自後から追加する形ならいいんですが。

投稿: soranoji | 2015年3月 7日 (土) 23時36分

ラマダンさん

KSMなし、fmon単体、再起動なしでデータベースの更新を反映させられるようになりました。koreaderの起動方法を参考にして、どうにかこうにかnickelの再起動をでっち上げました。


投稿: soranoji | 2015年3月 9日 (月) 00時08分

興味深いです。端末上でデータベース操作を行うならおそらくこの方法が一番スマートでしょうね。

投稿: ラマダン | 2015年3月 9日 (月) 22時13分

コメントを書く



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




トラックバック


この記事へのトラックバック一覧です: Kobo: FW3.13.1でフォント詳細設定を有効化、行間、余白を調節可能にする(簡単設定編):

« Kobo: FW3.13.1 スクリーンセーバー変更 H2Oだけでなく、glo/auraその他にも対応 | トップページ | Kindle Voyage: フォントサイズ・カスタマイズ (たぶんFW5.6.1.x) »