사용자 입력이 필요할 때 터미널 경고음을 울리게 하는 방법은 무엇입니까?

사용자 입력이 필요할 때 터미널 경고음을 울리게 하는 방법은 무엇입니까?

예를 들어, 시스템을 업데이트하는 명령을 실행하는데 시간이 좀 걸립니다. 비밀번호를 다시 입력하거나 확인해야 할 때 소리가 들리도록 하고 싶습니다. 저는 Arch에서 Zsh를 사용하고 있습니다. 감사합니다!

답변1

터미널은 애플리케이션이 입력을 언제 읽을지 모르므로 보편적인 솔루션은 없습니다.

애플리케이션이 입력을 기다리기 전에 프롬프트를 표시하고 해당 프롬프트를 구성할 수 있는 경우 다음을 추가하십시오.벨 캐릭터이 팁에. 벨 문자는 Ctrl+G입니다. 백슬래시 이스케이프가 지원되는 경우 로 쓸 수 있습니다 \a.

예를 들어, sudo 프롬프트에서 종소리가 울리도록 하려면 visudo다음 줄을 실행하고 sudoers파일에 추가합니다.

Defaults passprompt="␇[sudo] password for %p: "

대신 실제 Ctrl+G 문자를 사용하십시오 (제어 문자를 입력하는 방법을 보려면 편집기의 구성을 확인하십시오).

벨 문자의 효과는 터미널과 해당 구성에 따라 다릅니다. 많은 터미널에서는 제목 표시줄 깜박임과 같은 효과를 만들 수 있습니다.

답변2

약간 옆으로 있지만 CPU 사용량이 낮을 때 트리거할 수 있습니다. 일부 거짓 긍정이 나올 수도 있지만 결국에는 입력을 기다리고 있는 프로세스를 발견하게 될 것입니다.

batch한 가지 접근 방식 은 호출만 예약되고 echo -ne '\007'터미널 차임벨을 재생하는 스크립트를 사용하는 것입니다 . 이 스크립트( BSD에서 호출되었지만 내가 아는 한 Arch에는 이름이 없음)는 batch프로세서 로드가 사전 설정된 값 아래로 떨어질 때 실행됩니다 ._LOADAVG_MX

사전 설정된 로드 임계값을 변경하려면 다음을 참조하세요.https://unix.stackexchange.com/a/306965/216323

관련 정보