화면 세션 상태인지 확인하는 방법 어떻게 확인할 수 있습니까? ctrl +

내가 스크린 세션에 있는지 여부를 어떻게 확인할 수 있습니까? 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. 명시 적으로 AttachedDetached상태를 나타냅니다 .

첨부 된 예 :

$ screen -ls | grep tached
3132.pts-0.esavo00      (Attached)

분리 된 예 :

$ screen -ls |grep tached
3132.pts-0.esavo00  (Detached)