「Screen」の版間の差分
提供: Wikinote
細 (→基本設定) |
(→ウィンドウタイトルをホスト名にする) |
||
行36: | 行36: | ||
==== ウィンドウタイトルをホスト名にする ==== | ==== ウィンドウタイトルをホスト名にする ==== | ||
− | + | もし root 権限を持っているなら (そして自由に設定を変更してもよいなら)、 | |
+ | /etc/sysconfig/bash-prompt-screen というファイルをパーミッション 755 で作成し、 | ||
+ | 上記の 2 行目の echo の部分を記載しておく。 | ||
+ | |||
+ | # echo 'echo -ne "\033k${LOGNAME}@${HOSTNAME%%.*}\033\\"' > /etc/sysconfig/bash-prompt-screen | ||
+ | # chmod +x /etc/sysconfig/bash-prompt-screen | ||
+ | |||
+ | root 権限を持っていなければ、ログインするホストの ~/.bashrc に以下を記載しておく。 | ||
if [ $TERM = 'screen' ]; then | if [ $TERM = 'screen' ]; then | ||
− | echo -ne "\033k${HOSTNAME%%.*}\033\\" | + | PROMPT_COMMAND='echo -ne "\033k${LOGNAME}@${HOSTNAME%%.*}\033\\"' |
fi | fi | ||
− | すると、hardstatus | + | すると、hardstatus にログインしているホスト名とログイン名が表示されてわかりやすい。 |
− | 0* lab 1 centos38 2 | + | 0* hagio@lab 1 hagio@centos38 2 hagio@suse103 3 root@lab |
2009年6月23日 (火) 21:26時点における版
意味がなければ screen はない。
目次
覚え書き
- 設定ファイル (.screenrc) を適用するには、screen を再起動させ… なくても、
:source ~/.screenrc
で可能。
screen の設定
基本設定
最低限これだけは設定しないと使いものにならない。
escape ^Zz hardstatus alwayslastline "%w" defencoding UTF-8 encoding UTF-8
- escape の ^Z は、Ctrl-Z で screen のコマンドに入るという意味。末尾の z は、Ctrl-Z + z でコマンド文字 (Ctrl-Z 自体) をプロセスに送るという意味 (つまり、プロセスがバックグラウンドに送られる)。
- hardstatus は "%w" でウィンドウのリストを表示できる。alwayslastline で常に表示する。これが設定されていないと使いにくさが 256 倍になる。これがデフォルトだったら、screen ユーザが今の 256 倍くらいいたと思うのだが…。
- encoding 系はメインマシンに合わせる。
コマンドでエンコーディングを変更
RHEL 2/3/4/5 全部使うので…。そのうち、自動で切り替わるようにしよう。
bind "u" encoding UTF-8 # Ctrl-Z u でエンコーディングを UTF-8 にする bind "e" encoding eucJP # Ctrl-Z e でエンコーディングを eucJP にする
認識性の高い hardstatus
色を用いて、現在のウィンドウを認識しやすくしたもの。
hardstatus alwayslastline "%-w%{=b bw}%n %t%{-}%+w"
bash の設定
ウィンドウタイトルをホスト名にする
もし root 権限を持っているなら (そして自由に設定を変更してもよいなら)、 /etc/sysconfig/bash-prompt-screen というファイルをパーミッション 755 で作成し、 上記の 2 行目の echo の部分を記載しておく。
# echo 'echo -ne "\033k${LOGNAME}@${HOSTNAME%%.*}\033\\"' > /etc/sysconfig/bash-prompt-screen # chmod +x /etc/sysconfig/bash-prompt-screen
root 権限を持っていなければ、ログインするホストの ~/.bashrc に以下を記載しておく。
if [ $TERM = 'screen' ]; then PROMPT_COMMAND='echo -ne "\033k${LOGNAME}@${HOSTNAME%%.*}\033\\"' fi
すると、hardstatus にログインしているホスト名とログイン名が表示されてわかりやすい。
0* hagio@lab 1 hagio@centos38 2 hagio@suse103 3 root@lab