回答:
$STY
変数(screenコマンドで設定された変数)を見ることができます。「」でない場合は、スクリーンセッションにいます。
私は画面にいます
$ echo $STY
29624.pts-1.iain-10-04
$
私は画面にいない
$ echo $STY
$
if test -n "$STY"; then printf "This is a screen session named '$STY'.\n"; else printf "This is NOT a screen session.\n"; fi
$ TERM変数を見ることができます。
echo $TERM
それはだ場合screen
、セッション、用語変数は、「画面」を返す必要があります。
root@deore:/volumes# echo $TERM
screen
Ctrl-a -d(画面を終了する)
root@deore:/volumes# echo $TERM
xterm
またチェックしてください:https : //stackoverflow.com/questions/3472287/how-do-you-tell-if-the-current-terminal-session-is-in-gnu-screen
"$TERM" = "screen"
オプションsudo
とは異なり、環境に入るときに保存されるよう$STY
です。
デフォルトのキーバインディングを変更していない限り、画面にいる場合は、時間を表示するCtrl+ a-> Ctrl+を実行できtます。これは、他の提案とは異なり、ssh:dが他の場所にある場合でも機能します。
のcaption
コマンドは、~/.screenrc
スクリーンセッションを区別するのに便利な方法です。
私は個人的にこれを使用しています:
$ cat ~/.screenrc
caption always "%{= kc}Screen session on %H (system load: %l)%-28=%{= .m}%D %d.%m.%Y %0c"
画面の下部に次のような行を追加します。
Screen session on gbook (system load: 1,75 1,74 1,68) Lun 05.01.2015 13:01
最初の部分(システム名+負荷)は緑で、日付はピンクで表示されます。便利で見逃しにくい!
を行いますscreen -ls
。明示的に示すために起こっているのAttached
対Detached
状態。
添付例:
$ screen -ls | grep tached
3132.pts-0.esavo00 (Attached)
分離した例:
$ screen -ls |grep tached
3132.pts-0.esavo00 (Detached)