.screenrc - screenの設定


Table of Contents

.screenrc Edit

.screenrcscreenの設定ファイルです。会津大学ではlocateで探した限りでは雛形は用意されていないようです。そこで、Internetからscreen-4.0.2.tar.gzを落として収録されている雛形screen-4.0.2/etc/screenrcを~/.screenrcにコピーします。

以下に.screenrcの一例を示します。雛形から変更を加えたところについてはコメントを書いておきます。

s1138001
#
# Example of a user's .screenrc file
#

# This is how one can set a reattach password:
# password ODSJQf.4IJN7E    # "1234"

# no annoying audible bell, please
#vbell on # コメントアウト

# detach on hangup
autodetach on

# don't display the copyright page
startup_message off
  
# emulate .logout message
pow_detach_msg "Screen session of \$LOGNAME \$:cr:\$:nl:ended."

# advertise hardstatus support to $TERMCAP
# termcapinfo  * '' 'hs:ts=\E_:fs=\E\\:ds=\E_\E\\'

# make the shell in every window a login shell
#shell -$SHELL
  
# autoaka testing
# shellaka '> |tcsh'
# shellaka '$ |sh'

# set every new windows hardstatus line to somenthing descriptive
# defhstatus "screen: ^En (^Et)"
  
defscrollback 1000

# don't kill window after the process died
# zombie "^["
  
# enable support for the "alternate screen" capability in all windows
# altscreen on
  
################
#
# xterm tweaks
#

#xterm understands both im/ic and doesn't have a status line.
#Note: Do not specify im and ic in the real termcap/info file as
#some programs (e.g. vi) will not work anymore.
termcap  xterm hs@:cs=\E[%i%d;%dr:im=\E[4h:ei=\E[4l
terminfo xterm hs@:cs=\E[%i%p1%d;%p2%dr:im=\E[4h:ei=\E[4l

#80/132 column switching must be enabled for ^AW to work
#change init sequence to not switch width
termcapinfo  xterm Z0=\E[?3h:Z1=\E[?3l:is=\E[r\E[m\E[2J\E[H\E[?7h\E[?1;4;6l

# Make the output buffer large for (fast) xterms.
#termcapinfo xterm* OL=10000
termcapinfo xterm* OL=100

# tell screen that xterm can switch to dark background and has function
# keys.
termcapinfo xterm 'VR=\E[?5h:VN=\E[?5l'
termcapinfo xterm 'k1=\E[11~:k2=\E[12~:k3=\E[13~:k4=\E[14~'
termcapinfo xterm 'kh=\EOH:kI=\E[2~:kD=\E[3~:kH=\EOF:kP=\E[5~:kN=\E[6~'

# special xterm hardstatus: use the window title.
termcapinfo xterm 'hs:ts=\E]2;:fs=\007:ds=\E]2;screen\007'

#terminfo xterm 'vb=\E[?5h$<200/>\E[?5l'
termcapinfo xterm 'vi=\E[?25l:ve=\E[34h\E[?25h:vs=\E[34l'

# emulate part of the 'K' charset
termcapinfo   xterm 'XC=K%,%\E(B,[\304,\\\\\326,]\334,{\344,|\366,}\374,~\337'

# xterm-52 tweaks:
# - uses background color for delete operations
termcapinfo xterm* be

################
#
# wyse terminals
#

#wyse-75-42 must have flow control (xo = "terminal uses xon/xoff")
#essential to have it here, as this is a slow terminal.
termcapinfo wy75-42 xo:hs@

# New termcap sequences for cursor application mode.
termcapinfo wy* CS=\E[?1h:CE=\E[?1l:vi=\E[?25l:ve=\E[?25h:VR=\E[?5h:VN=\E[?5l:cb=\E[1K:CD=\E[1J

################
#
# other terminals
#

# make hp700 termcap/info better
termcapinfo  hp700 'Z0=\E[?3h:Z1=\E[?3l:hs:ts=\E[62"p\E[0$~\E[2$~\E[1$}:fs=\E[0}\E[61"p:ds=\E[62"p\E[1$~\E[61"p:ic@'

# Extend the vt100 desciption by some sequences.
termcap  vt100* ms:AL=\E[%dL:DL=\E[%dM:UP=\E[%dA:DO=\E[%dB:LE=\E[%dD:RI=\E[%dC
terminfo vt100* ms:AL=\E[%p1%dL:DL=\E[%p1%dM:UP=\E[%p1%dA:DO=\E[%p1%dB:LE=\E[%p1%dD:RI=\E[%p1%dC
termcapinfo linux C8
# old rxvt versions also need this
# termcapinfo rxvt C8


################
#
# keybindings
#

#remove some stupid / dangerous key bindings
bind k
bind ^k
bind .
bind ^\
bind \\
#bind ^h # コメントアウト
#bind h # コメントアウト
#make them better
bind 'K' kill
bind 'I' login on
bind 'O' login off
bind '}' history

# Yet another hack:
# Prepend/append register [/] to the paste if ^a^] is pressed.
# This lets me have autoindent mode in vi.
register [ "\033:se noai\015a"
register ] "\033:se ai\015a"
bind ^] paste [.]

## emacsの操作方法とできる限り近づけるため
bind -c REGION 2 split
bind -c REGION 1 only
bind -c REGION 0 remove
bind -c REGION o focus
bind -c REGION \^ resize
bind ^X command -c REGION
markkeys h=^B:l=^F:$=^E:^D=^V

################
#
# default windows
#

# screen -t local 0
# screen -t mail 1 mutt
# screen -t 40 2 rlogin server

## screen実行時に開く仮想端末
screen 1 w3m
screen 2 emacs -nw
screen 3 mnews
screen 0

# caption always "%3n %t%? @%u%?%? [%h]%?%=%c"
# hardstatus alwaysignore
# hardstatus alwayslastline "%Lw"

# bind = resize =
# bind + resize +1
# bind - resize -1
# bind _ resize max
#
# defnonblock 1
# blankerprg rain -d 100
# idle 30 blanker

escape ^Ta # escapeの設定、初期はescape ^Aa
## マルチユーザの設定
multiuser on
## 接続許可(acladd username = aclchg username +wx "#?")
acladd s1138001 # 注意:ここは必ず各自のusernameに変更してください
## 接続許可及び操作権限の設定
##aclchg username [+-wx] window_number,command_name
## #は全てのwindow_number,?は全てのコマンド
## example
#aclchg username -wx "#?"

escapeキーの変更方法 Edit

デフォルトは ^A ですが、例えば

escape ^Tt

のようにすると ^T に変更できます。C-t あたりが他の便利なキーと被らなくて良いかと思います。

C-t c で新しい画面を作成し、C-t n で次の画面に遷移できます。

passwordの設定方法 Edit

passwordコマンドscreenのセッションをロックするパスワードを設定できます。方法は 仮想端末で^A:passwordを入力(初期設定のままの場合、escapeで変更していれば変更したコマンドキーに続いて:passwordを入力)後、表示されたメッセージにしたがってパスワードを2回入力するとバッファに暗号化したパスワードが保存されます。ヤンク(初期設定では^A])を実行するとABCDEFGなどといった文字列が出力されます。それを.screenrc

password ABCDEFG

と設定すれば完了です。


xrea