비활성 후 콘솔 프로그램 위에서 화면 보호기 실행: 입력을 모니터링하는 방법은 무엇입니까?

비활성 후 콘솔 프로그램 위에서 화면 보호기 실행: 입력을 모니터링하는 방법은 무엇입니까?

저는 tty에서 사용자 입력을 기다리는 화면 보호기 시스템을 구현하고 있으며 입력이 수신되지 않으면 입력이 수신될 때까지 화면 보호기를 재생합니다.

내가 무엇을 할 것인가?효율적인tty 클릭 시 사용자 입력(예 /dev/pts/1: )

미리 감사드립니다.

답변1

따라서 이것은 실제로 stdin이 아닌 PTY에 관한 것입니다. 실행 중인 프로세스의 키 입력은 일반적으로 stdin이 아닙니다!

따라서 필요한 것은 입력을 처리하고 화면에 아무 일도 일어나지 않을 때 시간을 기록하는 타이머를 유지할 수 있는 의사 TTY 에뮬레이터입니다.

tmux이것은 가능합니다. 를 설치 하고 (적어도) 다음을 포함하는 in tmux을 생성합니다 (60초 화면 보호기 지연).tmux.conf~/.config/tmux

set -g lock-command "the program you want to be screensaver. It has to quit when a key is pressed, but that's your problem to implement"
set -g lock-after-time 60

그런 다음 "기본" 프로그램을 실행할 수 있습니다.

tmux new yourprogram

(아니면 평소처럼 tmux를 사용하세요.tmux 튜토리얼)

이를 사용하면 reptyr기존 프로그램을 tmux아직 시도하지 않은 세션으로 마이그레이션하여 비활성 감지가 여전히 작동하는지 확인할 수 있습니다.

관련 정보