Home > Unix系OS > screen Archive

screen Archive

keyhac で簡単なマクロを作ってみる

keyhac を使ってキー配列をいじるスクリプトを紹介してきたが(その 1その 2)このソフトではキーボードやマウスを使ったマクロを書くこともできる。今回は簡単な例として、Putty + GNU Screen での例を書いてみる。

Putty + GNU Screen でウィンドウを簡単に切り替える

GNU Screen で複数のウィンドウを切り替える場合は“コントロールキャラクタを押した後に数字キー”という操作を行う。具体的には、

  1. Control + Z を押す *1
  2. Control + Z を離す。
  3. 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 + 09 を押すと、0 番~ 9 番のウィンドウに切り替わるだろう。

Continue reading

最新版 GNU Screen のインストール on CentOS 5.4

久々にインストールしようとしたらいろいろと苦労したのでその記録。

以前試したときはソースツリーにバグがあった(?)為に最新版を git で持ってくるとコンパイルできなかったりしたのだが、今回試したところ、又別の問題があった。

http://blog.remora.cx/2010/02/gnu-screen.html

最新ソースを手に入れてビルド開始 → 失敗

$ 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 からパッケージを貰ってきてインストールする。

Continue reading

最新版GNU Screenで縦分割(その3〜captionとhardstatusについて〜)

これはその1〜導入編〜その2〜設定ファイルについて〜の続きです。

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"

では一番難解なcaptionhardstatusの解説だ。そもそもcaptionhardstatusの違いは何か。

いろいろ理屈はあるが、これだけ覚えておけばいい *1

caption     => 各ウィンドウに一つずつ
hardstatus  => 全体で一つだけ

まずはcaptionから説明しよう。

Continue reading

最新版GNU Screenで縦分割(その2〜設定ファイルについて〜)

Mac OS Xでやってみる

100202-0002.png
前回と同じことを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色表示が有効にならなかった。

次は前回スルーした設定ファイルについて。

Continue reading

最新版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を削除してみると起動する。いろいろ試した結果、次の一文で落ちてることがわかった。

Continue reading

Index of all entries

Home > Unix系OS > screen Archive

Feeds
CC Licence

Creative Commons License

このブログはクリエイティブ・コモンズでライセンスされています。

Ferret アクセス解析
W3C Validation

I ♥ validator

Return to page top