トップ 差分 一覧 Farm ソース 検索 ヘルプ PDF RSS ログイン

ZaurusTips

[Zaurus]

以下バイナリファイルはSL-C760での動作を確認しています。

 リンク

ザウルスソフト開発サポート

Ruby/Qte普及委員会

Qtopia事始め

Qt Reference Document


 J2MEで遊ぶ


 ターミナルのemacsでクリップボードを使う

NetFrontなどでブラウズした内容をちょっとターミナル上のemacsにコピーしたくなることがある。
特にわたしは、メーラーとしてwanderlustを使っていることもあってそんな機会が多い。
通常Fn-vでペースとできるのだが?C-vとして動作してしてしまって、希望する動作はしてくれない。
なんかうまい設定があるのかもしれないけど、とりあえず次のようにすることに。

クリップボードの文字列を表示するRuby/Qteスクリプト

#!/usr/bin/env ruby
require 'qte'
include Qte
a = QApplication.new([$0]+ARGV)
cv = QApplication::clipboard
codec = QTextCodec.codecForName('eucJP')
print codec.fromUnicode(cb.text).to_str

emacsから「M-x insert-clip-board」として呼び出せるように

上のスクリプトを~/lib/ruby/clip.rbとして保存し、実行権限を与える。

(defun insert-clip-board ()
  (interactive)
  (call-process "~/lib/ruby/clip.rb" nil t))

標準エラー出力も一緒に出力されてしまうので、ちょっとうざい。
real-destinationの使い方がよくわからない。
そして、Ruby/Qteだし、毎回起動するので遅い。

C++ネイティブ版

clip(1438)
ネイティブアプリケーションにしてみた、警告でまくりで、困るけど。
ちなみにemacsのコーディングシステムはeuc-jpと限定している。
普通、sjisで使っているのかなぁ?
~/lib/bin/clipとしておいておいて

(defun insert-clip-board ()
  (interactive)
  (call-process "~/lib/bin/clip" nil t))

選択した部分をクリップボードにコピーする

clipoutを~/lib/bin/clipoutなどとしてコピーして、
clipout(1773)

(defun copy-region-clip-board (beg end)
  (interactive "r")
  (copy-region-as-kill beg end)
  (call-process-region beg end "~/lib/bin/clipout" nil nil)
 )
(global-set-key "?M-w" 'copy-region-clip-board)

これで、?M-wで選択した部分をemacsのkill-ringに保存するとともに、クリップボードにも保存できる。


 gauche

gaucheをコンパイルしてみました
コンパイルするホスト上で

% CC=arm-linux-gcc AR=arm-linux-ar ./configure

makeすると途中で失敗しますが、無視してできあがったgoshやlibgosh.soと、関連するscmファイルつまりgauche-init.scmと、lib以下を適当な場所にコピーします。
ext以下をもってきてないですが、ちょっとしたことはできそうです。

 usbnet

kernelが古いときはusbnet.cを下のように新しくする。
少なくとも2.4.26では不要。以下のファイルは2.4.22より
必要なファイルusbnet.c(3026)Makefile(1433)を用意して、

% make
% insmod ./usbnet.o

もし、usbnetがすでにくみこまれているときは

% rmmod ./usbnet

とかする

modules.usbmapの更新

gentooのkerenl-2.4.26の場合、usbnet.cにエントリはSL-C760のコードはあるのに、
modules.usbmapにエントリがないので接続しても認識してくれなかった

usbnet 0x0383 0x04dd 0x9031 0x0000 0x0000 0x00 0x00 0x00 0x02 0x0a 0x00 0x00003b40

ので、こんな感じで追加

ifconfig

%ifconfig usb0 192.168.129.10

とかしてusb0のアドレスを決定

telnetd

zaurusでtelnetdを動かします。
/etc/inetd.confのTCP wrapperを使う方のコメントをはずす

hosts.allow, hosts.deny

いつもどうりのTCP Wrapperの設定。適当に
hosts.allow

ALL:192.168.129.

hosts.deny

ALL:ALL

あとは、inetdをリスタートする。
ところで、私のzaurusではinetd経由でsshdが動くようになっていたのですが、
実は、グローバルから誰でも入れるようになっていました...こえ〜
別にsshdはいらないので、とりあえずinetd.confの該当箇所をコメントアウト。