Mac OS X の Terminal.app から Linux へ ssh でログインしたときに backspace が効かないことがあるよ問題について。
前回 screen を使うとうまくいくというツッコミをもらったので試してみた。 すると vi は動いた。すばらすい。 しかし jless がどうしても backspace を deleteと認識してくれない。 もう、なんなんだよ jless……。 Linux を使いはじめたころにも同じ問題に遭遇したことがあるけど、 まだあのポリシーは変わっていなかったのか。
ものは試しで TERM=xterm にしてみると、 screen なしでも vi で backspace が動いた。 しかし jless がやっぱりダメ。
じゃあ Terminal.app の「delete キーでbackspace キーを送る」 をオフにして TERM=xterm ではどうなんだろう。 すると、vi と jless はいけるんだが、今度はzsh がダメ。 むき〜〜〜〜〜。
くくく、それじゃ 「delete キーで backspace キーを送る」オフ、 TERM=xtermにして screen 起動でどうだ。 よおおおおおしこれで全部通ったあああ!
まとめると、どうやら zsh, vim, jless のそれぞれにバラバラの条件があるらしい。
結論。まず jless をまともに動かすためには 「delete で backspace」を付けてはいけない。 しかしそれだと zsh と vim で困るので、 TERM=xterm にして、さらに screen を起動。 マジでうざい……。
(00:03)
.zshrc の先頭に以下のコードを入れて全自動になった。
if [ $TERM = xterm-color ] # remote login from Mac OS X then export TERM=xterm screen fi
当然ながら、家では Mac 以外に xterm-color を送ってくる端末がいないことが前提である。
(00:25)
Copyright (c) 2002-2007 青木峰郎 / Minero Aoki. All rights reserved.