답변:
$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)