2006年02月10日

Zaurus + jfbterm + w3m = Happy?

前回の記事で母艦を使った快適インターネットに挑戦してみましたが、やっぱり単体でも便利に使いたいもの。そこで今度は日本語対応のフレームバッファコンソールにw3mという最軽量の組み合わせでのインターネットに挑戦してみます。

まずは簡単な方からと言う事で、w3m
これはいつもお世話になっている管理人の部屋さんに完璧なるガイドがあります。

管理人の部屋: [pdaxrom rc10] w3mのインストール
http://gtbleds.seesaa.net/article/3945409.html

もうあっという間に完了です。いつもありがとうございます。

続いて日本語対応のフレームバッファコンソール。ものとしてはjfbtermと言うものがある事がすぐに分かったのですが、これがなかなか一筋縄ではいってくれませんでした。まず最初に発見したのがこちら。

コンソールモード
http://www.geocities.co.jp/SiliconValley-Oakland/4550/console.html

こちらで公開されているC700用のものを使ってみたのですが、残念ながら画面が縦表示(それも通常のザウルスの縦表示とは反対)になってしまいます。さらに画面の表示が少しずれてしまっている(画面の上の方に本来一番下に表示されるはずの数ラインが表示されている。昔の壊れかけのテレビみたいな出方と言ってお分かりになるでしょうか?)ので、ちょっと使い物になりません。きちんとブラウズ出来てるだけに、惜しい。

次に見つけたのはこちら。

Index of /feed
http://pdaxrom.sourceforge.jp/feed/

『日本語対応の』なんですからまずはここを探すのが筋ですよね…。orz
ともあれさっそく入れてみましたが…残念ながらきちんと動いてくれません。どうも設定ファイルの問題らしくて『フォントがないよ』と言われてしまいます。パッケージに含まれていたvt100用(?)のフォントをいろいろ設定してみたのですがどうにもだめ。設定ファイルの問題だけなら!と思い直前に試したC700用の設定ファイルを使ってみたのですがやっぱりだめ。完敗です。

まだまだ負けません。次はこちら。

ユーザインタフェースとしてコンソール上のシェルを使う
http://www.mit.msn.to/zaurus/console.html

こちらも動くには動いたのですが、最初に試したものと同じで縦表示されてしまいます。(画面の表示はずれませんでしたが)

仕方がないので最後の手段。セルフコンパイル!ずっと試してみたかった事でもありますし、上述のPoe氏のページに環境設定の解説もあったので、思い切って挑戦してみました。
どうもザウルス用のコンパイラはお作法に厳しいらしく、一部ソースを修正する必要などもありましたが、何とかコンパイル完了。よっしゃ完璧!と思ったら。

実行エラーで動きません…。orz

もはや八方塞がり打つ手なし!と完全にお手上げ状態だったのですが、今まで試したものをもう一度整理してみると、

・どうやらpdaXrom.jpのバイナリは問題なく動くっぽい
・Poe氏の手順だとフォントも自作しているので設定ファイルは完璧っぽい

と、いうことは。

pdaXrom.jpのバイナリ+Poe氏の設定ファイル&フォント作成手順ならOKかも。

早速やってみると…。OK!
今度はばっちりです。ナガ10のおかげで1画面の情報量も多く、ちょっとした調べものや読み物系であれば十分ですね。う〜ん、Xなし生活が送れちゃいそうです。

今回の手順のネックはフォント作成がlinuxでないと出来ないところなんですが、フォントの再配布はたぶん×だと思うので、Windowsしか持ってない方は残念ながらナガ10は使えないと思われます。ただフォントサイズが通常のものでもよろしければ最初にご紹介したC700用のipkに含まれていますので、そちらを流用する事でほぼ同様の環境を組み立てる事が可能です。(私は設定ファイルを切り替えて両方のフォントを利用させていただいております)

参考までに設定ファイルの内容はこちら。
######################################################################
#
# jfbterm 設定ファイル
#
######################################################################

######################################################################
#
# その他の指定
#
######################################################################
# 仮想コンソールを新しく取得するかの指定
# 0 ... 可能なら取得しない。
# 1 ... 取得する。
newvc : 0
# 仮想コンソールを新しく取得した場合、utmp に登録するかの指定
utmp : 1
# 環境変数 TERM に設定する値(デフォルトは TERM=kon)
term : kterm


######################################################################
#
# フォントの指定
# 絶対パス or PWDからの相対パス
#
######################################################################
fontset : iso646-1973irv,pcf,L,/usr/local/share/fonts/5x10a.pcf.gz
+fontset: ansix3.4-1968,alias,L,iso646-1973irv
+fontset: jisc6226-1978,pcf,L,/usr/local/share/fonts/knj10.pcf.gz
#+fontset: iso646-1973irv,pcf,L,/usr/local/share/fonts/7x14.pcf.gz
#+fontset: jisc6226-1978,pcf,L,/usr/local/share/fonts/k14.pcf.gz
#+fontset: jisc6226-1978,pcf,L,/usr/local/share/fonts/maru10.pcf.gz
+fontset: jisx0208-1983,alias,L,jisc6226-1978

######################################################################
#
# エンコーディング
#
#
######################################################################
encoding:G0,G1,ansix3.4-1968,jisx0208-1983,ansix3.4-1968,ansix3.4-1968

######################################################################
#
#
#
######################################################################
color.gamma : 1.7

######################################################################
#
# 使用するフレームバッファの指定
# 1999.4.26 現在 無効。
#
######################################################################
framebuffer : cfb8

######################################################################
#
# マウスの指定
# 1999.4.26 現在 無効。
#
######################################################################
mouse : 0

######################################################################
#
# ベルの指定
# 1999.4.26 現在 無効。
#
######################################################################
# 内蔵スピーカから音を出すかの指定
# 0 ... 鳴らさない。
# 1 ... 鳴らす。(i386アーキテクチャのみ有効)
# 2 ... ビジブルベルで代用。
beep : 0
beep.interval : 0
beep.visible.rate : 0

######################################################################
#
# カーソルの指定
# 1999.4.26 現在 無効。
#
######################################################################
cursor.interval : 5
cursor.kanji : 1
cursor.raster.top : 0
cursor.raster.bottom : -0

######################################################################
#
# 起動時メッセージの表示
#
######################################################################
# 表示するならメッセージファイルを指定する
startup.message : /etc/jfbterm.message

快適超軽量ネット環境のできあがり♪
posted by 月水和尚 (とも) at 14:58 | Comment(0) | TrackBack(0) | りなざう

2006年02月06日

Zaurus + VPN + VNC = Happy?

bitWarpFirefoxで常時接続かつPCライクなモバイルインターネット環境を手に入れたのですが、最近のやたらと重い(何でこぞってあんな無駄にヘビーなページにしたがるんでしょうね…)ホームページを表示するにはbitWarpの回線速度では十分とは言えず、また沢山の拡張機能を入れたFirefoxはザウルスにはちょっと荷が重すぎるため、なかなか『快適モバイル』にはまだまだ遠いものがありました。
何か良い解決策はないものか…と考える事数日。

自宅のサーバをリモートで使ったら快適かも♪

データ通信とHTMLの処理は十分な資源のある自宅のサーバでやってしまい、その結果をリモートで表示するだけだったらザウルスの処理能力とbitWarpの回線速度でも十分行けそうな気がします。いやそうに違いない!

と言うわけで、早速やってみる事にします。
まずは自宅との接続の確保。自宅のサーバにOpenVPN導入済みなので、ザウルス側でもそれを使います。ありがたい事に必要なものは全て以下のサイトで公開されていました。

qtrdesktop-jp project
http://qtrdesktop-jp.sourceforge.jp/

下の方にオマケとして公開されている以下のパッケージを導入します。(依存関係など考えて念のため以下の順序で導入しています)
libgcc_3.4.4-1_arm.ipk
tun_2.4.20-2_arm.ipk
lzo_2.01-gcc344-1_arm.ipk
openvpn_2.0.2-gcc344-2_arm.ipk

導入自体は何の問題もなく完了すると思います。設定は他のプラットフォームと全く変わらないのでこちらを参考にしてみて下さい。(以降の説明でもVPNセッションの張り方などは特に触れないのでご了承下さい)

上記ページにはOpenSSLも公開されていて、pdaXromRC10に付属していたバージョン(0.9.7c)よりも上位(0.9.8a)なので思わず導入したくなりますが、これを入れてしまうとsshが正常に動作しなくなってしまうのでお気をつけ下さい(私はそれで一度撃沈しました)。OpenSSLが導入されていない場合はpdaXromの公式feedからどうぞ。

上記ページのメインはWindows用リモートデスクトップクライアントであるrdesktopのザウルス版の話なのですが、残念ながら私の自宅のサーバはlinuxなので使う事が出来ません。
リモートからのサーバのコントロール(と言う表現でいいのかな?)は、定評のあるVNCを使う事にしました。

まずはサーバ側(VineLinux)。これはコマンド一発です。
apt-get install vnc-server

で、ザウルス側。VNCのサーバは標準搭載されているのですが、クライアントは入ってないのでどこかに公開されてないかな…と探していると、とんでもないものが。

fbvnc - a framebuffer-based VNC client
http://pocketworkstation.org/fbvnc.html

何とフレームバッファコンソール上で動くVNCクライアントです。これを使えばXすら上げる必要がありません。今回の用途には非常にぴったり!
インストールは簡単…と言うかバイナリファイルがそのまま公開されているので、ダウンロードしてきたものを/usr/local/binなどに保存するだけでおしまいです。使い方は以下のサイトに詳しく載っております。(キーアサインがかなり変わるのでぜひとも目を通しておく事をお勧めします)

Xvnc + fbvnc
http://www.tcp-ip.or.jp/~naorou/linuzau/vnc-c700.html

いよいよ実践です。まずはサーバ側でVNCサーバを起動します。セキュリティの事を考えて、root以外のユーザで上げる事をお勧めします。
vncserver -geometry 640x480 :1

初回起動時にはパスワードを聞かれますので、任意のパスワードを設定して下さい。
ザウルス側からVPNセッションを張ったら、VNCクライアントを起動します。
fbvnc 192.168.200.1:1

IPはもちろんご自分のサーバのものを入力して下さいね。
うまくいけばサーバ側の画面が表示されるはずです。

ZaurusでVNC
(ウィンドウマネージャにはicewmを使っています)

うちは縦向きで表示されるぞ!と思ったあなた、それはそれで大正解。fbvncのデフォルトは縦表示なので、起動後に向きを変えてあげる必要があります。Fn+Homeを押して下さい。本当はデフォルトで横向きになればいいのですが起動オプションも設定ファイルも見つかりません…情報募集中!

で、肝心の使い勝手ですが…。
残念ながら、回線が不安定なところではちょっと使い物になりませんでした。
意外と画面の情報だけでもデータ量って大きいんですね。

ただ安定して速度が出るような環境であればbitWarpの通信速度でも何とか実用に耐えます。少なくとも重いページなど表示する場合はこちらの方が快適でしょう。また不安定な場合でも単体使用時のように『いつまで経っても何も出てこない!』というわけではなく、リクエスト自体はサーバ側で完了しているので一瞬でも回線が安定してくれればきちんと表示されてくれます。
なので個人的には、ちょっとした調べ物とか軽いページの閲覧なら単体利用、それ以外はVNCとうまく使い分けるのが一番幸せかな、と思っています。

このVNC大作戦ですが、実は当初考えてなかった2つの恩恵を受けられる事が分かりました。1つはザウルスでは対応していなかったFlashを使ったページの表示が出来る事。考えてみれば当たり前なのですが、やってみるまで全然気付きませんでした。
ブラウザに限らずザウルスでは使えないアプリケーションなどもサーバを経由すれば使えるので、ザウルスが何でも有りの超多機能端末に化ける可能性を秘めています。

そしてもう1つ。VGAなザウルスでSVGA以上の解像度が得られる事!
fbvncには画面の拡大、縮小機能が搭載されているので、ザウルス側で対応していない高解像度でも縮小して表示する事が出来ます。個人的にはfbvncでの2段階縮小までは何とか読めるサイズなので、これにぴったりのサーバ側の解像度を色々試してみたところ、852x642という数字に落ち着きました。この解像度の高さはちょっとクセになります。(ちなみに上のスクリーンショットはこの解像度で撮影しています)

回線速度さえ確保出来れば単体利用よりもかなり快適なので、bitWarpではなく無線LAN+ホットスポットという組み合わせで使うともっといいかもしれません。回線速度は十分ですし、公衆無線LANで問題視されるセキュリティの向上にも貢献するので一石二鳥。ちょっと無線LANカードが欲しくなってきました。

今のところの課題は、日本語入力が出来ない事とfbvncのデフォルトの挙動が設定できないこと。

日本語についてはキーボードからの日本語モードON/OFFはたぶんダメだと思うのですが、そこをマウスでの切り替えにすればたぶん使えるはずなのでこの辺を参考にしながら色々試してみようと思っています。(そもそもlinuxで日本語を使う方法がよく分かってなかったりするので…)

fbvncのデフォルトの挙動はたぶん変えられない気がします。起動後に毎度回転+2段縮小をやるのはちょっと面倒なのですが、致し方ないですね。

あと課題ってわけじゃないですが、VNCを上げっぱなしにしないでxinetdを使って接続時に立ち上げるというのも実装したいところです。まぁ情報はたくさんあるので、設定するだけの話なんですけどね。

ちなみに…。

VNCを使うだけだったら、OpenVPNを使わなくてもsshのポートフォワードの機能で十分だという事に後で気付きました…。orz
まぁ私はそれ以前にOpenVPNを使う予定があったので問題ありませんが、ここでご紹介の事だけをやられるのであればsshの利用をお勧めします。(もっと早く書けって?)
posted by 月水和尚 (とも) at 00:24 | Comment(9) | TrackBack(0) | りなざう

2005年12月29日

pdaXrom:bitWarp通信の快適化

少し前にルータ化して便利に使っていたりなざうですが、四六時中bitWarp接続をするようになっていろいろと不便を感じてきました。
・接続のコマンドが長い
・一度で接続できないことも多く結果を見て何度もコマンドを打つのが大変
・接続のたびにpingを打つのが面倒
・接続したまま電源を切るとカードがサスペンドしてしまい復帰が厄介
・気付いたら切れていることがままある

上の3つはaliasを切るなりで簡単に解決できる(昔はそうしていました)のですが下の2つに関してはインスタントな解決策は見あたりません。なので一念発起してシェルを書いてみました。(シェルもある意味インスタントな解決策か…)

仕様はこんな感じです。
・bitWarp通信カードが刺さっていることを確認する
・接続状態を5秒間隔で監視し、状況により以下の処理を行う
   未接続:再接続を実行する
   接続中:pingを発行
   通信カードサスペンド:現在の接続を終了しレジューム後に再接続

で、作成したものがこちら。(世に出しても恥ずかしくないよう少し修正したので、バグを混入してないか少し心配…)
#!/bin/bash

# set parameter
BW_CARDNAME="VN-201"
BW_DIALNAME="bitWarp"
BW_DIALCMD="authdrv"
PING_HOST="www.so-net.ne.jp"

# check card exist
cardctl status 0 | grep "no card" > /dev/null
if (( $? == 0 ))
then
  cardctl insert
  cardctl status 0 | grep "no card" > /dev/null
  if (( $? == 0 ))
  then
    echo "Please insert bitWarp card!"
    exit 1
  fi
fi

# check card info
cardctl ident 0 | grep ${BW_CARDNAME} > /dev/null
if (( $? != 0 ))
then
  echo "Please insert bitWarp card! (other card exist)"
  exit 1
fi

# start and keep bitWarp
while (true)
do
  # check card status
  cardctl status 0 | grep "suspended" > /dev/null
  if (( $? == 0 ))
  then
    killall ${BW_DIALCMD} > /dev/null
    cardctl resume 0
    sleep 5
  fi

  # check dialup status
  ps -ef | grep ${BW_DIALCMD} | grep -v grep > /dev/null
  if (( $? == 0 ))
  then
    ping -c 1 ${PING_HOST} > /dev/null 2>&1
    sleep 5
  else
    ${BW_DIALCMD} ttyS3 debug call ${BW_DIALNAME} &
    sleep 30
  fi
done

これを"bitwarp-keeper"として保存します。格納先は私の場合 /usr/mybin の配下にしました。
これだけだとちょっと不完全なので、bitwarp-keeperを呼び出すラッピングシェルも作成します。
#!/bin/bash

ps -ef | grep /usr/mybin/bitwarp-keeper | grep -v grep > /dev/null

if (( $? == 0 ))
then
  echo "bitwarp-keeper already started."
else
  /usr/mybin/bitwarp-keeper &
fi

bitwarp-keeper格納先のパスが違う場合は内容を修正してください。あとbitWarpの起動ログを見たくないという方は下から2行目を
  /usr/mybin/bitwarp-keeper > /dev/null 2>&1 &

としていただけるとよいかと思います。

で、上記シェルも同じ場所に格納します。これが実際に実行するシェル名になるので、私は打ちやすさを最優先にして"bppp"という名前にしました。

これで起動がらみはOKです。続いて通信を終了するためのシェルを作成します。
#!/bin/bash

# set parameter
BW_DIALCMD="authdrv"

killall bitwarp-keeper
killall ${BW_DIALCMD}

シェルってほどのものではないですね。(苦笑)
これを"bitwarp-killer"として保存します。こちらはラッピングシェルは必要ありませんが、打ち込むには長いのでシンボリックリンクでも張ってしまいましょう。
cd /usr/mybin
ln -s bitwarp-killer pppb

もちろんaliasを切っていただいてもOKです。名前も非常に適当なのでもう少し気の利いたものにしていただいた方が素敵かと思います。(if〜fiなどに見られるシェル的ネーミングで"pppb"としています)

で、最後に仕上げ。
作成した3つのシェルに実行権限を付加します。さらにシェルの格納先にパスを通すために/etc/profileのPATH設定の先頭に"/usr/mybin"を追加します。profileを再読込したら準備完了です。(profileの再読込は今回だけの手順です)
. /etc/profile

これで bppp でbitWarp通信の開始、pppb で終了となります。接続が確立されるまで何度でも接続を試みますし、途中で切断されても自動再接続します。さらにはサスペンドかけてもレジューム後に自動的に再接続されます。

ただしサスペンド中にカードを抜くことには対応していません。対応できないこともないのですが、レアケースのために内部処理を増やして負荷を多くしたくなかったので。(数回grepかける程度なら気にすることないんですかね)

書くの大変!と言う方のために、作ったシェルを置いておきます。

  bitwarp-keeper
  bitwarp-killer
  bppp


よかったら使ってみてくださーい。
感想、要望などもお待ちしております。

−追記:2006/04/04−
快適化モジュールバージョンアップにつき旧ファイルの公開を終了しました。(同じ名前でファイルが2つアップロードできなかったんです)
posted by 月水和尚 (とも) at 15:58 | Comment(0) | TrackBack(0) | りなざう

2005年11月28日

pdaXrom on ザウルス SL-C750 その6 - ルータ化とセキュリティ設定

仕事場で一時的にインターネットが使えなくなってしまったため、りなざうのルータ化に挑戦してみました。とは言っても基本的にはすでに先人の知恵が公開されておりますので、別段難しいことはありません。

- Zaurusをルータ化
http://linucha.s25.xrea.com:8080/pukiwiki.php?%5B%5BZaurus%A4%F2%A5%EB%A1%BC%A5%BF%B2%BD%5D%5D

ただ上記のサイトは標準のりなざう+スペシャルカーネルが前提なので、pdaXromだとちょっとだけ勝手が異なります。手順1のNETFILTERの確認は不要で、2のiptablesの導入はPackage Managerから普通に出来るはずです。(http://mirror1.pdaxrom.org/current/feed/ にあります)
3から先はそのまま実施すればいいのですが、ここでの手順では単純にルータ化することしかしていません。常時接続下でせっかくiptablesが使えるのですから、少しセキュリティ面も強化していきたいと思います。

まずは方針。
  • PCおよびりなざうからのインターネット接続を可能にする
    ただしWindowsのファイル共有系のパケットはインターネットに出ていかないようにする
  • PCとりなざうの間は何でも出来るようにする(ftp/ssh/VNCなど)
  • インターネットからりなざうへの接続は全て拒否
    ただしPCやりなざうからのリクエストに対するリプライパケットは許可
とま、こんな感じにしてみました。

iptablesの設定についてはこちらのサイトを参考に。

@IT:natテーブルを利用したLinuxルータの作成(1/6)
http://www.atmarkit.co.jp/flinux/rensai/iptables02/iptables02a.html

で、出来上がった物がこちら。
#! /bin/bash
#
# firewall iptablesのモジュール組み込みとテーブル設定
#

#------------------#
# IPアドレスの設定 #
#------------------#
client_ip='192.168.11.1' # 母艦(PC)のIPアドレス
zaurus_ip='192.168.11.201' # ZaurusのUSBネットワーク側IPアドレス

# 開始(モジュールの組み込み)
start() {
    modprobe iptable_nat
    echo 1 > /proc/sys/net/ipv4/ip_forward
    modprobe ip_conntrack_ftp
    modprobe ip_nat_ftp
    modprobe ipt_MASQUERADE
}

# テーブルのリロード
reload() {
    #------------------#
    # テーブルの初期化 #
    #------------------#
    iptables -F
    iptables -t nat -F
    iptables -X
    
    #-----------------------#
    # テーブルの設定(INPUT) #
    #-----------------------#
    
    # ポリシーは全て破棄
    iptables -P INPUT DROP
    
    # loopbackは許可
    iptables -A INPUT -i lo -j ACCEPT
    
    # 母艦->Zaurusは全て許可
    iptables -A INPUT -i usbd0 -s $client_ip -d $zaurus_ip -j ACCEPT
    
    # 上記以外でもステートフル性が確認できれば許可
    iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
    
    #------------------------#
    # テーブルの設定(OUTPUT) #
    #------------------------#
    
    # ポリシーは全て許可
    iptables -P OUTPUT ACCEPT
    
    # インターネットに向けたローカルアドレスは全て破棄
    iptables -A OUTPUT -o ppp0 -d 10.0.0.0/8 -j DROP
    iptables -A OUTPUT -o ppp0 -d 176.16.0.0/12 -j DROP
    iptables -A OUTPUT -o ppp0 -d 192.168.0.0/16 -j DROP
    iptables -A OUTPUT -o ppp0 -d 127.0.0.0/8 -j DROP
    
    #-------------------------#
    # テーブルの設定(FORWARD) #
    #-------------------------#
    
    # ポリシーは全て破棄
    iptables -P FORWARD DROP
    
    # 母艦からのファイル共有パケットはインターネットにFORWARDしない
    iptables -A FORWARD -p tcp -i usbd0 -o ppp0 --dport 137:139 -j DROP
    iptables -A FORWARD -p udp -i usbd0 -o ppp0 --dport 137:139 -j DROP
    iptables -A FORWARD -p tcp -i usbd0 -o ppp0 --dport 445 -j DROP
    iptables -A FORWARD -p udp -i usbd0 -o ppp0 --dport 445 -j DROP
    
    # 母艦からのRPCパケットはインターネットにFORWARDしない
    iptables -A FORWARD -p tcp -i usbd0 -o ppp0 --dport 111 -j DROP
    iptables -A FORWARD -p udp -i usbd0 -o ppp0 --dport 111 -j DROP
    
    # その他の母艦からのパケットはインターネットへFORWARD
    iptables -A FORWARD -i usbd0 -o ppp0 -s $client_ip -j ACCEPT
    
    # 上記以外でもステートフル性が確認できれば許可
    iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
    
    #------------------------#
    # テーブルの設定(その他) #
    #------------------------#
    
    # IPマスカレードを設定
    iptables -t nat -A POSTROUTING -o ppp0 -s $client_ip -j MASQUERADE
    
    # ログの設定(今のところ未使用)
    #iptables -N LOGGING
    #iptables -A LOGGING -j LOG --log-level warning --log-prefix "DROP:" -m limit
    #iptables -A LOGGING -j DROP
    #iptables -A INPUT -j LOGGING
    #iptables -A FORWARD -j LOGGING
}    

# モジュールの組み込み状態の確認
modstat() {
    lsmod | grep ^ip
}

# テーブルの確認
tabstat() {
    iptables -L ; echo ; iptables -t nat -L
}

case "$1" in
  start)
    start
    reload
    ;;
  reload)
    reload
    ;;
  modstat)
    modstat
    ;;
  tabstat)
    tabstat
    ;;
  *)
    echo "Usage: $0 {start|reload|modstat|tabstat}"
    exit 1
esac

exit $?

この内容を /etc/rc.d/init.d/firewall として保存します。実行権限をつけることもお忘れなく。
そして起動時に実行されるよう、rc5.dにリンクを張ります。
cd /etc/rc.d/rc5.d
ln -s ../init.d/firewall S80firewall

これでルータ化だけでなく、りなざう本体でのインターネットもちょっと安心になりました。

お約束ですが…。
bitWarp PDAを使ったルータ化はかなりグレーな利用方法だと思われますので、あまり無茶な使い方をなさらず、ご利用は計画的に。
posted by 月水和尚 (とも) at 13:28 | Comment(0) | TrackBack(1) | りなざう

pdaXrom on ザウルス SL-C750 その5 - View Styleでの不具合解消

ほとんどInputStyleでしか使わないので結構長いこと気付かなかったのですが、画面をくるっと回してViewStyleにしてみたところ、画面が乱れて使い物になりませんでした。いろいろごちゃごちゃやってみたところfastsysclk100だとだめで、75にすれば問題ないご様子。
こりゃ回す時は75にわざわざ変えないと駄目かな〜と思っていたら、画面の回転を取り仕切ってるシェルを見つけました。場所はこちら。

  /etc/sysconfig/clamshell

ここにあるlandscape.shportrait.shに変更を加えます。上から11行目くらいの機種判別を行っているcase文に、SL-C750を加えてやります。
case "$MODEL" in
    SL-C860|SL-C760|SL-C750)

こんな記述があるって事は、fastsysclk75の時に画面が乱れるのは既知の問題だったんですね。

しかしRC10ってのは基本的には860用なんですかね。.xinitrcからも機種判定漏れてましたし。

ま、とりあえずこれでまた1つ便利になってちょっとご機嫌です♪
posted by 月水和尚 (とも) at 11:19 | Comment(0) | TrackBack(0) | りなざう

2005年11月25日

pdaXromのFirefox快適化!

pdaXrom上で使うFirefoxは便利なことこの上ないのですが、やはり画面の狭いりなざうではいろいろと辛い面も多々あります。で、その狭い画面を生かすべく、頑張ってカスタマイズしてみました。
ここに出てくる拡張は過去の記事(これとかこれとかこれ)でご紹介したものなので、詳細はそちらを参照して下さい。

まずは手始めにツールバーのボタンの数を減らすために、Stop-or-Reload Buttonを入れます。

Web検索窓(と呼ぶんですか?ツールバーの右上にあるヤツです)はサイズ変更が容易なGoogle Toolbarに置き換えます。さらに不要なボタンは全て削除し、ハイライトとページ内検索のボタンはメニューバーの方に移動します。

メニューは使わないものを削除すべく、裸電球さんのサイトを参考にuserChrome.cssを作成します。

Firefox ― ソフトウェア関連記事
http://hadakadenkyu.flnet.org/other/software/firefox.htm

私は"編集"、"移動"、"ヘルプ"の3つのメニューを削ることにしました。さらにメニューの余白も小さくします。タブの色分けの方法なども解説されていたので、Colorful Tabsは入れずに済ませてしまうことにしました。
最終的に完成したuserChrome.cssは以下のとおりです。
/*
* Edit this file and copy it as userChrome.css into your
* profile-directory/chrome/
*/

/*
* This file can be used to customize the look of Mozilla's user interface
* You should consider using !important on rules which you want to
* override default settings.
*/

/*
* Do not remove the @namespace line -- it's required for correct functioning
*/
@namespace url("http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"); /* set default namespace to XUL */

/* Remove the Go and Help menus */
menu[label="編集"], menu[label="移動"], menu[label="ヘルプ"] {
display: none !important;
}

/* Change menu padding */
menu{
padding-right:1px !important;
padding-left:1px !important;
margin:0 !important;
}

/* Change appearance of tabs */
tab{
-moz-appearance: none !important;
padding-top:1px !important;
padding-bottom:1px !important;
margin:0 !important;
}

/* Change appearance of active tab */
tab[selected="true"] {
background-color: #B0B0BE !important;
color: blue !important;
font-weight:bold !important;
}

/* Change appearance of inactive tabs */
tab:not([selected="true"]) {
color: black !important;
}

アイコンの余白も詰められるようなのですが、設定方法が分かりません。分かり次第追加したいと思います。

このファイルを/home/root/.mozilla/firefox/xxxxxxxx.default/chrome/に保存します。(xxxxxxxxはランダムな文字列です)

ちなみに、userChrome.cssに日本語が含まれる場合はUTF-8で保存しないと駄目だそうです。私はWindows上でoeditを使って作成し、ftpでりなざうに送りました。

OEdit
http://www.hi-ho.ne.jp/a_ogawa/oedit/

上記設定で問題ないようでしたら、こちらにファイル置いときますので使ってやって下さい。改行コードはLFのみになってますので、ftpの時にはバイナリーモードで送ってください。

これでだいぶよい感じになりました。あとはいつもの拡張をどんどん入れていきます。しかしどんどん拡張を入れていくと拡張の画面が狭くて使いづらい…。
というわけで、拡張をスリムの表示してくれるSlim Extension Listを導入しました。

k : Caio Chassot's Website (webdesign, css, javascript, ruby, firefox extensions)
http://v2studio.com/k/moz/

最終的な画面イメージはこんな感じです。



ちょっと拡張の入れすぎ?という気はしますが、まぁ何とか動いているのでOK!

ついでと言っては何ですが、Firefoxの高速化も実施します。毎度お世話になっている管理人の部屋さんの記事を参考にしました。

管理人の部屋: [pdaxrom rc10]Firefox"光速化"&Tabmixの日本語化
http://gtbleds.seesaa.net/article/3943346.html

ファイルの内容は一応こちらにも載せておきます。
user_pref("network.http.pipelining", true);
user_pref("network.http.pipelining.firstrequest", true);
user_pref("network.http.pipelining.maxrequests", 8);
user_pref("network.http.max-connections", 32);
user_pref("network.http.max-connections-per-server", 8);
user_pref("network.http.max-persistent-connections-per-proxy", 8);
user_pref("network.http.max-persistent-connections-per-server", 4);
user_pref("content.max.tokenizing.time", 2250000);
user_pref("content.notify.interval", 750000);
user_pref("content.notify.ontimer", true);
user_pref("content.switch.threshold", 750000);
user_pref("nglayout.initialpaint.delay", 250);
user_pref("dom.disable_window_status_change", true);

これをuser.jsとして保存し/home/root/.mozilla/firefox/xxxxxxxx.default/に保存します。(先ほどと同じくxxxxxxxxはランダムな文字列です)

速くなったかどうかは…私もよく分かりません。(汗)
posted by 月水和尚 (とも) at 17:12 | Comment(0) | TrackBack(0) | りなざう

2005年10月07日

pdaXrom on ザウルス SL-C750 その4 - 初期導入まとめ編

RC11でお亡くなり事件のあとRC10を入れ直したのですが、困ったことに全く安定稼働してくれませんでした。Firefoxを立ち上げるとOSごと砕け散ったり、突然ウィンドウマネージャーが消滅したり、気が付くとSDのマウントが外れていたりとかなりの重傷です。

どうも導入時にやらかしたミス(SDのFAT側にSWAPを作ってしまったりfirefoxを本体に入れようとして容量不足を起こしたり)が原因っぽかったので、もう一度1から入れ直してみたら今度は安定稼働してくれました。せっかく手順の見直しをしたので、ざっくりとまとめておきます。

途中ファイルを落としてくるところがありますが、基本的にはPCでダウンロードしてSDカードでザウルスに持ち込んでいます。(ザウルスの電源を切ってSDカードを抜く→PCに挿してFATの領域に保存→ザウルスに戻して電源ON)
それ以外の方法を使用される方は手順を適当に読み替えて下さい。


<前提>
SL-C750+SDカード128MB に pdaXrom 1.1.0 RC10 を導入します。
目標はbitWarpを使ったお出かけインターネット環境。ついでにlinuxの勉強用にも使えればなおGood。PIMや音楽・動画再生マシンとしては使用しません。


<事前準備>
オリジナル環境のバックアップを取ります。(2度目以降は不要)
  1. 電池を抜き、ACアダプタも抜く
  2. FATでフォーマット済みのSDを挿す
  3. "D"と"M"を押しながらACアダプタを差し込む
  4. ServiceMenuの3ページ目にある"NAND Flash Back Up"を実行
SDに作成されたバックアップファイルはPCなどに大切に保管しておきましょう。


<OS導入>
pdaXromの導入です。
  1. まず以下のサイトからRC10の導入イメージをダウンロード
     http://zaurus.spy.org/feeds/cacko/pdaXrom/1.1.0/rc10/
  2. ダウンロードしたファイルを解凍し、SDカードにコピー(それ以外のファイルは消しておく)
  3. ↑のSDカードをザウルスに挿す
  4. フルリセット(電池もACも抜けばOK)後に"OK"を押しながら電源投入して「メンテナンスメニュー」を表示
  5. "4 アップデート"→"3 SD"と選択(そのあと出る警告は無視する)
  6. "3 NAND Flash Utils"→"3 Fix Sharp loader NAND 64MB limit(SL-C760/C860 only)"と選択(これは一度だけやればOK)
  7. 再起動するので上記手順を繰り返し「メンテナンスメニュー」を表示
  8. "3 NAND Flash Utils"→"1 Resize root partition"を選択 設定値に"57"を入力
  9. 再起動するので上記手順を繰り返し「メンテナンスメニュー」を表示
  10. "1 Install new ROM"を選択しインストールの実行
  11. インストール終了後、"6 Reboot"を選択して再起動
再起動時に電源ランプが消える瞬間があるので、そのタイミングで"OK"を押すとすぐにメンテナンスメニューに入るので作業が楽です。

これで基本的なインストールは完了です。


<X Windowの立ち上げ前に>
起動したら、rootでログインします。パスワードは聞かれません(設定されてないので)。Xの立ち上げ前に以下の作業をしておきます。

ルートのパスワード設定
(パスワードなしってのは何がアレですので…)
passwd

パスワード聞かれますので、お好きなものを設定して下さい。

/etc/fstabを以下のように変更
(いらない定義の削除と後続のSDマウントのための準備)
削除
 /dev/mtdblock/3 /home jffs2 rw 0 0

追加
 /dev/mmcd/disc0/part2 /mnt/card auto noauto,owner 0 0

変更
 /dev/mmcd/disc0/part1 /mnt/card auto noauto,owner 0 0
        ↓
 /dev/mmcd/disc0/part1 /mnt/sd auto noauto,owner 0 0


ついでにマウントポイントも作成しておきます。
mkdir /mnt/sd


.xinitrc(/home/rootにあります)の40行目近辺にある以下の記述を変更
(これをやらないとX上でFnキーが使えません。ただし750のみ)
変更前:SL-C860|SL-C760)
変更後:SL-C860|SL-C760|SL-C750)


終わったら、いよいよXの起動です。
startx



<環境設定の準備>
この先の作業に向けて必要な準備をします。

まずはネットワークの接続。
対応のLANカードを挿してDHCPのある環境に繋げばOK。
PCにザウルスドライブを入れてUSBで接続してもOK。(その代わりこの辺の考慮が必要)
とりあえずLANカードで接続している前提で話を進めます。

続いてPackage managerの設定。
Package managerを起動して"Settings"のタブから以下の順序でfeedを設定。

設定が済んだら、左上のくるりん矢印(で分かりますか?)ボタンを押してリストを更新しておいて下さい。
ちなみにPackage managerはアプリランチャー(左下のX印)から"System Tools"→"Package Manager"とすれば立ち上がります。

続いてVNCの導入。
PCから作業出来るようにVNCを導入します。(なのでザウルスで作業する人は不要)

- ザウルス側での作業 -
先ほど立ち上げたPackage managerの"Avaliable"タブから"x11vnc"をチェックし、左上の歯車ボタン(分かりますよね?)を押します。

- PC側での作業 -
適当なVNCビューアをインストールして下さい。
ちなみに私が使っているのはRealVNCです。

あとはザウルス側でVNC Server、PC側でVNC Viewerを起動すれば快適に操作出来ます。
(ザウルス側はアプリランチャーの"Internet"配下に入ります。入ってなければXを再起動して下さい)
ザウルス側で最初に起動するとパスワードを聞かれるのでお好きなものを設定して下さい。
 
ザウルスのIPアドレスは以下のコマンドで確認して下さい。
ifconfig -a



<不要なパッケージの整理>
本体の容量が厳しいので、使わないパッケージはじゃんじゃん削除します。
Package managerの"Installed"タブにてチェックをつけて歯車ボタンを押せば完了。
消したものはこんな感じです。
abiword
audiofile
esound
gaim
gtkboard
ircp
irda-utils
kdepim
mc
mplayer
scite
sylpheed-gtk2
xircp
xmms関連
xpdf

若干うろ覚えです…。(だいたいあってるはず)
これで本体の空き容量が約27MBになります。


<パッケージの導入(Package managerから)>
パッケージを導入します。導入先は全て本体です。(ってまだSD準備出来てませんね)
Package managerの"Avaliable"タブから以下のパッケージをチェックし、左上の歯車ボタンを押します。
bzip2
gawk
gconf
grep
hc-cron
inetutils-clients
less
libgc
ntpdate
orbit2
sed
shared-mime-info
timezones
unzip
zip

こちらも若干うろ覚え…。(ぉぃ)


<SDカードのフォーマット>
SDカードのパーティション設定とフォーマットを実行します。
まずはSDカードを挿して(抜いてなければそのままでOKです)以下のコマンドを実行。
umount /mnt/card
fdisk /dev/mmcd/disc0/disc

fdiskのプロンプトが出るので以下のとおり作業します。
n(新しい区画を作成)
p(基本区画)
1(1つ目のパーティション)
何も入力せずEnter(ディスクの先頭から)
+10M(サイズは10MB)
n(新しい区画を作成)
p(基本区画)
2(2つ目のパーティション)
何も入力せずEnter(残り区画の最初から)
何も入力せずEnter(サイズは残り全部)
t(区画のシステムIDを変更)
1(1つ目のパーティション)
6(FAT16に設定)
w(テーブルを書き込んで終了)

これでパーティショニングは完了しました。
続いて各領域をフォーマットします。1つめをFAT、2つめをext3とします。
mkfs.msdos /dev/mmcd/disc0/part1
mkfs.ext3 /dev/mmcd/disc0/part2

フォーマットの完了した各領域をマウントします。
mount /mnt/sd
mount /mnt/card

無事にマウントできたか確認してみましょう。
mount

/mnt/sd/mnt/cardが表示されればOKです。


<SWAPファイルの作成>
作成したSD上のext3領域に32MBのSWAPファイルを作成します。
dd if=/dev/zero of=/mnt/card/.swap bs=512 count=65536
mkswap /mnt/card/.swap
swapon /mnt/card/.swap

無事に完了したか確認してみましょう。
free

これでSwap:という列のtotal32760と表示されていればOKです。


<マウントとSWAP設定の自動化>
SDガードが差し込まれたら自動的にマウントしてSWAPファイルをONにしてくれるようにします。
/etc/sdcontrolを以下のとおり修正します。
12行目にあるMOUNT_POINTを以下のとおり変更
 MOUNT_POINT=/mnt/card
     ↓
 MOUNT_POINT=/mnt/sd

'eject')の2行手前に以下の記述を追加
    fi
    mount /dev/mmcd/disc0/part2 /mnt/card
    swapon /mnt/card/.swap

    ;;
  'eject')



<タイムゾーンとプロンプトの設定>
タイムゾーンを日本に設定します。
ln -s /usr/share/zoneinfo/Japan /etc/localtime

そして/etc/profileの最終行に以下の記述を追加します。
export TZ=JST-09

ついでなのでプロンプトも変更しておきましょう。8行目にある"PS1"の記述を以下のように変更して下さい。("\"はバックスラッシュです。VNCからは入力できないので本体で入力して下さい)
PS1="[\u@\h \W]# "



<ハードウェアクロックの調整>
詳しいことはよく知らないのですが、ザウルスは放っておくとハードウェアクロックがどんどんずれていってしまうらしいです。なのでそれを自動的に調整してくれるようにします。
まずはcronから5分ごとに実行してくれるコマンドの置き場を作成します。
mkdir /etc/cron.5minutely

上記ディレクトリにハードウェアクロックの調整コマンドであるsethwclockを実行するシェルを(viなど使って)作成します。ファイル名は何でもいいんですが、ここではsethwclock.shとします。内容は以下のとおりです。
#!/bin/sh
/usr/bin/sethwclock

そしたら作成したシェルに実行権限をつけて下さい。
chmod 755 /etc/cron.5minutely/sethwclock.sh

/etc/crontabの設定は必要ありません。


<日本語フォントの導入>
英語は不得意なので(笑)、日本語を表示できるようフォントの導入をします。

まずはビットマップフォント。
Garbage design Works BLOGで配布されている東雲フォントを有難く頂戴してきます。(私はゴシック、明朝、丸文字入りの方にしました)
ファイルは容量に余裕のあるSDカードに置きます。まずはファイルを置くディレクトリの作成。以下のディレクトリを作成して下さい。

 /mnt/card/usr/X11R6/lib/X11/fonts

/mnt/cardまでしか存在していないので、mkdircdを頑張って繰り返します。
頑張って掘り終わったら、上記ディレクトリで以下のコマンドを実行します。
tar zxvf /mnt/sd/shinonome.tar.gz

そうしたら本体側のフォントディレクトリにリンクを張ります。
ln -s /mnt/card/usr/X11R6/lib/X11/fonts/japanese \
/usr/X11R6/lib/X11/fonts/japanese

続いてTrueTypeフォント。
フリーのTTFはいろいろあるみたいですが、ここではモナフォントを有難く頂戴してきます。(ダウンロードするファイルはmonafont-ttf-2.90.zipです)
PC上でzipを展開して、mona.ttfを直接SDカードにおいておくとあとの作業が楽ちんです。
こちらもSDカードに置くので、以下のディレクトリを作成します。

 /mnt/card/usr/X11R6/lib/X11/fonts/TTF

ここにモナフォントをコピーして、ビットマップフォントの時と同様に本体側のフォントディレクトリにリンクを張ります。(こっちはディレクトリそのものではなくファイルに張ります) そして最後にフォントキャッシュに乗せます。
cp /mnt/sd/mona.ttf /mnt/card/usr/X11R6/lib/X11/fonts/TTF
ln -s /mnt/card/usr/X11R6/lib/X11/fonts/TTF/mona.ttf \
/usr/X11R6/lib/X11/fonts/TTF/mona.ttf
fc-cache -fv




まだまだ続きます。(なかなか書き終わらない…)


−追記:2006/02/06−
まとめないまま時が経ってしまい、もはやすっかり導入時の記憶など薄れてしまいどうしたものかと思っていたら、最新のBeta1に関する完璧なる導入手順を発見しました。

pdaXrom: pdaXrom 1.1.0 beta1に挑戦!(纏め#1)
http://benefits.cocolog-nifty.com/pdaxrom/2006/01/pdaxrom_110_bet_982b.html

もうこれさえあれば完璧ですので、うちの記事はこの中途半端な状態のままフェードアウトさせて頂きたいと思います…。r(^^;

参考サイトとして取り上げて頂けているのがちょっと嬉しいです♪
posted by 月水和尚 (とも) at 15:17 | Comment(5) | TrackBack(0) | りなざう

2005年09月21日

pdaXrom on ザウルス SL-C750 人柱編 - 当たって砕けろRC11

こんなわけで、RC11入れてみました。
が、何だかちょっと変。まだ少し触ってみただけですが、気付いたことをあれこれ。

<バックライトの照度を記憶しない>
RC10では起動直後(ログインプロンプトが表示されている時)ってバックライトの明るさ最大だったと思うのですが、RC11だとかなり暗いんですよね(OS起動時は明るいけど途中で暗くなる)。X起動後に照度設定をしてもやはりリブート後は暗いです。
関係するパッケージはbacklightだと思う(名前から判断してるだけです)のですが、RC10でもRC11でも1.0.6-2で変わってません。これってバックライトの照度変更の制御をしてるだけなんですかねぇ?それとも起動時の明るさが変更されただけなんでしょうか。
ちなみに記憶しないのはリブート時だけで、X起動後に照度設定を行えばサスペンドから復帰した時はきちんと記憶しています。それと動作確認時はAC電源駆動していました。(バッテリー駆動時のバックライトは暗かったと記憶しています)

<Screensaver/SuspendのDisableが機能しない>
こちらもおかしいのはX起動後にScreensaver/SuspendのDisableを設定した直後だけ。一度サスペンドしてしまったものを復帰させたあとは問題ないみたいです。

<viで編集中の表示がおかしくなる>
編集中の画面表示がおかしくなります。文字や行の削除をした時に書き換わるべき部分がうまく書き換わってないような感じです。Cancel押してコマンドモードに戻ればきちんと表示されるのですが。

と、こんな感じです。(RC10もそんなにいじくり倒したわけではないので、ひょっとしたらRC10でも同様の現象が起きている(つまり仕様)かもしれませんが)
viがおかしいのはちょっと致命傷かもしれない…。私はemacsが使えないのでviに不具合があると何にも出来なくなっちゃうんですよね。

原因が何とも分からないので、とりあえず幸せだったRC10に戻そうかと思ったら、何と750用のRC10は削除されているではないですか!

RC10のダウンロードサイト
http://212.10.30.205/rc10/

慌ててPC内を探したところ、前に落としたファイルが残っていたので一安心。やはり技術もないのに新しいものに飛びついちゃ駄目ですねぇ〜。

と、言うわけで…。
RC10入れ直します。(涙)


−追記:9/21−
viってbusyboxへのシンボリックリンクなんですね。知らなかった。で、そのbusyboxのバージョンがRC10では1.00だったものがRC11で1.01になっていました。これはビンゴ!と思ってRC11用のfeedを削除し、

  ipkg install busybox

busyboxの入れ直し。無事バージョン1.00になったのを確認してからviを使ってみたところ、ばっちり正常動作しました。これでRC11でもいける!と思ったのもつかの間。

今度はlsが使えなくなりました。(涙)

lsって打つとなぜかbusyboxのusageが表示されちゃうんですよね。lsbusyboxの機能ではないはずなのですが…。(とusageに書いてある)

仕方ないのでbusybox1.01に戻したところ、真相が分かりました。1.01ではlsbusyboxに取り込まれているようです。と言うことはRC11でbusybox1.00を使うためにはRC10からlsを拾ってこないといけない…。そしてそんなコマンドはlsだけじゃない可能性も大?

…素直にRC10に戻します。はい。


−さらに追記:9/21−
RC10に戻してlsを確認してみたところ、busyboxのシンボリックリンクでした。busyboxのusageにもそのように書いてあります。バージョンを確認したけどやっぱり1.00。私が見たものは一体何だったんでしょうか…。


−もひとつ追記:9/22−
RC10は以下のサイトにまだ残ってました。ふぅ。
http://zaurus.spy.org/feeds/cacko/pdaXrom/1.1.0/rc10/
posted by 月水和尚 (とも) at 16:46 | Comment(0) | TrackBack(0) | りなざう

pdaXrom on ザウルス SL-C750 番外編 - RC11アップデート失敗!

pdaXrom.jpさんにRC11のリリースが載っていました。
2005-09-17 RC11が公開されました
http://212.10.30.205/rc11/にあります。

早速見に行ってみると、配下にfeedなるディレクトリを発見。これをfeedに設定すればipkg upgradeでRC11化出来るのかな〜と例によってアサハカに考えた私は、さっそく実行に移ります。まずはipkg.confのfeed3に

  http://212.10.30.205/rc11/Zaurus-7x0-860/feed/

を追加。でもって、

  ipkg update

と実行。うまくパッケージ情報を拾えています。こりゃ勝ったも同然!と、

  ipkg upgrade

を実行。しかし全てのパッケージが"up to date"だと表示されてしまいました。そんなに変更がないわけないぞ、と思い、

  http://212.10.30.205/rc11/Zaurus-7x0-860/feed/Packages
  http://zaurus.spy.org/feeds/cacko/pdaXrom/1.1.0/rc10/feed/Packages

の2つのファイルを比較。すると内容は大幅に変わっているではないですか。
ということはfeedの設定が悪いんだな、と言うことで、先ほどfeed3に設定した内容をfeed0に変更。そしてそれ以外のfeedを削除します。でもって、

  ipkg update
  ipkg upgrade

と実行。今度は順調に更新を行っています。しめしめと思いながら他の作業をしていると、気が付いたら更新が終わっています。早かったなぁ〜と思いながらターミナルを見てみると、

  /usr/bin/ipkg: line 131: rm: command not found

rmがのっとふぁうんどぉ〜??

何だか訳が分かりません。rmがないわけないと思い、

  which rm

と打ち込むものの、何も表示されずに空しくプロンプトだけが帰ってきました。では/usr/binの中身はどうなってるんだろうと思い、

  ls -l /usr/bin

と打ち込むと、何と、

  -bash: ls: command not found

lsがのっとふぁうんどぉ〜???

これって・・・。
つまり・・・・・・・・・・・・。




お亡くなり?(涙)




素直に1からRC11入れます…。_| ̄|○
posted by 月水和尚 (とも) at 10:25 | Comment(0) | TrackBack(0) | りなざう

2005年09月20日

pdaXrom on ザウルス SL-C750 その3 - USBネットワーク編

続いてUSBネットワークについて。

基本はめちゃくちゃ簡単で、ザウルス側ではUSBの設定をNETにするだけ。PC側では付属のCD(またはザウルスサポートステーションのここ)からザウルスドライブをインストールするだけ。あとはケーブルさえ繋げばすんなり接続されると思います。

ただこのままだとザウルス-PC間でしかネットワーク接続されず、ザウルスからPC経由でインターネットを使うことが出来ません。WindowsXPの標準機能であるインターネット共有を使えばうまく行くかなと思ったのですが、これがどうにもうまく行きません。
PC側をルータ化することなども少し考えたのですが、とりあえずお気軽にPC側をProxyサーバにすることで解決することにしました。

まずはPC側の設定。私の場合ProxyサーバはSAPPORO WORKSさんのBlackJumboDogを使わせて頂いております。

BlackJumboDog (SAPPORO WORKS)
http://homepage2.nifty.com/spw/software/bjd/

プロキシー設定でブラウザとファイル転送を利用するよう設定し、それぞれポートを80808021に設定します(もちろんそれ以外でもいいんですけど)。私はメーラは使っていないのでメールの設定はしていないのですが、必要な場合はメールの設定もして下さい。また利用者のところに"192.168.129.201"(またはザウルス側で設定したIPアドレス)を追加します。これでPC側の設定はOKです。

ザウルス側の設定は、使用するアプリ(コマンド)によって以下のようにします。

<FireFox>
メニューの『編集→設定』から接続設定をクリックすればProxyの設定をすることが出来ますが、これだとUSBネットワークの時とbitWarpの時で毎回設定値を変えなければなりません。そこでSwitchProxyという拡張機能を導入します。
オリジナルは英語ですが、裸電球さんのところで日本語対応版を配布されています。

Firefox ― ソフトウェア関連記事 (裸電球)
http://hadakadenkyu.flnet.org/other/software/firefox.htm

かなり下の方にありますのでご注意ください。
ちなみにこちらで公開されているTabMix日本語版もお勧めですのであわせてどうぞ。

これでProxyなし(=bitWarp使用時)とProxyあり(=USBネットワーク使用時)が簡単に切り替えられます。またbitWarp使用時にso-netのProxyを使用することでbitWarpPDAで標準実施されている画像の圧縮を回避することも出来るらしいですので、そんな事の切り替えにも便利だと思われます。(圧縮回避についてはその2でご紹介したスズノネさんのところに少し書いてありました)

<Package Manager および ipkg>
Proxyの設定は、/etc/ipkg.confに以下の記述を追加します。

  option http_proxy 192.168.129.1:8080
  option ftp_proxy 192.168.129.1:8021

Proxyの有無を切り替える方法としては、Proxy有りと無しのipkg.confを作成しておいてファイルを切り替えるくらいしか思いつきません。個人的にはbitWarpでipkgを使う気はないのでProxyの設定をしっぱなしにしておりますが、bitWarpでもipkgしたい方、LAN接続もされる方は切り替えのシェルなど作成されると面倒がなくてよいのではないでしょうか。

−追記:9/21−
よく見たらPackage Managerの設定画面にProxyの設定ありましたね。わざわざipkg.confを編集する必要ありませんでした…。
ちなみにipkg.confの変更はPackage Manager側には反映されないみたいで、ipkg.confに直打ちしたProxyの設定値は表示されませんでした。そしてそのまま設定変更を終了したところProxyの設定が削除されてしまいました…。お気を付けくださいませ。
…っていうか、Package Managerの設定ってどこで持ってるんでしょうかね?ipkg.confを書き換えているところを見るとこいつを使っていてもよい気がするんですが、実際変更した値は反映されてないわけですし…。
ご存じの方いらっしゃいましたら、ぜひともコメントをお願いします。

<wget>
Proxyの設定は、/usr/local/etc/wgetrcに以下の記述を追加します。

  http_proxy = http://192.168.129.1:8080
  ftp_proxy = ftp://192.168.129.1:8021

ftpの方はこれで本当にいけるのかイマイチ自信がありませんが…。
こちらも切り替えについてはipkgと同様です。ただデフォルトではwgetrcは存在しないので、Proxyを使用しない時はwgetrcwgetrc.proxyとかリネームするだけでもよいと思います。

<ntp>
ntpはProxy経由で使う方法がどうしても見つからず、PC上にntpサーバを立てるしかないか…と思っていたら、何とWindowsXPでは標準でntpサーバ機能を持っているそうです。したがってUSBネットワーク接続の場合は、

  ntpdate 192.168.129.1

とするだけでOKです。(ntpdが動いている場合はntpdateは使用出来ないのでntpdを停止してから実行して下さい)
ただし、そのまま実行すると、
Looking for host 192.168.129.1 and service ntp
host found : 192.168.129.1
20 Sep 13:32:34 ntpdate[22744]: no server suitable for synchronization found

となりうまく時刻が調整されない場合があります。PC側の時刻同期が実施されていない場合にこのようなエラーが出るそうなので、PC側で日付と時刻のプロパティからインターネット時刻を選択し、『今すぐ更新』を押して下さい。その後ザウルス側でコマンドを実行すると時刻同期が実行されます。
ただし(2度目だよおい)、1回目のコマンド実行時は、
Looking for host 192.168.129.1 and service ntp
host found : 192.168.129.1
20 Sep 13:37:42 ntpdate[22784]: step time server 192.168.129.1 offset 0.679934 sec

とこんな感じに表示され、同期はしても調整してくれない(真相は違うのかもしれませんがこの辺よく分かりません)みたいです。もう一度コマンドを実行すると、
Looking for host 192.168.129.1 and service ntp
host found : 192.168.129.1
20 Sep 13:37:45 ntpdate[22784]: adjust time server 192.168.129.1 offset 0.679934 sec

となり、無事時刻同期が完了します。

−追記:9/21−
step time serverの時でもちゃんと時刻補正されているようです。(されない時もあるのかな?)
まぁ2回実行しておけば確実と言うことで…。

<その他>
どうもlinux的には、環境変数に、

  HTTP_PROXY=192.168.129.1:8080
  FTP_PROXY=192.168.129.1:8021

とかセットしておくとProxyを使ってくれるものも多いようです。ただ環境変数名が大文字だったり小文字だったりで今ひとつ統一されていないとか。このあたりはまた必要になったら調べてみるつもりです。

ちなみに。
PCとザウルスの接続には、充電とネットワーク接続が一本で出来て巻き取りまで可能なダイアテックアジャスタブル充電Syncケーブルを使っています。標準のケーブルは太くてかさばるし、アダプタも別途持ち歩かなければならなかったため、このケーブルに変えてずいぶん荷物が少なくなりました。ちょっといい感じです。

次は…何書きましょう?(実はネタ切れ)
 ↑
などと余裕こいていたら、大変な事件が…。
posted by 月水和尚 (とも) at 13:47 | Comment(0) | TrackBack(0) | りなざう

pdaXrom on ザウルス SL-C750 その2 - bitWarp編

続いてbitWarpの使用について。
私の場合はbitWarp PDAが使いたいがためにザウルスを買ったようなもんなので。
(スケジュールは上の手帳で管理する派なんです)

基本的な手順については本家およびWeboo! Returns.さんのところにまとめられています。

bitWarpPDA (pdaXrom.jp)
http://pdaxrom.sourceforge.jp/wiki/index.php?bitWarpPDA

pdaXromでbitWarp PDA接続 (Weboo! Returns.)
http://yamashita.dyndns.org/zaurus/pdaxrom-050113

…が、これは基本的には860用の手順。750の場合はザウルスサポートステーションから750用の機器認証ツールをダウンロードして、そこからauthdrvを取り出せばあとは同様の手順でOK…と踏んでいたのですが、どうにもうまく行きません。どうも機器認証の手前で失敗している様子。その時の標準出力はこんな感じです。
abort on (NO CARRIER)
abort on (NO DIALTONE)
abort on (BUSY)
send (AT&F&C1&D2&K3&S0E0#A1^M)
expect (OK)
^M
OK
 -- got it

send (ATDT0570570100##64^M)
expect (CONNECT)
^M
^M
CONNECT
 -- got it

Serial connection established.
Using interface ppp0
Connect: ppp0 <--> /dev/ttyS3
Remote message: authentication failed
CHAP authentication failed
Modem hangup
Connection terminated.
Fatal signal 11

そこで860用のauthdrvWeboo! Returns.さんの手順に従いザウルス宝箱Proのこちらから入手。もう一度試してみると、やはり接続は出来ないものの少し状況が変わりました。
abort on (NO CARRIER)
abort on (NO DIALTONE)
abort on (BUSY)
send (AT&F&C1&D2&K3&S0E0#A1^M)
expect (OK)
^M
OK
 -- got it

send (ATDT0570570100##64^M)
expect (CONNECT)
^M
^M
CONNECT
 -- got it

Serial connection established.
using channel 14
Using interface ppp0
Connect: ppp0 <--> /dev/ttyS3
sent [LCP ConfReq id=0x1 <magic 0x16進8桁> ]
rcvd [LCP ConfRej id=0x1 ]
sent [LCP ConfReq id=0x2 <magic 0x16進8桁>]
rcvd [LCP ConfAck id=0x2 <magic 0x16進8桁>]
rcvd [LCP ConfReq id=0x2 <magic 0x16進8桁>]
sent [LCP ConfAck id=0x2 <magic 0x16進8桁>]
rcvd [CHAP Challenge id=0x1 <16進32桁>, name = "ote-06"]
ChapReceiveChallenge: using 'bitWarp' as remote name
sent [CHAP Response id=0x1 <16進32桁>, name = ""]
rcvd [CHAP Failure id=0x1 ""]
sent [LCP TermReq id=0x3 "Failed to authenticate ourselves to peer"]
Modem hangup
Connection terminated.
Device authentication failed.

黄色で書いた部分に本来であればSo-netユーザ名が入るらしいのですが、それが入ってくれません。調べてみると機器認証で弾かれている時にこうなるらしいと言うことが分かりました。ま、860用のファイルを使っているのでそれも頷けます。(Weboo! Returns.さんのところでも『860以外はごにょごにょ…』と書かれていますし)

どうしたもんか…と考えた末に、ごにょごにょしました。(笑)
とりあえず順調に接続出来ております。ちょっぴりグレーな方法ではありますが、750自体もbitWarpPDAには対応しているので、よしとする事にしました。

そして最近気が付いたのですが、どうやらごにょごにょが必要なのは最初の1回、すなわちskdata.macの生成を行う時だけみたいです。ごにょごにょバージョンのauthdrvを一度実行した後は素のauthdrvを使っても問題ありませんでした。(もちろん860用のそれですが)
と言うことは、素のザウルスでbitWarpPDAを繋いでskdata.macを生成し、そいつをpdaXromに持ち込めばグレーなごにょごにょをしなくても使えるかもしれませんね。今度試してみます。

あとbitWarpは無通信時間がある程度になると自動的に通信を切断し、新たなリクエストがあった時に再接続するそうなのですが、その再接続に時間がかかるためレスポンスの低下を招いてしまうそうです。スズノネさんのところに改善策が書かれていたので実施するようにしています。

bitWarp速度改善 (スズノネ)
http://www.lares.dti.ne.jp/~ich/sl_bitwarp.html

ただし私の場合はシェル化はせずping直打ちしています。
  ping -i 10 www.so-net.ne.jp

次はUSBネットワーク編をお送りする予定です。


−追記:9/22−
素のザウルスで生成したskdata.macを使っても駄目でした…。何か根本的にやり方が変わってしまっているんですかねぇ。今度はライブラリ周りとか当たってみる事にします。
posted by 月水和尚 (とも) at 11:13 | Comment(0) | TrackBack(1) | りなざう

2005年09月15日

pdaXrom on ザウルス SL-C750 その1 - 環境構築編

1.1.0beta1向けに新しい記事書きました!
是非ともご一読下さい。


Linux Zaurusの代替OSであるpdaXromを導入してみました。

まずは導入および環境構築について。
参考にさせて頂いたのは以下の2つのサイトです。

pdaxrom RC10のインストール&設定 (管理人の部屋)
http://gtbleds.seesaa.net/article/3849344.html

pdaxromインストール手順 その1 (Garbage design Works BLOG)
http://blog.g-d-w.net/index.php?categ=1&id=1105371174

管理人の部屋さんでは最新のRC10の導入について書かれているのですが、導入先がSL-C760。Garbage design Works BLOGさんではSL-C750への導入について書かれているのですが、使用しているバージョンがRC8。と言うわけで、両方を参照しつつ導入を進めました。
どちらも非常に丁寧にまとめられているため、ごく初歩的なlinuxの知識さえあれば特にハマることなく導入出来るかと思います。

…で、無事に導入が終わったその数日後(もうちょっと後だったっけな?)、MYCOM PCWEBで大々的に特集が組まれました。

Linux Zaurusをハックする - pdaXromでLinux Zaurusの新たな一面を探る
http://pcweb.mycom.co.jp/special/2005/pdaxrom/

今から導入されるならこちらをメインに、上記2サイトを補足として参考にするとよいのではないかと思われます。

そうそう。

SL-C750に限った話ですが、普通に導入してXを立ち上げるとFnキーが使えません。すなわちキーボードに紫印刷されたキーが全滅。原因は.xinitrcの中で行っている機種判定に750が入っていないせいでした。
/home/root/.xinitrcの40行目近辺の以下の記述を変更します。

  変更前:SL-C860|SL-C760)
  変更後:SL-C860|SL-C760|SL-C750)

これでX上でもきちんとFnキーが使えるようになります。

−追記:9/21−
RC11ではちゃんと直ってました。SL-C700/1000/3000/3100も機種判定に追加されています。

−追記:10/7−
行数間違えていましたね。(後続作業で付け加えた行を考慮してませんでした…)

ここからはちょっと工夫した点について。

まずはSDカード。
上記3サイトの解説では全域ext3でフォーマットしていますが、これだとWindowsでSDカードが読み書き出来ません。そこでいろいろ調べたところ、めだいけさんにてSD上にFATとext32つの領域を作成する方法を公開されていました。

pdaXromメモ1 (めだいけ)
http://www.fan.gr.jp/~akai/diary/log/eid223.html

FATフォーマットはうまく行かないと書いてありましたが、アサハカな私はそんな重要な文章に気付くことなく(あんな目立つ字で書いてあるのに…)即実行。そしたら何と、うまく行ってしまいました。RC8→RC10で何か修正されたんでしょうかね?
私は128MBのSDを使用しているので、FATを8MB、ext3を120MBとしています。(最初FATに32MB取ってたんですがext3がすぐに切迫してしまいパーティション切り直しました)

−追記:10/7−
Firefoxやさざなみフォントなどはファイルサイズが9MB前後なのでFATを10MB、ext3を118MBとすると便利そうです。(私も切り直したい…)

めだいけさんの手順ですとFATを/mnt/cardに、ext3を/mnt/ext3にmountしているのですが、PackageManagerの設定上カード側の導入先は/mnt/cardとなっていたので、私はFATを/mnt/sdに、ext3を/mnt/cardにmountするようにしています。
(今思えばipkg.confの設定を変更すればいいだけだったんですけど)

続いてlocaleについて。

pdaXromの日本語化については、Matchbox-panelが日本語フォントに対応していないため、英語フォントを全て消してしまうというかなりの力業を使う必要があります。(解説はこちら)
個人的にはMatchbox-Panelは英語でも全然構わないのですが、日本語化しておかないとウィンドウタイトルに日本語が来た時に豆腐文字になってしまい非常に格好悪いです。(格好だけでなく実用上も不便ですし)
で、解決策として/etc/profileこんな設定をします。

  export LANG=Ja_JP.eucJP

この設定、単純な打ち間違え(私のよく使っているUNIX OSであるAIXは標準の日本語localeがJa_JPなのです)が発端だったのですが、なぜかこの設定にしておくと、

・Matchbox-panelは英語表示のまま
・ウィンドウタイトルは日本語表示される

という非常に魅力的な環境になってくれます。Ja_JP.eucJPなんてlocale存在しないと思うんですけど、何でうまくいっちゃうんでしょうかね?それもX立ち上げたあとでAtermからlocaleをja_JP.eucJPに設定し直してfirefoxとか立ち上げても問題なく日本語でタイトル表示されるので謎は深まるばかり。
ま、うまく動いてくれているのでいいんですけど。

ちなみに本家のFAQではOpenBoxのThemeをいじればいいと書いてあったのですが、私の環境ではこの方法はうまく行きませんでした。

FAQ集 (pdaXrom.jp)
http://pdaxrom.sourceforge.jp/wiki/index.php?FAQ%BD%B8#content_1_11


−追記:9/26−
↑これ私の勘違いだったようで、OpenBoxのTheme設定をすればLANGは何も設定しないでOKでした。あの時の挙動は一体何だったんだろうか…。

あと細かいところで、ntpdの自動起動を止めてます。
私の場合常にネットワークにつないでいるわけではないので、ntpdを常駐させるよりもずれが気になった時にntpdateを実行した方が便利なのです。あとntpd起動時にUSBで母艦に繋がっていると時刻同期しようとして処理が止まってしまうのがいやだったというのもあります。
pdaXromのデフォルトrunlevelは5なので、

  /etc/rc.d/rc5.d/S49ntpd

を削除すればOK。上記ファイルは/etc/rc.d/init.d/ntpdへのシンボリックリンクなのでバックアップなど取らずにさくっと消してしまって大丈夫です。

導入と環境設定についてはこんなもんでしょうか。
次はbitWarp編をお送りする予定です。
posted by 月水和尚 (とも) at 17:30 | Comment(27) | TrackBack(1) | りなざう
×

この広告は180日以上新しい記事の投稿がないブログに表示されております。