Posted by: hal on: 2008年 10月 26日

Wiki2TouchをFirmware 2.0で使う方法 – ローカル環境でWikipedia閲覧の内容が古くなったので書き直し。
説明する事が随分減りました。
注意:まずは以下を読んでください。
Wiki2Touch(wikisrvd)はapp storeでダウンロードできるAppleの認可を受けたアプリケーションではありません。
また、現状はWiki2Touch.appの製作者の手を離れて一人歩きしている状態です。公式サイトで質問はできません。
使うにはJailbreakが必要です。Jailbreakをする事によってAppleやSoftBankのサポートが受けられなくなります。
また、使い方によってはセキュリティリスクを増やす事になります。操作を誤ると簡単に壊れます。
私はJailbreakする事を薦めませんし、これから説明する手順を実行した際のいかなる問題にも責任を持ちません。
要は自己責任です。理解した上で使えばとても便利だと思っています。
まずは必要なものを準備する
まずはWikipediaのデータが必要です。素晴らしい解説ページがあるので、詳しくはwiki2touch – Jekylle+をご覧ください(Macでの解説です)。
画像データまで用意すると1日では終わらないかもしれません。
Windows版のWiki2TouchUtilsはWikipediaデータのダウンロードから変換、アップロードまでしてくれるみたいですね。何て便利な。
アップロードはwikisrvdをインストールしてからにしましょう。アップロード先にフォルダが作られていないとエラーになるようです。
参考:iPod touchでオフラインWikipedia(Wiki2Touch編) – もとまかのiPhone・iPod touch戯れ日記
Wiki2Touch(wikisrvd)の準備
アプリケーションを準備しましょう。
Cydiaからwikisrvdをインストールしてください。
BossPrefsをインストールしていない人は先にインストールしておいてください。
Wikipediaデータのアップロード。起動
Windows環境で作業している人はWiki2TouchUtilsでアップロードまでできるそうです。
上手くいかなかった場合、それとMacユーザーは手動でアップロードしましょう。
俺はMacユーザーなのでMac環境で説明をします。やる事は一緒。
何らかの方法でiPhone / iPod touchに接続します。DiskAidかiPhone Tunnelがおすすめ。有線接続の方が早いです。
/var/mobile/Media/Wikipedia/jaの中に作成したarticle.binを(あればimages.binも)アップロードします。
時間がかかるので気長に待ちましょう。
アップロードが完了したらSafariを起動して http://127.0.0.1:8080/ にアクセスします。

トップページが表示されたら成功です。検索ボックスにキーワードを入力するとサジェスト機能があります。
真ん中のWikipediaアイコンをタップするとランダムで記事を表示してくれます。これが出先での暇潰しには嬉しい。
wikisrvdはローカルでサーバーを動かすものなので、使わない時は停止させておきましょう。
BossPrefsから切り替えができます。

以上で作業完了です。データの取得・変換からすると2日ぐらいかかったでしょうか。お疲れ様でした。
トップページをホーム画面に追加しておくと便利です。
WinterBoardでアイコンを変更する時の為にアイコンを用意しました。
24bit PNGなのでブラウザによっては表示されなかったり、透明部分が水色で表示されているかもしれませんが問題ありません。
画像はPopular Sites Icons: Wikipedia globe IconとPopular Sites Icons: Wikipedia Iconのものを使っています。Free for non-commercial use.という事です。

その他。拡張と便利かどうかわからないTips
インストールは完了して動作も問題無いので、これ以降は必須ではありません。
Expand Templates ON
Wiki2Touchの機能にExpand Templatesがあります。公式のスクリーンショット集から画像をお借りしました。
Wiki2Touch.appはFirmware 1.1.4までしか起動しないので、2.1でこの画面を見る事は無いと思います。

EnabledのON/OFFはBossPrefsと同じく、wikisrvdのstart / stopを切り替えます。
他にExpand TemplatesとPort番号の変更ができます。8080番ポートは他と被る事が多いので変更したいのですが、方法がわかりません。
追記:フィードバックを頂いてPort番号の変更方法がわかりました。hideさんありがとう。
Expand TemplatesはWikipediaのExpand Templatesを表示するかどうかを切り替えるもの。フィードバックをもらいましたので紹介します。hideさんありがとう。
/System/Library/LaunchDaemons/com.wiki.wikisrvd.plist をテキストエディタで開きます。
MacだとデフォルトはProperty List Editorですね。Pref Setterをおすすめします。俺はソース表示の方が馴染みがあるのでテキストエディタで編集しています。
以下のようになっています。
<plist version="1.0">
<dict>
<key>KeepAlive</key>
<true/>
<key>Label</key>
<string>com.wiki.wikisrvd</string>
<key>OnDemand</key>
<false/>
<key>ProgramArguments</key>
<array>
<string>/var/mobile/wikisrvd/daemon/wikisrvd</string>
<string>-l</string>
<string>en,fr,de,es,it,ru,zh,ja</string>
<string>-v</string>
</array>
<key>RunAtLoad</key>
<true/>
<key>UserName</key>
<string>mobile</string></dict>
</plist>
14行目の <string>-v</string> の後に改行をして、以下を追加します。
<string>-t+</string>
これだけです。保存してアップロード(オリジナルのplistはリネームしてバックアップ。上書きしない)した後に、BossPrefsでWiki2Touchを起動しなおします(OFFにしてからONにする)。
一応Property List Editorのスクリーンショットも載せておきます。

表示の違いを確認してみましょう。

随分違いますね(所々文字化けあり)。表示する項目が増えるのでページの読み込み時間も長くなります。軽くストレスを感じるので、暇潰し用途には向かないかもしれません。
俺はオリジナルのplistの他にExpand TemplatesをONにしたplist(以下et.plist)を作成して、BossPrefsにもet.plistの切り替えを追加して使っています。
問題無く使えているんですが、BossPrefsでの表示が不安定なのと、こうする事によって問題があるかどうかがわからないので公開しません。
オリジナルのplistをオフにしてからet.plistをオンにして。ホーム画面に戻り、もう一度BossPrefsを起動すると、オリジナルとet.plistがどちらもオンになっている。

意図した動きをしているのでとりあえず使っています。もっと上手いやり方がありそうな気がする。
2008.11.12追記
hideさんにメールでフィードバックを頂きました。hideさん毎度ありがとうございます。
やり方としては、
スクリプトがONならばExpand TemplatesをONにしたplistをcom.wiki.wikisrvd.plistと置き換え、OFFならばExpand TemplatesをOFFにしたplistをcom.wiki.wikisrvd.plistと置き換える。
処理的にはそれぞれのplistをcopyして、com.wiki.wikisrvd.plistをmoveしています。Expand TemplatesがOFFなplistがあれば、BossPrefsのON/OFF判定がONになります。
処理が失敗する事があるようで、失敗するとcom.wiki.wikisrvd.plistが消えてしまうそうです。
こちらでは現象の再現はできていません。これでiPhone / iPod touchが壊れる事は無いでしょうが。
ファイルを用意したので、自己責任でどうぞ。
W2T_et.zip
Port番号の変更方法もわかりました。
Expand TemplatesをONにした時と同じ要領で以下を追加します。
<string>-p</string>
<string>任意のPort番号</string>
これは嬉しい。
iPhone / iPod touch以外で見る
何て事も無い話ですが、wikisrvdはサーバーなのでLANで繋がっている端末から見る事ができます。
通常iPhone / iPod touchのSafariで見るには127.0.0.1にアクセスしますが、他の端末からローカルIPでアクセスするだけです。
簡易サーバー用途として活用する
意外と便利だと思うのですが、特に使い道が思いつきません。
/var/mobile/wikisrvd/daemon/webcontent フォルダの中にファイルをアップロードすれば好きなファイルを閲覧できます。
サーバー用途だとlighttpdがありますが、単にローカルファイルを見たい時にはwikisrvdで十分かもしれません。
スキンを変更する
ここまでする人はいないでしょうが、webcontentフォルダの中のファイルを編集すると見た目を変更できます。
デフォルトのスキンは基本的にグレー基調で色気が無い!という人は是非作ってください。
以上です。この書き直し記事の要点は、Cydiaからインストールできるようになったので手動インストール時の面倒な手順が必要無くなった事と、Expand Templatesをオンにする方法です。
>halさん
私のipodtouchでは、結構な確立でplistファイルが消えてしまうみたいです。
原因が分からないんですが、私以外の人が使えているならいいかなと思ってます。
遅れましたが風邪のほうは大丈夫ですか?
最近私の周りでも風邪ひきが多くなっているので気をつけなくてはと思っています。
お大事にしてくださいね。
Wikipediaをローカルで表示できないかと、
いろいろ探し回ってここにたどり着きました。
非常にわかりやすいので助かりました。
いろいろ試してみたので、報告します。
iPhone2.1での導入、環境はWindows Vistaです。
最初、Wiki2thouch本体が必要なのかと思い入れてみましたが、
wikisrvdのみで動くんですね(^_^;)
なのではずしました。
いろいろページを見てみましたが、画像データはかなりの数が表示できないようです。
とくにページの最初の表の中に入っている画像はほとんど表示できません。
画像データは入っているようですが、html上に出てきていません。
Expand Templates(-t+)
をONにすると、一部の表などが表示されるようになります。
しかし、まだまだ表示されない画像が多いです。
例えば、オーストラリアで検索すると、
Safariでは、国旗と国章の画像が表示されますが、
Wiki2thouchではどちらも表示されなくて、
Expand Templates ONだと国章のみが表示されます。
しかし、Expand Templates ONでも表示されない画像も多く、(例:ラクダ)
文字化けや、エラーが出るページ(例:コアラ)があるなど、
まだまだ未完成な感じです。
また、表示が結構待たされるようになり、Wiki2thouchがフリーズすることもあります。
Expand Templatesは表示データが少し増えますが、OFFのほうが無難な感じです。
あと、W2t_etですが、Wiki2touchのスイッチも合わせて動かすと誤動作したことがありました。
(どちらのデータもONになってしまった。)
自分の環境で安定して動く方法があったので書いておきます。
Wiki2thouchがONの状態で、W2t_etをONかOFFにして、その後、Wiki2thouchをOFF-ONすると、
その場で反映されるようになりました。
画像データって、あまり表示されないのに1.5GBくらいあるんですよね。
全部表示されれば、入れておきたのですが・・・。
うーん、悩ましい。
2.2でも導入可能でしょうか?
Expand Templatesのトグル、便利ですね。
不具合の件は何らかの理由でmvに失敗すると消えちゃうんでしょうかね…
僕はこんな感じに書き換えて使ってます。仮に消えてもスイッチを入れ直せば戻るはず。
W2t.sh
—-
#!/bin/sh
case “$1″ in
on)
cp -f /System/Library/LaunchDaemons/wikisrvd+ /System/Library/LaunchDaemons/com.wiki.wikisrvd.plist
touch /System/Library/LaunchDaemons/wikisrvd_on_indicator
;;
off)
cp -f /System/Library/LaunchDaemons/wikisrvd- /System/Library/LaunchDaemons/com.wiki.wikisrvd.plist
rm /System/Library/LaunchDaemons/wikisrvd_on_indicator
;;
esac
—-
W2t_et
—-
/Applications/BossPrefs.app/scripts/W2t.sh on
/Applications/BossPrefs.app/scripts/W2t.sh off
exist /System/Library/LaunchDaemons/wikisrvd_on_indicator
/Applications/BossPrefs.app/wiki2touch.png
—-
2008年 10月 26日 に 8:34 午前
>halさん
新しい記事読ませていただきました。
私もwikisrvd-bossprefs.debを拾ってきて手動でインストールしたクチなので、あの時の苦労から考えるとずいぶん簡単になりましたね。
ところで、ポートの変更ですが、<string>-t+</string>のあとに
<string>-p</string>と<string>ポート番号</string>の2行を追加すると変更できますので、よかったらお試しください。