꽤 약한 하드웨어의 스크린 세션에서 대화 형 curses 프로그램을 실행하고 있습니다. 대부분의 경우 화면이 분리됩니다. 이 프로그램이 이러한 상황을 감지하고 기본적으로 화면에서 페인팅을 중지하는 방법이 있습니까?
답변
screen_away
화면의 연결 여부에 따라 자리 비움 상태를 설정 하는 irssi 스크립트 가 있습니다. 다음과 같이 작동합니다.
화면 내에서 실행되는 모든 쉘은 STY
환경 변수 가 소켓 이름으로 설정됩니다. screen -ls
모든 소켓이 저장된 경로를 얻기 위해 실행할 수 있습니다 .
$ screen -ls
There are screens on:
11824.pts-24.mmrozek (Attached)
2306.ssh (Detached)
6615.chat (Attached)
3 Sockets in /var/run/screen/S-mmrozek.
실행 비트를 확인하십시오 /var/run/screen/.../$STY
. 설정된 경우 화면이 연결됩니다. 그렇지 않으면 분리됩니다. 위 출력에서 3 개의 화면 중 2 개가 연결되어 있고 여기에 해당 실행 비트가 설정되어 있음을 알 수 있습니다.
$ ls -l /var/run/screen/S-mmrozek/
total 0
prwx------ 1 mmrozek mmrozek 0 Oct 5 13:04 11824.pts-24.mmrozek
prw------- 1 mmrozek mmrozek 0 Sep 23 23:45 2306.ssh
prwx------ 1 mmrozek mmrozek 0 Oct 5 12:43 6615.chat
또한 screen -ls
을 포함하는 행 의 출력을 계속 확인하고 행이 또는로 $STY
끝나는 지 확인 하지만 계속 반복 해야합니다.(Attached)
(Detached)
screen