내가 스크린 세션에 있는지 여부를 어떻게 확인할 수 있습니까? ctrl + d를 누르면 서버에서 연결이 끊어 지거나 현재 화면을 닫을 지 결정해야합니다. 감사.
답변
$STY
변수를 볼 수 있습니다 ( screen 명령으로 설정된 변수 ). “”가 아니면 스크린 세션에있는 것입니다.
나는 화면에있다
$ echo $STY
29624.pts-1.iain-10-04
$
화면에 없습니다
$ echo $STY
$
답변
$ 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
답변
기본 키 바인딩을 변경하지 않은 경우 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
첫 번째 부분 (시스템 이름 +로드)은 녹색이고 날짜는 분홍색입니다. 유용하고 놓치기 어렵다!
답변
다른 해결책을 찾았습니다 :을
수정 .screenrc
하면 화면 세션이 일반 터미널과 완전히 다르게 보입니다.
답변
screen -ls
세션을보고
screen -r sessioninfo
분리 된 경우 분리 된 장치에 다시 연결합니다.
screen -D -r sessioninfo
연결이 끊긴 것에 다시 연결합니다.
답변
를 수행합니다 screen -ls
. 명시 적으로 Attached
대 Detached
상태를 나타냅니다 .
첨부 된 예 :
$ screen -ls | grep tached
3132.pts-0.esavo00 (Attached)
분리 된 예 :
$ screen -ls |grep tached
3132.pts-0.esavo00 (Detached)