쉘 스크립트에서 경고음을 사용하고 싶습니다. 불행히도 Google을 통해 찾은 방법 중 어느 것도 나를 위해 일하지 않습니다.
나는 시도했다
echo -e '\a'
echo -ne '\007'
beep
apt를 통해 설치 한 후 명령 .
이유가 무엇입니까?
쉘 스크립트에서 경고음을 사용하고 싶습니다. 불행히도 Google을 통해 찾은 방법 중 어느 것도 나를 위해 일하지 않습니다.
나는 시도했다
echo -e '\a'
echo -ne '\007'
beep
apt를 통해 설치 한 후 명령 .
이유가 무엇입니까?
답변:
먼저 실행 sudo modprobe pcspkr
한 다음 beep
작동해야합니다.
그렇지 않은 이유는 기본적으로 우분투가 더 이상 경고음을 발생시키는 하드웨어 드라이버를로드하지 않기 때문입니다.
이 방법으로 문제가 해결되지 않으면 pcspkr의 로딩을 활성화하여 /etc/modprobe.d/blacklist.conf
파일을 영구적으로 편집하고 ( gksudo gedit
아마도 사용 ) blacklist pcspkr
다음과 같은 줄을 주석으로 처리 하십시오.
# 추악하고 큰 소음, 모든 사람의 신경에 닿음; 이것은에 의해 수행되어야합니다 # nice pulseaudio bing (우분투 : # 77010) # 블랙리스트 pcspkr
blacklist pcspkr
나는 modprobe -r pcspkr && modprobe pcspkr
그것이 작동하도록해야합니다. 또한 일을 삐지고 것은 하지 가청 벨이 작동하고, 따라서 점점 같은 askubuntu.com/questions/22168/how-do-i-enable-the-terminal-bell 여전히 열려 있어야합니다.
pcspkr 경고음의 팬이 아니므로 설치된 pulseaudio 서버의 paplay 명령으로 시스템 사운드 중 하나에서 경고음을 사용합니다.
먼저 좋아하는 소리를 찾은 다음 (예를 들어 사용 가능한 소리가있는 경우 / usr / share / sounds를 찾아 볼 수 있음)
export BEEP=/usr/share/sounds/ubuntu/ringtones/Harmonics.ogg
그런 다음 명령으로 사용 가능하게하십시오.
alias beep='paplay $BEEP'
이제 beep
필요할 때마다 실행 하십시오. 예를 들어, 명령이 완료되면 경고하려면 다음을 수행하십시오.
find . | grep treasure ; beep
echo -e '\a'
run-my-long-test-suite.sh; beep
시스템이 준비 될 때까지 stackoverflow를 읽고 읽을 수 있습니다 .
export BEEP=/usr/share/sounds/ubuntu/stereo/dialog-information.ogg
하고 alias beep='paplay $BEEP --volume=32768'
지금, 그것은 나를 위해 잘 작동합니다. (당신이 가진 볼륨 오버라이드 (override) 할 수 있습니다 beep
별칭을, 예를 들면 beep --volume=15000
-12dB의 볼륨으로 재생됩니다.)
이 문제를 지속적으로 해결하려면 다음을 수행하십시오.
gconf-editor
하고있는 경우 desktop | gnome | peripherals | keyboard | bell_mode
설정이 존재 그때부터 변경 off
에on
dconf-editor
하고있는 경우 org | gnome | settings-daemon | peripherals | keyboard | bell-mode
설정이 존재 그때부터 변경 off
에on
pactl upload-sample /usr/share/sounds/gnome/default/alerts/glass.ogg bell.ogg
파일에 ~/.xprofile
(당신이 필요 gnome-control-center-data
에 대한 glass.ogg
)[ "$DISPLAY" ] && xset b 100
파일에 추가~/.bashrc
이 솔루션을 활성화하는 가장 간단한 방법은 재부팅입니다.
또한 이미 열려있는 터미널 창에 대해이 솔루션을 즉시 구현하려면 pactl
명령을 실행하고 xset
해당 터미널 창에서 명령을 실행하십시오 .
pactl upload-sample
명령을 쉘 스크립트에 넣었 지만 방법이 더 체계적입니다. 감사!
pactl
명령 을 넣으면 ~/.xprofile
GUI 세션 시작시 실행됩니다.
dconf-editor
버전은 입니다. bell-mode
org.gnome.settings-daemon.peripherals.keyboard
glass.ogg
되어 있는지 확인하십시오
이것은 Google에서 매우 높은 등급의 질문이므로 콘솔과 X11에서 경고음을 다시 활성화하는 단계를 추가합니다.
이미 답변 했듯이 pcspkr
PC 스피커 의 커널 드라이버는 Ubuntu에 블랙리스트에 있습니다.
재부팅 할 때까지 임시로 활성화하십시오.
sudo modprobe pcspkr
부팅시 자동 활성화 :
sudo nano /etc/modprobe.d/blacklist.conf
( pcspkr
을 앞에 추가하여 줄 삭제 또는 설명 #
)
gnome-terminal
)X에서 Unity, KDE, Gnome Shell을 사용할 때와 같이 경고음 이벤트는으로 인해 PulseAudio에 의해 캡처 module-x11-bell
되며 기본적으로로로드됩니다 /usr/bin/start-pulseaudio-x11
. 경고음에서 재생되는 사운드 샘플 인 PulseAudio는 bell.ogg
기본적으로 비어 있습니다. 또한 벨 음량이 소거 될 수 있습니다.
현재 세션을 일시적으로 활성화하려면
xset b 100 # perhaps not needed, on my system it was 40 by default
pactl upload-sample /usr/share/sounds/ubuntu/stereo/bell.ogg bell.ogg
시도해 볼 수있는 다른 적합한 샘플이 있습니다 ( /usr/share/sounds
예 :/usr/share/sounds/gnome/default/alerts/
합니다 beep
프로그램이 정말 필요가 없습니다. 그러나 설치된 경우 PC 스피커를 사용합니다. X에서 버저를 활성화하는 유일한 방법이었습니다.
sudo apt-get install beep
부팅시 자동으로 활성화하려면 위의 행을에 ~/.profile
또는 시스템 전체에서 추가하십시오./etc/profile
그것을 테스트하려면 :
printf '\a'
삑 하는 소리!
beep
버저 소리!
pcspkr
및 bell.ogg
독립적 인 방법을 제공합니다. beep
다양한 방법 (예 : ioctl(console_fd, KIOCSOUND, period)
사용 pcspkr
(마더 보드의 PC 스피커에서 나오는 소리))을 사용 하여 신호음을 울리는 반면, printf '\a'
기반 방법은 사용하지 않고 작동 할 수 있습니다 bell.ogg
(사운드는 일반 스피커에서 나오는 소리). pulseaudio 서비스가 시작 및 / 또는 xset b on
실행될 때까지
pactl upload-sample ...
나를 위해 황금이었다. 샘플 로딩을 다시 영구적으로 구성하는 방법은 무엇입니까?
~/.profile
하거나 시스템 전체에/etc/profile
load-sample bell.ogg /usr/share/sounds/ubuntu/stereo/bell.ogg
에서 /etc/pulseaudio/default.pa
.
전에이 문제가 발생했습니다. 내가 기억하는 것에서 문제는 터미널 벨이 구식 데스크톱과 같이 내부 컴퓨터 스피커를 울리려고 시도하지만 랩톱 및 일부 최신 컴퓨터에는 그러한 것이 빠져 있다는 것입니다.
나는 당시의 유일한 해결책은에 있었다 sudo apt-get install sox
및
play -n synth <duration in seconds> sine <freq in Hz> vol <volume (0-1)>
예 :
play -n synth 0.1 sine 880 vol 0.5
play -q -n synth 2 pluck C5
. C5가 메모입니다.
마침내 alsamixer
PC Beep 옵션이 필요없는 솔루션을 찾았습니다 . 나는 내 모든 변화를 기억한다고 생각합니다.
다음에서 주석을 제거하십시오 /etc/pulse/default.pa
.
load-sample-lazy x11-bell /usr/share/sounds/ubuntu/stereo/bell.ogg
load-module module-x11-bell sample=bell-windowing-system
당 이 버그 를 실행pactl upload-sample /usr/share/sounds/ubuntu/stereo/bell.ogg bell.ogg
Connection failure: Connection refused pa_context_connect() failed: Connection refused
.
Failed to open module "module-esound-protocol-unix": file not found
합니다. 13.04를 실행 한 이후 여기에서 논의 할 가치가 없지만 솔루션을 확인할 수 있기를 바랍니다.
내가 알 수있는 한, 이것은 버그입니다 : 그것을 해결하려는 영웅적인 노력에도 불구하고 Karmic에서 시스템 경고음이 끊어졌습니다 .
modprobe pcsprk
(콘솔에서) 또는 pactl upload-sample ...
X11에서 성가신 경고음이 다시