프로그램이 분리 된 화면에서 실행되고 있음을 감지 할 수 있습니까? 꽤 약한 하드웨어의

꽤 약한 하드웨어의 스크린 세션에서 대화 형 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


답변