2008.07.08

[chumby]chumbyにUSBカメラをつないでみた

手近にEyeToyがあったので、chumbyに接続してみました。

果敢にも試してみる

以下のファイルをダウンロードします。
素人の仕事ですので、何が起こるか分かりませんというか、実際動作が不安定です。無保証です。

「chumby_eyetoy_set.tar.gz」をダウンロード

scpでchumbyの/pspに転送した後、sshでchumbyにログインして、解凍すれば準備OK。
「192.168.0.4」は、うちのchumbyのIPです。違う場合は読み替えてください。

$ scp chumby_eyetoy_set.tar.gz root@192.168.0.4:/psp/
$ ssh -lroot 192.168.0.4
# cd /psp
# tar xvzf chumby_eyetoy_set.tar.gz

/pspに以下のファイルが展開されます。
上書きされて困る場合は何も無いディレクトリの中に解凍して、子細検討してください。

rfs1/rcS
cjpeg
drivers/videodev.ko
drivers/ov51x-jpeg.ko
capture-V4L
libjpeg.so.62
cgi-bin/capture

chumbyの電源を落とし、起動し直します。
EyeToyを接続後、Mac/PCのブラウザから以下のようなURLをブラウズします。

http://192.168.0.4/cgi-bin/custom/capture

すると、こんな感じの画質でブラウザに表示されるはずです(chumbyに接続したEyeToyでchumby自身を撮影)。

ただ、自分のやった範囲ではちょっと不安定で、実用にはなりませんね。
しばらく使っているとストールしてしまいます。
きっちり知識のある方がやらないとダメでしょう。
cgiはstdoutに出力した画像を直接表示していますが、一度ファイルとして書き出してからなら、安定するかもです(それはそれでFlashの寿命うんぬんという話になりますが)。

EyeToyは数百円で入手できるそうですが、このために買うほどではないと思います。

やったことなどメモ

自分は素人なので、間違ったことを書いている可能性があります。
何かありましたらご指摘ください。

ドライバはov51x-jpegを使いました。オリジナルのov51xをビルドしてみたのですが、うまく通らなかったからです。

Kernelのビルドの方法はchumby WikiのBuilding and Installing a new chumby kernelに書いてありますが、自分が使っているubuntu 7.1だと失敗しました。

困って一度はあきらめたのですが、ISHさんのchumby関連のエントリがアップされて救われました。
ISHさんは凄いですね。僕も、chumbyはホームオートメーションセンターとして使うべきだと思います。

ISHさんのブログで紹介されているharadatさんのエントリによると、ubuntuにはKernelのビルドに必要なものが入っていないとのこと。以下の追加インストールが必要だそうで、

  • build-essential(これがなくては/usr/includeすらない)
  • kernel-package
  • libncurses5-dev(make menuconfigを行うために必要。本来kernel-packageに入っていると良いような気がする)
  • subversion, subversion-tools(TOMOYOのレポジトリの参照用)
  • quilt(もともとはAndrew Mortonが作成したパッチ管理用ツール。自分で使うことはないだろうけれども一応。依存関係でgawkとdiffstatが導入された)

今回はbuild-essential、libncurses5-devをインストールしました。

今回のものには関係無いですが、USB Serialに関連するモジュールを作っておくと便利なので、ISHさんのサイトにある通り、kernelを展開したディレクトリにある.configに以下を追記しました。
.configからはUSB Serialに関する記述が割愛されているので、USB Serial Converter supportの辺りに追記することになります。USB Serial関係のKernel Moduleは「linux-2.6.16-chumby-1.5.0/drivers/usb/serial」にできます。

#
# USB Serial Converter support
#
CONFIG_USB_SERIAL=m
CONFIG_USB_SERIAL_CONSOLE=m
# CONFIG_USB_SERIAL_GENERIC is not set
# CONFIG_USB_SERIAL_AIRPRIME is not set
# CONFIG_USB_SERIAL_ANYDATA is not set
# CONFIG_USB_SERIAL_BELKIN is not set
# CONFIG_USB_SERIAL_WHITEHEAT is not set
# CONFIG_USB_SERIAL_DIGI_ACCELEPORT is not set
CONFIG_USB_SERIAL_CP2101=m
# CONFIG_USB_SERIAL_CYPRESS_M8 is not set
# CONFIG_USB_SERIAL_EMPEG is not set
CONFIG_USB_SERIAL_FTDI_SIO=m
CONFIG_USB_SERIAL_VISOR=m
CONFIG_USB_SERIAL_IPAQ=m
# CONFIG_USB_SERIAL_IR is not set
# CONFIG_USB_SERIAL_EDGEPORT is not set
# CONFIG_USB_SERIAL_EDGEPORT_TI is not set
# CONFIG_USB_SERIAL_GARMIN is not set
# CONFIG_USB_SERIAL_IPW is not set
# CONFIG_USB_SERIAL_KEYSPAN_PDA is not set
# CONFIG_USB_SERIAL_KEYSPAN is not set
# CONFIG_USB_SERIAL_KLSI is not set
# CONFIG_USB_SERIAL_KOBIL_SCT is not set
# CONFIG_USB_SERIAL_MCT_U232 is not set
CONFIG_USB_SERIAL_PL2303=m
# CONFIG_USB_SERIAL_HP4X is not set
# CONFIG_USB_SERIAL_SAFE is not set
# CONFIG_USB_SERIAL_TI is not set
# CONFIG_USB_SERIAL_CYBERJACK is not set
# CONFIG_USB_SERIAL_XIRCOM is not set
# CONFIG_USB_SERIAL_OMNINET is not set

カーネルをビルドしたら、Ov51x JPEG hacked Wikiからソースをもらってきます。

tar xvzf ov51x-jpeg-1.5.8.tar.gz
$ cd ov51x-jpeg-1.5.8
$ vi Makefile

MakefileのKDIRをchumbyのカーネルソースを展開したディレクトリに、CCとLDをそれぞれtoolchainのものを指定します。

CC = /usr/arm-linux/bin/gcc
LD = /usr/arm-linux/bin/ld
KDIR := /path/to/linux-2.6.16-chumby-1.5.0

でもってmake。

$ ARCH=arm CROSS_COMPILE=arm-linux- make

libjpegのソースパッケージをDebianからもらってきます。でもってビルド。.libs/の中に共有ライブラリが出来ます。

$ tar xvzf libjpeg6b_6b.orig.tar.gz
$ gzip -d libjpeg6b_6b-13.diff.gz
$ patch -p0 <libjpeg6b_6b-13.diff
$ cd libjpeg6b-6b
$ CC=/usr/arm-linux/bin/gcc ./configure  --host=arm-linux
$ make

capture-V4Lのソースをもらってきます。Makefileを編集してmake。

$ tar xvzf capture-V4L-v1.2.tgz
$ cd capture-V4L
$ vi Makefile

CCとCFLAGSを編集します。

CC            = /usr/arm-linux/bin/gcc
CFLAGS        = -O4 -Wall -fsigned-char

makeします。

$ make

キャプチャした画像を出力するcgiを書きます。
詳細はchumby_eyetoy_set.tar.gz内のcgi-bin/captureを参照。

| | Comments (2) | TrackBack (0)

2008.07.06

[chumby]chumbyを各種インターネット共有/WMWifiRouter経由でネットにつなぐ

2008.07.07: Windows XPのインターネット接続の共有の説明で、ファイアウォールをOFFにすることを説明し忘れていたので追記しました。



chumbyのデモを出先でする場合、無線LANによる通信経路の確保を模索することになりますが、デフォルトでは無線LANのアクセスポイントのみを検索する仕様であることが問題になります。

chumbyからアクセスできる無線LANのアクセスポイントが、必ず存在するとは限らないからです。

かといって、PCやWindows Mobile等のデバイス経由でどうにかしようと思っても、chumbyはAd-Hocモードの相手を見付けてくれないのでつながりません。

Mac OS Xのインターネット共有で「相手のコンピュータが使用するポート」をAirMacにした場合、Macの無線LANはアクセスポイントとしてふるまうのでchumbyから見付けることができるのですが、ネットワークの設定がうまくいかず「unreachable」のエラーで終わるはずです。

現状ではPHS300などを用意しないと、出先では通信経路の確保がままならないということになります。

ググったり何だりした結果、Mac OS Xのインターネット共有をchumbyから使うためのTIPS、chumbyと相手デバイスとを無線LANでAd-Hoc接続しつつ、chumbyが接続相手のDHCPを引く設定が分かりましたので、ここに書いておきます。

紹介している手順全般に言えるのは、セキュリティ無しの内容になっていることです。
まずは接続を確認してからセキュリティをかけてみてください。

西尾さんのChumbyをMacBookのインターネット接続共有で動かす方法に情報があります。

Mac OS X Leopard (10.5.4)のインターネット共有を使う

  • 「システム環境設定>共有>インターネット共有」を選択して、隣のペインにインターネット共有の設定を表示させます。
  • 「共有する接続経路」のドロップダウンリストから、インターネットに接続する経路を選択します。(W-ZERO 3 Modem Port、Bluetooth PANなど)
  • 「相手のコンピュータが使用するポート」の「AirMac」のチェックボックスをONにします。
  • 「AirMac オプション...」ボタンを押し、「ネットワーク名」を「chumby」などに変更します。「チャンネル」は「自動」、「暗号化 (WEPを使用)」のチェックボックスはOFFに設定。セキュリティが気になる向きは後で設定してください。OKボタンで終了。
  • 「インターネット共有」のチェックボックスをONにして、インターネット共有を開始します。
  • 「Terminal.app」を起動し、以下のように操作します。
$ cd /etc
$ sudo cp bootp.plist _bootp.plist
$ sudo vi _bootp.plist
  • viが起動しますので、ファイルの最後の方にあるreply_threshold_secondsを4から0に編集します

オリジナル


<key>reply_threshold_seconds</key>
<integer>4</integer>

変更後


<key>reply_threshold_seconds</key>
<integer>0</integer>

  • 「インターネット共有」のチェックボックスをOFFにして、インターネット共有を停止します。
  • 引き続き以下のように操作します。
$ sudo mv _bootp.plist bootp.plist
$ sudo chmod 644 bootp.plist
$ ls -l bootp.plist
-rw-r--r--  1 root  wheel  1048  7  6 06:32 bootpd.plist

「インターネット共有」は起動時に/etc/bootp.plistを生成、インターネット共有の停止時に/etc/bootp.plistを削除します。編集内容がリセットされないように、リードオンリーにするわけです。

  • 再度、「インターネット共有」のチェックボックスをONにして、インターネット共有を開始します。
  • chumbyの「Scanning or wireless connections...」の後の「Choose a wireless connection」に、さきほど設定したネットワーク名「chumby」が見えているはずですので、それを選択します。
  • 「Choose IP allocation method」は「Automaic (recommended)」を選択、後は流れ通りでOKなはずです。chumbyに振られるIPは「10.0.2.n」になると思います。

64kでつなぐと遅くて、スライドショー系、ストリーミング系は実用になりません。
W-ZERO3を使い、高速化サービスが有効になるような設定だと64kでも結構大丈夫です(即ち、Bluetooth PAN経由か、WMWifiRouterなど経由か)。

WMWifiRouterを使う

Windows Mobile上で動作するソフトウェアWiFiルータ、WMWifiRouterが使えます。

  • WMWifiRouterをインストールします。詳細は割愛します。
  • ファイル名「debugchumby」でテキストファイルを作ります。改行コードはLFにしておきます。内容は以下のようなものです。WMWifiRouterで使うessidが"WMWifiRouter"である必要があります。違う場合は書き換えてください。
#!/bin/sh
ESSID="WMWifiRouter"
LOG=/mnt/usb/adhoc-status.txt
fbwrite "connecting to Ad-Hoc Wi-Fi network ${ESSID}...."
echo >>${LOG}
date >>${LOG}
iwconfig rausb0 mode Ad-Hoc essid ${ESSID} key off >>${LOG} 2>&1
udhcpc -t 5 -n -p /var/run/udhcpc.rausb0.pid -i rausb0 >>${LOG} 2>&1
ifconfig rausb0 >>${LOG} 2>&1
  • テキストファイル「debugchumby」をUSBメモリのルートディレクトリにコピーし、chumbyのUSBポートに挿入します。
  • WMWifiRouterを起動し、接続準備を完了させます。
  • chumbyが起動中であれば一度電源を落としてから、chumbyを(再度)起動します。

起動シーケンス中に液晶の上の方に"connecting to Ad-Hoc Wi-Fi network WMWifiRouter...."と表示された後、WMWifiRouter経由でインターネットと通信しながら起動するはずです。
おかしい場合はUSBメモリに出来ているはずの「adhoc-status.txt」の内容が参考になるかもしれません。

Windows XPのインターネット接続の共有を使う

chumby側の手順はWMWifiRouterと同様。debugchumby内ESSIDを、PC側のそれに書き換えるだけです。

普通にWindows XPでインターネット接続の共有の設定をすればいいのですが、ハマるポイントがいくつかあるので念のため書いておきます。

W-ZERO3をUSBモデムとして使いインターネットに接続するダイヤルアップ接続を、無線LAN経由で共有する例です。
ダイヤルアップ接続の名前を「dialup01」という名前にしていると仮定して説明します。
「dialup01」でインターネットに接続できることを確認しておきます。
Bluetooth PANの場合でも、有線LANでも接続先が違うだけでほぼ同様です。

なお、自分が使っているのは、Windows XP Home SP2です。SP3だとちょっと違うかもしれません。

こっちも現状セキュリティ無しなので、気になる向きは設定をお願いします。

  • 「コントロールパネル>ネットワーク接続」を起動します。
  • ダイヤルアップ「dialup01」のプロパティを表示します。
  • 「詳細設定>インターネット接続の共有>ホーム ネットワーク接続」のドロップダウンリストから「ワイヤレス ネットワーク接続」を選択します。
  • 「詳細設定>インターネット接続の共有>ネットワークのほかのユーザーに、このコンピュータのインターネット接続をとおしても接続を許可する」のチェックボックスをONにします。
  • また、その下にある「ネットワークのコンピュータがインターネットにアクセスを試みるたびにダイヤルアップ接続を確立する」のチェックボックスもONにします。
  • 「OK」ボタンを押してプロパティを閉じます。
  • 「コントロールパネル>ネットワーク接続」の中にある「ワイヤレス ネットワーク接続」のプロパティを表示します。
  • 「全般>この接続は次の項目を使用します>インターネット プロトコル (TCP/IP)」のプロパティを表示します。
  • 「全般」タブの「次の IP アドレスを使う」のラジオボタンをON、「IP アドレス」を「192.168.0.1」に、「サブネットマスク」を「255.255.255.0」に。
  • 「ワイヤレス ネットワーク」タブの「追加」ボタンを押します。
  • 「アソシエーション>ネットワーク名 (SSID)」を「chumby」に、「データの暗号化」を「無効」にします。
  • 「これはコンピュータ相互 (ad-hoc) のネットワークで、ワイヤレス アクセス ポイントを使用しないのチェックボックスをONにします。
  • さらに「OK」ボタンでプロパティを閉じます。
  • 「ワイヤレス ネットワーク」タブに戻ったので、「詳細設定」ボタンを押します。
  • 「アクセスするネットワーク」を「コンピュータ相互 (ad-hoc) のネットワークのみ」に、「優先でないネットワークに自動的に接続」のチェックボックスをOFFにします。
  • 「閉じる」ボタンで「詳細設定」のダイアログを閉じます。
  • 「詳細設定(タブ)>Windows ファイアウォール」の「設定」ボタンを押し、「無効 (推奨されません)」を選択してファイアウォールを切り、「OK」ボタンを押して「Windows ファイアウォール」のダイアログを閉じます。さらに「OK」ボタンを押して、「ワイヤレス ネットワーク接続のプロパティ」を閉じます。
  • ファイル名「debugchumby」のテキストファイルをテキストエディタで作ります。改行コードはLFにしておきます。内容は以下のようなものです。SSIDを「chumby」にしたので、「ESSID="chumby"」という記述になっています。変えた場合は書き換えてください。
#!/bin/sh
ESSID="chumby"
LOG=/mnt/usb/adhoc-status.txt
fbwrite "connecting to Ad-Hoc Wi-Fi network ${ESSID}...."
iwconfig rausb0 mode Ad-Hoc essid ${ESSID} key off >>${LOG} 2>&1
udhcpc -t 5 -n -p /var/run/udhcpc.rausb0.pid -i rausb0 >>${LOG} 2>&1
ifconfig rausb0 >>${LOG} 2>&1
  • 「debugchumby」をUSBメモリのルートディレクトリにコピーし、chumbyのUSBポートに挿入します。
  • chumbyが起動中であれば一度電源を落としてから、chumbyを(再度)起動します。
  • 起動シーケンス中に液晶の上の方に"connecting to Ad-Hoc Wi-Fi network chumby...."と表示された後、PC側でダイヤルアップが始まって、インターネットと通信しながら起動するはずです。
  • おかしい場合はUSBメモリに出来ているはずの「adhoc-status.txt」の内容が参考になるかもしれません。

PC側の無線LANを固定IPかつ「192.168.0.n」にするところがミソです。
こうしないとICSが機能しないそうです。
普段のDHCPを使う設定との切り換えをスムーズにする手段が必要ですね。

複数のプロファイルを持てる機能があるかどうかよく知りませんが、ひょっとしたらこういうのはnetコマンドでやるもんなんでしょうか。

また、PC側の無線LANのファイアウォールをOFFにしておかないと、chumbyがICSのDHCPを引けません。これもハマりポイント。
より選択的にファイアウォールをOFFにする方法があるかと思います。ご存知の方がいらしたら教えてください。

| | Comments (0) | TrackBack (0)

2008.07.05

非対応機種で無理矢理モバイル版Wassrを利用

TwitterのAPI制限は確かにいかがなものかと思うので、Yappo氏のアジテーションに乗ってWassrの利用を開始した。

Twitterのシンプルさが好きだし、ときたま発生する海外の方、Twitterを根城にする方との交流を楽しんでいるのでTwitterとは離れ難い。
WassrはTwitterとSNSとの間に位置するような使用感で、Twitterには無いシナジーが確かにあるので併用してみている。

モバイル版のWassrはWILLCOMへの対応をうたっているものの、Advanced/W-ZERO3[es]のIE/OperaでアクセスするとPC版に飛ばされる。
Twitterのように任意に使い分けられるのがベストだと思うが、そうはなってない。
後発としては柔軟な運用をお願いしたいところ。

NetFront Browser v3.5コンセプト版をインストールして、User-Agentを書き換えたらモバイル版にアクセスできた。
WILLCOMユーザーの誇りから、User-Agentは味ぽんのものに変更してみた。

Mozilla/3.0(DDIPOCKET;JRC/AH-J3001V,AH-J3002V/1.0/0100/c50)CNF/2.0

しかし、NetFront Browser v3.5コンセプト版のスクロールはなんだか使いにくいなあ。スクロールと共にフォーカスが移っていくあの形式が使いやすいのに。

Mac/PCのブラウザでもUAを書き換えるとモバイル版が見られるが、IPもチェックしているようで、チャンネル以外はほぼ見られない。チャンネルは見られるが、書き込みはできなかった。

W-ZERO3をWMWifiRouterで無線LANルータ化したり、インターネット共有でBluetooth PANを組んだ上で、クライアント側からUser-Agentを詐称したブラウザでアクセスするといいが、そこまでするシチュエーションは無いかな。W-ZERO3+N810という組み合わせであれば意味はあるか。

NOKIA N810のブラウザでのUser-Agent変更は? とITTで調べると以下のbookmarkletで可能とのこと。同じく味ぽんのにしてみた。

User-Agentを味ぽんのものに変更


about:config?prefname=general.useragent.override&prefvalue=Mozilla%2F3.0%28DDIPOCKET%3BJRC%2FAH-J3001V%2CAH-J3002V%2F1.0%2F0100%2Fc50%29CNF%2F2.0

元に戻す


about:config?prefname=general.useragent.override&prefvalue=

ただ、about:configは重くて、自分のところではブラウザがハングアップしてしまうことがしばしば。
同じことは、~/.mozilla/microb/user.jsに設定を加えることでもできる。

User-Agentを味ぽんのものに変更


user_pref("general.useragent.override", "Mozilla/3.0(DDIPOCKET;JRC/AH-J3001V,AH-J3002V/1.0/0100/c50)CNF/2.0");

元に戻す


user_pref("general.useragent.override", "");

補助スクリプトでトグルできるようにした方がいいだろうね。

| | Comments (0) | TrackBack (0)

2008.06.20

[iPod touch]ruBooksの日本語エンコーディング自動判定対応版ruBooksJ

iPod touch / iPhone用テキストリーダruBooksを例によって日本人向けに改造しました。

インストールは、これまた例によって野良リポジトリからできます。
自分はiPod touch 1.1.4で動かしています。1.1.2でも動くと思いますが、試していません。動かなかったらすいません。

改造で、日本語のエンコーディング自動判定ができるようにしました(Shift-JIS, EUC-JP, JIS, UTF-8)。
日本語のことしか考えてない改造なので、ruBooksJと名乗って別アプリにしました。

作者のSergey Makarov氏から依頼を受けてruBooksの日本語リソースを提供したという経緯があるので、修正を取り込んでもらうことも可能かと思いますが、この修正でファイルを開くのが改造前より遅くなるので考えどころですよね。

ruBooksはBooksの拡張版。検索、表示色の変更、表示色設定の切り替え(Day/Night)、Zipファイルの閲覧、自動スクロール、iPhoneのボリュームボタンへの対応などなど、オリジナルよりできることが増えてます。
また、ファイルブラウザが実装されたので、オリジナルのように「/var/mobile/Media/EBooks」にあるファイルしか閲覧できないということがありません。

ちなみに、使っているとよくファイルブラウザで落ちますよね、分かります。
オリジナルでも起きる思わしくない挙動をどうしても解決したい場合は、Sergey Makarov氏に連絡してあげてください。

| | Comments (0) | TrackBack (0)

2008.06.03

[N810][Emacs]NOKIA N810向けEmacs23.0.60 with Xftパッケージ等

やへーさんがXftを有効にしたEmacs23.0.60をビルドしてくださったので、パッケージを作ってみました。

Emacs23onn81001

Emacs23onn81002

一応Launcherに登録されますが、タスクバーのところのアイコンがデフォルトのものになってしまいます。一度は設定できたんですけどね。

愛用のC/Migemoをビルドしてパッケージしました。migemoの動作に必要なapel10.7もパッケージにしました。

みんな大好きNavi2chもパッケージにしました。

ダウンロード

ダウンロード emacs23cvs080525-1armel.deb (37124.4K)

「apel-10.7-1.deb」をダウンロード

「cmigemo-1.3-1_armel.deb」をダウンロード

「navi2ch-cvs-20070510.deb」をダウンロード

インストール

まずはキーボードのカスタマイズをしないことには始まらないでしょう。

[N810]NOKIA N810用カスタマイズ済のキーマップをインストールするパッケージ

パッケージは普通にApplication managerからインストールできると思います。 ただし、Red pill modeにしておく必要があります。

107MBほど食います。容量が足りないでしょう。 「/usr/local/」以下にインストールされますので、内蔵のFlashをext2もしくはext3等にフォーマットして、シンボリックリンクで「local」以下を逃がすといいと思います。

e2fsprogsをインストールした後、やへーさんのご指導に基づき以下のような感じで内蔵2GBのFlashをext3にフォーマット。

# mkfs.ext3 -b 1024 -j -J size=32 /dev/mmcblk0p1

設定

「/usr/local/share/emacs/site-lisp/site-start.el」に最低限の設定をしていますが、余計なものも交じっているかもしれません。

画面が狭いのでメニュー等は全部表示しないようにしていますが、その辺りが気に入らなければ、「/usr/local/share/emacs/site-lisp/site-start.el」を参照の上.emacs.elで設定し直してください。

site-start.elの内容

(setq exec-path (append '("/usr/local/bin/") exec-path))

(set-language-environment 'Japanese)
(set-terminal-coding-system 'utf-8)
(set-keyboard-coding-system 'utf-8)
(setq locale-coding-system 'utf-8)

(tool-bar-mode -1)
(menu-bar-mode -1)
(scroll-bar-mode -1)

(display-time)

(transient-mark-mode t)
(iswitchb-mode t)
(setq kill-whole-line t)
(show-paren-mode t)

(setq-default tab-width 4)

(setq dired-use-ls-dired nil)
(setq list-directory-brief-switches "-C")

(setq inhibit-startup-message t)
(setq startup-echo-area-message "")
(setq initial-scratch-message "")

そのほか、以下のような設定をとりあえずしています。

今の.emacs.el

;; 本体上部のボタンに機能割り付け
(global-set-key (quote [f8]) (quote toggle-input-method))
(global-set-key (quote [f7]) (quote execute-extended-command))
(global-set-key (quote [f6]) (quote electric-buffer-list))

(setq load-path (append load-path '("/home/user/elisp")))
(setq exec-path (append '("/home/user/bin/") exec-path))

;; emacsclient用
(server-start)

(line-number-mode t)
(column-number-mode t)

;; 拙作のtwit.el variantの設定
(load "twit")
(twit-mode t)
(setq twit-username "MY_ACCOUNT")
(setq twit-password "PASSWORD")
(setq twit-favorite-friends
      '("hitoriblog" "otsune" "masui" "miyagawa" "emacs"))

;; navi2ch用の設定
(autoload 'navi2ch "navi2ch" "Navigator for 2ch for Emacs" t)
;; busybox版はオプションが違うので
(setq navi2ch-net-gunzip-args '("-d" "-c"))
;; スレを開く際に画面分割しないので便利
(setq navi2ch-bm-stay-board-window nil)

;; 黒バックに
(set-foreground-color "white")
(set-background-color "black")
(set-cursor-color "gold")
(setq frame-background-mode 'dark)

;; 初期カレントディレクトリをHOMEに
(setq home-dir (getenv "HOME"))
(setq default-directory home-dir)

;; SKK用
;;(load "skk-setup")
;;(setq skk-large-jisyo "/usr/share/skk/SKK-JISYO.L")

;; sense-region用の設定
(autoload 'sense-region-on "sense-region"
  "System to toggle region and rectangle." t nil)

;; ruby-mode用設定
(require 'ruby-electric)
;; pabbrev-mode
(require 'pabbrev)
(setq pabbrev-idle-timer-verbose nil)

(autoload 'ruby-mode "ruby-mode"
  "Mode for editing ruby source files" t)

(setq auto-mode-alist
      (append '(("\\.rb$" . ruby-mode)) auto-mode-alist))
(setq interpreter-mode-alist (append '(("ruby" . ruby-mode))
                    interpreter-mode-alist))
(autoload 'run-ruby "inf-ruby"
  "Run an inferior Ruby process")

(autoload 'inf-ruby-keys "inf-ruby"
  "Set local key defs for inf-ruby in ruby-mode")

(add-hook 'ruby-mode-hook
      '(lambda ()
         (inf-ruby-keys)
        (ruby-electric-mode t)
         (pabbrev-mode t)
      ))

(sense-region-on)

;#####################
;# for clip.rb
;#####################

;; クリップボード連携のための設定
;; 関連エントリ
(global-set-key "\C-cc" 'clip-copy)
(global-set-key "\C-cv" 'clip-paste)

(defun clip-copy ()
  ;; Copy region on current buffer to clipboard on maemo.
  (interactive)
  (let ((coding-system-for-write 'utf-8))
    (message "... copy to clipboard")
    (call-process-region (region-beginning) (region-end) "clip.rb" nil nil nil "-s")
    (message "")))

(defun clip-paste ()
  ;; Paste maemo clipboard to current buffer.
  (interactive)
  (message "... paste from clipboard")
  (let ((s (point))(e))
    (let ((coding-system-for-read 'utf-8))
      (call-process "clip.rb" nil t nil "-g"))
    (setq e (point))
      (if (equal e s)
          (ding)
        )
    (message "")))

;; browse-urlでmicrobにURLを送るよう設定
;; 関連エントリ
(autoload 'browse-url-osso-browser "browse-url-osso-browser" "" t)
(setq browse-url-browser-function 'browse-url-osso-browser)

;; C/Migemo用設定
(load "migemo.el")
(setq migemo-command "cmigemo")
(setq migemo-options '("-q" "--emacs" "-i" "\g"))
(setq migemo-dictionary "/usr/local/share/migemo/euc-jp/migemo-dict")
;;(setq migemo-dictionary "/usr/local/share/migemo/cp932/migemo-dict")
(setq migemo-user-dictionary nil)
(setq migemo-regex-dictionary nil)

Hildonizeされておらず本体上部のボタンが余っているので、機能を割り当てています。 上記の設定では「-」ボタンを押すとtoggle-input-methodが実行されて、日本語入力ができるようになります。

FDcloneの設定

FDcloneからemacsclient経由でEmacsにファイルを開かせる設定をしときます。 /home/user/.fd2rcに以下の行を加えます。

EDITOR='emacsclient -n'

先にEmacsが起動していないとダメです。

関連エントリ

[N810]NOKIA N810用FDclone2.09g、lv4.51、nkf2.0.8bパッケージ

[N810]NOKIA N810でFDclone/lvを便利に使うためのヘルパースクリプト

| | Comments (0) | TrackBack (0)

«[N810]NOKIA N810でGPSロガーHOLUX m-241のログをBluetooth経由で取得!gpsbabel-1.3.5-beta20080514