トップ «前の日記(2006-05-09) 最新 次の日記(2006-05-11)» 編集

今日のなんでやねん


2006-05-10 [長年日記]

[Linux] WinXP + coLinux + TAP + NAT

ノートPCにもcoLinuxを入れてるんだが,移動して別のネットワークに接続する度にICSの設定をいちいちやるのが面倒なので,netshでNATの設定をすることにした. が,さんざんハマったので忘れないようにメモ. というかStepByStepInXPに全部書いてあったんだが…

  1. regeditでHKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\IPEnableRouterの値を0→1へ
  2. コンピュータの管理→サービス
    1. Windows Firewall/Internet Connection Sharing (ICS)を停止して無効に.
    2. Routing and Remote Accessを自動にして起動.
  3. 以下のコマンドを実行.
netsh routing ip nat install
netsh routing ip nat add interface lan1 full
netsh routing ip nat add interface lan2 full
netsh routing ip nat add interface tap private
netsh routing ip dnsproxy install

lan1,lan2は各移動先で使う可能性のあるネットワークインターフェイスの名前. tapはTAPインターフェースの名前.

これでOK.細かく試してないので全部必須かどうか分からんが,こんだけやっとけば使えた.

tapの方はプロパティでアドレスを192.168.0.1,ネットマスクを255.255.255.0に.

colinuxの中でデフォゲを192.168.0.1に向けとく.IPアドレスは適当に.

追記: ICSを無効にするついでにFWも無効になっちゃうので,気になる人は別のFWソフトを入れるか,気にしないようにするか,やっぱしこしこICSにするかしましょう.

追記2: っつーかさー,ICSとFWを分けとけよなー.

[] たまごの身になってみるタイマー

エッグタイマー 楽天にはありましたよ.

追記: しまった,出遅れた!

追記2: ところでこれいいっすね.思わず買っちゃった.

[Emacsen] Emacs multi-tty supportの何が嬉しいか

普通のEmacs serverの場合,emacsclientからは既存のフレームしか利用できない. どのフレームに表示させるかは選択できるけど,新規にフレームを開いてそれを利用することができない.

multi-tty supportなEmacsだと,新規にフレームを開いてそれを利用できる. これが超嬉しい. どういう場合に嬉しいのか

ttyで使っている場合

オレのようにscreen中でEmacsを利用していると,emacsclientを起動する度にEmacsのwindowをselectしないといけない. 編集終了後に元のwindowをまたselectしてやらないといけない.

これはダサい.ダサすぎる. server-visit-hookとserver-done-hookを駆使すれば,それなりに快適にはなるが,それでもなんとなくイヤ.

Xで使っている場合

っつーか最近X使ってないし.

でも例えば,リモートのマシンにsshでログインして,既に起動済みのEmacsがあると分かっていながらそいつの画面を参照する術がないために新規にEmacsを起動しないといけない,あぁなんてことだ!!! みたいなことがたまにある.

こんなとき,multi-tty supportなEmacsなら,emacsclient -tすれば起動中のEmacsに接続して今使っているttyに新規にフレームを開いてくれる. これは結構イケてるんじゃないか? というかイケてるんです.

[Emacsen] keyboard-translate-tableの不思議

オレはC-hでdelete-backward-charな人なので,.emacsで

(keyboard-translate ?\C-h ?\C-?)

してるんだけど,これがemacsclientで開いたフレームで有効にならない.

どうやら,このkeyboard-translate-tableはterminal-local variableとかいうやつで,ようするにterminal毎に別の値を持つことができる変数な訳だ. buffer-local variableのterminal版みたいなの.

なので,emacsclientで新規にフレームを開くと当然C-hはhelp-commandになっちゃっててぁぅぁぅしてしまう.

buffer-localならset-defaultでデフォルト値の設定ができるんだが,terminal-localな変数のデフォルト値をどうやって設定すればいいのか分からないのでとりあえずは

(add-hook 'server-visit-hook
          (lambda ()
            (keyboard-translate ?\C-h ?\C-?)))

みたいなことをしてしのいでいる. なんかいい方法ないのかな.

[Emacsen] make-frame-on-display

なんかEmacsの話ばっかだが…

こんなのがあるなんて知らんかった.

(make-frame-on-display DISPLAY &optional PARAMETERS)

Make a frame on X display DISPLAY.
The optional second argument PARAMETERS specifies additional frame parameters.

引数で指定したDISPLAYに新規にフレームを開くfunction.

これは結構楽しい. 別のマシン上のXサーバに同じEmacsインスタンスの異なるフレームを開くことができる. もちろん同じバッファを表示させることもできるので,遠隔地のねーちゃんとのペアプロも不可能ではないぞ!

multi-tty supportだとmake-frame-on-ttyというのもあって,/dev/pts/3とか指定すれば別のttyに新規にフレームを開くことができる. 面白い.

本日のツッコミ(全2件) [ツッコミを入れる]
にじむ (2006-05-10 10:02)

ゆで卵タイマー、これ随分昔からありますよね。今使っているのは二代目です。段々透明度が無くなってきて気になっていたので買い換えました。

kitaj (2006-05-11 14:15)

なるほど.前からあったんですね.<br>届いたら茹で卵を作りまくろうと思います.



このへんで勘弁しといたる.


旧「なんでやねん」はこちら.
| 2001/01 | 2001/02 | 2001/03 | 2001/04 | 2001/05 | 2001/06 | 2001/07 | 2001/08/25まで |

リンク上等!

Junichiro Kita