ヒットするかどうかを判断するために必要です ctrl+d サーバーから切断するか、現在のscreen
を閉じます。
screen
セッションにいるかどうかを確認することは、どういうわけか可能ですか?
$STY
変数( 画面コマンド で設定される変数)。 「」でない場合は、スクリーンセッションです。
私は画面にいます
$ echo $STY
29624.pts-1.iain-10-04
$
私は画面にいません
$ echo $STY
$
$ TERM変数を確認できます。
echo $TERM
screen
セッションの場合、用語変数は「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
デフォルトのキー割り当てを変更していない限り、次のことができます Ctrl+a -> Ctrl+t画面にいる場合は、時刻が表示されます。これは、他の提案とは異なり、ssh:dがどこか別の場所にある場合でも機能します。
~/.screenrc
のcaption
コマンドは、スクリーンセッションを区別するための良い方法です。
私はこれを個人的に使用しています:
$ 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
最初の部分(システム名+負荷)は緑色、日付はピンク色です。便利で見逃せません!
私は別の解決策を見つけました:
変更.screenrc
なので、私の画面セッションは通常の端末とは完全に異なって見えます。
screen -ls
セッションを表示し、
screen -r sessioninfo
切断されている場合、切断されたものに再接続します。
screen -D -r sessioninfo
切断されたものに再接続します。