PC 스피커에서 경고음이 울리도록 하기

PC 스피커에서 경고음이 울리도록 하기

수년에 걸쳐 Ubuntu 릴리스에서 경고음이 울리는 것에 대해 많은 글이 작성되었습니다. 예:경고음을 고치다

사운드 카드 경고음이 작동하는지 확인하고 싶지 않다는 점에서 요구 사항이 약간 다릅니다. 대신, 원래 내장 스피커에서 생성되는 종류의 PC 스피커 경고음을 원합니다. 왜냐하면 CPU 부하가 덜 발생한다고 믿기 때문입니다. 외부 스피커를 분리하고 Ubuntu를 종료하여 내 컴퓨터에 PC 스피커가 있음을 확인했습니다. 종료 및 재시작 프로세스의 어느 시점에서 외부 스피커에 전원이 공급되지 않는 경우에도 경고음이 들립니다.

나는 다음을 시도했습니다 :

에서 /etc/modprobe.d/blacklist.conf다음 줄을 주석으로 바꿉니다.

#blacklist snd_pcsp
#blacklist pcspkr

~ 안에.bashrc

/usr/bin/xset b on
/usr/bin/xset b 100

gnome 터미널에서 활성화: 편집 > 프로필 기본 설정 > 일반 > 터미널 벨

시스템 > 환경설정 > 사운드 > 다양한 탭에서 "음소거" 선택이 없는지 확인하세요(모두 선택 취소).

시스템 > 환경 설정 > 사운드 > 사운드 효과에서 "창 및 버튼 사운드 활성화"를 선택합니다.

데스크탑 > gnome > 사운드 에서 gconf-editor세 개의 사운드 확인란을 선택합니다.

gconf-editor앱 > 메타시티 > 일반 에서 audible bell확인란을 선택합니다.

Java 프로그램을 통해 콘솔에 코드 7을 보내거나 다음을 사용할 때 여전히 PC 스피커 경고음이 들리지 않습니다.

echo -e '\a'

또는 동등하게

echo -e "\a"

bash 명령줄에서. (-e 옵션은 이스케이프 시퀀스 해석을 활성화한다는 의미입니다.) 또 무엇을 시도해야 합니까?

업데이트내 목표는 CPU의 부하를 최소화하는 것이므로 경과 시간을 비교해 보겠습니다. 각 테스트는 100,000회 반복됩니다. 각 변형은 세 번 수행되었으므로 각각에 대해 세 가지 결과가 표시됩니다.

printwriter.format("%c", 7); 
// 1.3 seconds, 1.5 seconds, 1.5 seconds

Toolkit.getDefaultToolkit().beep(); 
// 0.8 seconds, 0.3 seconds, 0.5 seconds

try { Runtime.getRuntime().exec("beep"); } catch (IOException e) { } 
// 10.3 seconds, 16.3 seconds, 11.4 seconds

이러한 실행은 Eclipse 내에서 수행되었으므로 독립 실행형 실행의 경우 1보다 작은 값을 곱합니다. 불행하게도 Toolkit의 경고음은 내 컴퓨터에서 소리가 나지 않으며 코드 7도 마찬가지입니다. 경고음 유틸리티는 작동하지만 비용이 가장 많이 듭니다.

답변1

내 Oneiric 시스템에서 XBell/XkbBell이 다시 작동하도록 하려면 다음을 수행해야 했습니다.

  1. 모듈을 로드합니다 pcspkr(이미 를 통해 수행한 것처럼 /etc/modprobe.d/blacklist.conf).
  2. 패키지 제거 pulseaudio-module-x11(모든 XBell 이벤트를 흡수하는 것으로 보임)
  3. options snd-hda-intel beep_mode=2습니다 /etc/modprobe.d/enable-beep.conf(내 Latitude E6420과 같은 인텔 사운드 칩이 장착된 시스템을 소유한 경우에만 필요합니다). 그 후 alsamixer에서 스피커의 음소거를 해제하십시오.

일부 터미널(예: konsole, 버그 참조)버그 177861) 벨 문자를 무시합니다. 시스템 경고음을 테스트하는 좋은 방법은 xkbbell명령을 사용하는 것입니다.

모든 작업을 수행한 후에는 Java 호출이 Toolkit.getDefaultToolkit().beep()제대로 작동합니다.

답변2

14.04.3 LTS에서는 이제 블랙리스트 라인을 주석 처리하여 편집 /etc/modprobe.d/blacklist.conf하고 활성화하는 것으로 충분해 보입니다.pcspkr

#blacklist pcspkr

#해당 줄을 주석으로 바꿉니다 .

터미널( gnome-terminal)이 기본 설정 탭에서 콘솔 벨을 허용하는지 확인하세요.

이는 빈 터미널 라인에서 백스페이스를 통해 테스트되었습니다. 이는 또한 유틸리티를 통해 테스트되었습니다 beep(설치했다고 가정). 대신 java.awt.Toolkit 객체를 통해 프로그래밍 방식으로 경고음을 울릴 수 있습니다 java.awt.Toolkit.getDefaultToolkit().beep().

툴킷 개체는 유틸리티보다 효율적입니다 beep.

그런데,어떤 사람들은 PC 스피커를 싫어합니다.

답변3

확실하게 하다터미널과 테마는 이벤트를 먹지 않습니다.

외부 도구일해라, 라고. 그들의 코드를 살펴볼 수 있습니다.이것도움이 될 수도 있습니다.

답변4

사용beep프로그램. Lucid 저장소의 1.2.2가 작동하지 않기 때문에 v1.3을 컴파일했습니다.

  • 당신은 그것을 실행해야합니다sudo
  • 여러분 모두가 준비한 것처럼 PCpkr 모듈을 로드해야 합니다.

관련 정보