Home > Unix系OS > screen Archive
screen Archive
keyhac で簡単なマクロを作ってみる
keyhac を使ってキー配列をいじるスクリプトを紹介してきたが(その 1、その 2)このソフトではキーボードやマウスを使ったマクロを書くこともできる。今回は簡単な例として、Putty + GNU Screen での例を書いてみる。
Putty + GNU Screen でウィンドウを簡単に切り替える
GNU Screen で複数のウィンドウを切り替える場合は“コントロールキャラクタを押した後に数字キー”という操作を行う。具体的には、
- Control + Z を押す *1 。
- Control + Z を離す。
- 3 を押す。
これで 3 番のウィンドウに切り替わる。毎回 Control を離す動作が面倒なのだ。これを、単に Control + 3 だけで切り替わるようにしたい。
config.py(部分)
def configure( km ):
km_putty = km.defineWindowKeymap( exe_name = u"PUTTY.EXE" )
for i in xrange( 10 ):
km_putty[ "C-" + str( i ) ] = km.command_InputKey( "C-Z", str( i ) )
2 行目では特定のプログラム(PUTTY.EXE)でのみ有効なキーマップ(km_putty)を得ている。そして 4 行目がキモ。command_InputKey メソッドは引数に並べたキーを順に押した場合と同じ効果を得るための関数を返す。このスクリプトを使うと、Putty + GNU Screen な環境で Control + 0 ~ 9 を押すと、0 番~ 9 番のウィンドウに切り替わるだろう。
- Comments: 0
- TrackBacks: 0
最新版 GNU Screen のインストール on CentOS 5.4
久々にインストールしようとしたらいろいろと苦労したのでその記録。
以前試したときはソースツリーにバグがあった(?)為に最新版を git で持ってくるとコンパイルできなかったりしたのだが、今回試したところ、又別の問題があった。
最新ソースを手に入れてビルド開始 → 失敗
$ sudo yum install git
$ git clone git://git.savannah.gnu.org/screen.git
$ cd screen/src
$ autoconf
configure.in:48: error: possibly undefined macro: AC_USE_SYSTEM_EXTENSIONS
If this token and others are legitimate, please use m4_pattern_allow.
See the Autoconf documentation.
ここでエラー。「AC_USE_SYSTEM_EXTENSIONS」でググってみると、どうやら autoconf-2.6.0 が必要らしい。CentOS 5.4 では autoconf-2.5.9 なのが問題みたいだ。Fedora からパッケージを貰ってきてインストールする。
- Comments: 0
- TrackBacks: 0
最新版GNU Screenで縦分割(その3〜captionとhardstatusについて〜)
defbce on
attrcolor b ".I"
term xterm-256color
termcapinfo xterm-256color 'is=^[r^[m^[2J^[H^[?7h^[?1;4;6l'
defscrollback 1000
altscreen on
escape ^Zz
vbell off
bell_msg "Bell in window %^G"
autodetach on
shell $SHELL
startup_message off
logfile "$HOME/.screen/screen-%Y%m%d-%n.log"
deflog on
shelltitle '$ |bash'
caption always "%{= Rk} %?%F%{b kr}%? %?%h%:%t (screen #%n)%? %{-}"
hardstatus alwayslastline "%{= Gk} %-Lw%40L>%{b kg} %n %t %{-}%+Lw%-040=%{b km} %l %{.b} %Y/%m/%d %C:%s %A "
sorendition "= Rk"
では一番難解な
captionとhardstatusの解説だ。そもそもcaptionとhardstatusの違いは何か。いろいろ理屈はあるが、これだけ覚えておけばいい *1 。
caption => 各ウィンドウに一つずつ hardstatus => 全体で一つだけ
まずは
captionから説明しよう。
- Comments: 0
- TrackBacks: 0
最新版GNU Screenで縦分割(その2〜設定ファイルについて〜)
Mac OS Xでやってみる
前回と同じことをSnow Leopardでやってみる。今度も最新ソースではやっぱりダメで、一つ前のものを持ってきた。
screen.git -
http://git.savannah.gnu.org/cgit/screen.git/commit/?id=a6eea7b4d6dd3e4385919b4a50a58688f9a6b52b
$ tar zxvf screen-a6eea7b4d6dd3e4385919b4a50a58688f9a6b52b.tar.gz $ cd screen-a6eea7b4d6dd3e4385919b4a50a58688f9a6b52b/src $ autoconf $ autoheader $ ./configure --prefix=/usr/local --enable-colors256 $ make && sudo make install
注意点は5行目の
configure。CentOSの時は必要なかったのだが、今回は明示的に"--enable-colors256"を指定しないと、256色表示が有効にならなかった。次は前回スルーした設定ファイルについて。
- Comments: 0
- TrackBacks: 0
最新版GNU Screenで縦分割(その1〜導入編〜)
gitで最新ソースを手に入れる→失敗
表題のことをしようと思って最新ソースを手に入れることにした。まずはVMware上で使ってるCentOSでやってみる。$ sudo yum install git $ git clone git://git.savannah.gnu.org/screen.git $ cd screen/src $ autoconf $ autoheader $ ./configure --prefix=/usr/local $ make && sudo make install
"autoconf"と"autoheader"でいろいろ警告が出たが無視して続行。無事インストールも出来たので早速起動すると......
$ /usr/local/bin/screen [screen caught signal 11.] $
......えっ!? なんか知らんが起動しない。でも
.screenrcを削除してみると起動する。いろいろ試した結果、次の一文で落ちてることがわかった。
- Comments: 0
- TrackBacks: 0
- Feeds
- CC Licence
-
このブログはクリエイティブ・コモンズでライセンスされています。
- Ferret アクセス解析
- W3C Validation
