Eu gostaria de usar um som de bipe em um script de shell. Infelizmente, nenhum dos métodos que encontrei pelo Google funciona para mim.
eu tentei
echo -e '\a'
echo -ne '\007'
e o comando beep
depois que eu o instalei via apt.
Qual seria a razão?
Respostas:
Primeiro execute
sudo modprobe pcspkr
e depoisbeep
deve funcionar.O motivo para isso não acontecer é porque, por padrão, o Ubuntu não carrega mais o driver de hardware que produz bipes.
Se isso funcionar para você, habilite o carregamento do pcspkr permanentemente, edite o
/etc/modprobe.d/blacklist.conf
arquivo (gksudo gedit
talvez usando ) e comente a linha que dizblacklist pcspkr
:fonte
blacklist pcspkr
, tenho que fazermodprobe -r pcspkr && modprobe pcspkr
para que funcione. Também fazer com que o bipe funcione não é o mesmo que fazer com que a campainha audível funcione e, portanto, askubuntu.com/questions/22168/how-do-i-enable-the-terminal-bell ainda deve estar aberto.Não sendo fã do bipe pcspkr, eu uso um bipe de um dos sons do sistema com o comando paplay do servidor pulseaudio instalado.
Primeiro encontre o som que você gosta (você pode procurar / usr / share / sounds por alguns disponíveis, por exemplo) e criar uma referência a ele
Em seguida, disponibilize-o como um comando
Agora basta executar
beep
sempre que precisar. Por exemplo, para alertá-lo quando um comando for concluído:fonte
echo -e '\a'
run-my-long-test-suite.sh; beep
e ler o stackoverflow até que o sistema esteja pronto.export BEEP=/usr/share/sounds/ubuntu/stereo/dialog-information.ogg
ealias beep='paplay $BEEP --volume=32768'
agora, isso funciona bem para mim. (Observe que você pode substituir o volume pelobeep
alias, por exemplo,beep --volume=15000
reproduz um volume de -12dB.) #Para corrigir esse problema persistentemente:
gconf-editor
e, se adesktop | gnome | peripherals | keyboard | bell_mode
configuração estiver presente, altere-a deoff
paraon
dconf-editor
e, se aorg | gnome | settings-daemon | peripherals | keyboard | bell-mode
configuração estiver presente, altere-a deoff
paraon
pactl upload-sample /usr/share/sounds/gnome/default/alerts/glass.ogg bell.ogg
para o arquivo~/.xprofile
(você precisagnome-control-center-data
paraglass.ogg
)[ "$DISPLAY" ] && xset b 100
ao arquivo~/.bashrc
A maneira mais simples de ativar esta solução é reiniciar.
Além disso, para implementar esta solução imediatamente para uma janela do terminal que já esteja aberta, execute o
pactl
comando e executexset
na janela do terminal em questão.fonte
pactl upload-sample
comando em um script de shell, mas seu método é mais organizado. Obrigado!pactl
comando,~/.xprofile
ele será executado no início da sessão da GUI.dconf-editor
versão dabell-mode
configuração parece serorg.gnome.settings-daemon.peripherals.keyboard
.glass.ogg
instaladoComo essa é uma pergunta com uma classificação muito alta no google, adicionarei as etapas que fiz para reativar o bipe no console e no X11:
Para o console Linux ( CTRL+ ALT+ F1... F6):
Por que não funciona por padrão
Como já foi respondido , o
pcspkr
driver do kernel do PC Speaker está na lista negra do Ubuntu.Ative temporariamente até a reinicialização:
Ativar automaticamente na inicialização:
(exclua ou
pcspkr
linha de comentário , acrescentando-a com#
)Para terminais X11 (como o padrão
gnome-terminal
)Por que não funciona por padrão
No X, como ao usar o Unity, KDE, Gnome Shell, os eventos de bipe são capturados pelo PulseAudio graças a
module-x11-bell
, carregado por padrão em/usr/bin/start-pulseaudio-x11
. E a amostra de som que o PulseAudio toca no bipe,,bell.ogg
está em branco por padrão. Além disso, o volume da campainha pode estar mudo.Para ativar temporariamente a sessão atual,
Existem outras amostras adequadas que você pode experimentar
/usr/share/sounds
, por exemplo, verifique as/usr/share/sounds/gnome/default/alerts/
Observe que o
beep
programa não é realmente necessário. Mas se instalado, ele usa o PC Speaker. Foi a única maneira que pude encontrar para ativar a campainha no X:Para ativar automaticamente na inicialização, basta adicionar as linhas acima no seu
~/.profile
ou em todo o sistema em/etc/profile
Para testá-lo:
Bip!
Zumbido!
fonte
pcspkr
ebell.ogg
são abordagens independentes.beep
tenta emitir um bipe usando várias abordagens, por exemplo,ioctl(console_fd, KIOCSOUND, period)
usepcspkr
(o som vem do alto-falante do PC na placa-mãe), enquanto oprintf '\a'
método baseado pode funcionar sem ele usando somentebell.ogg
(o som é dos alto-falantes comuns). O segundo método pode não funcionar até que o serviço pulseaudio é iniciado e / ouxset b on
é executadopactl upload-sample ...
foi dourado para mim. Qual é a maneira de configurar permanentemente o carregamento da amostra novamente?~/.profile
, ou em todo o sistema em/etc/profile
load-sample bell.ogg /usr/share/sounds/ubuntu/stereo/bell.ogg
no/etc/pulseaudio/default.pa
.Eu já encontrei esse problema antes. Pelo que me lembro, o problema é que a campainha do terminal tenta tocar em um alto-falante interno do computador (como em uma área de trabalho antiga), mas falta laptops e alguns computadores mais novos.
A única solução que encontrei na época foi
sudo apt-get install sox
epor exemplo
fonte
play -q -n synth 2 pluck C5
. C5 é a nota.Finalmente encontrei uma solução, que não requer
alsamixer
a opção de PC Beep. Acho que me lembro de todas as minhas alterações:descomente o seguinte em
/etc/pulse/default.pa
:por esse bug , execute
pactl upload-sample /usr/share/sounds/ubuntu/stereo/bell.ogg bell.ogg
fonte
Connection failure: Connection refused pa_context_connect() failed: Connection refused
.Failed to open module "module-esound-protocol-unix": file not found
. Provavelmente não vale a pena discutir aqui, pois estou executando o 13.04, embora eu adoraria poder verificar sua solução.Se você possui alto-falantes reais conectados ao computador e não está ouvindo um sinal sonoro, é provável que esteja usando o compiz. O Compiz conta com o pulseaudio para captar os bipes e reproduzi-los enquanto a metacidade ignora a configuração usual e usa a libcanberra para reproduzir um bipe. Se ele funciona com metacidade e não com o problema que você tem, caso contrário, a resposta que o htorque deu é correta.
fonte
Até onde eu sei, isso é um bug: Bip do sistema interrompido no Karmic, apesar dos esforços heróicos para corrigi-lo .
fonte
modprobe pcsprk
(no console) oupactl upload-sample ...
no X11 e o bip irritante está de volta :)"O sinal sonoro funciona apenas se o seu PC tiver um 'alto-falante'. Muitos laptops / dispositivos pequenos modernos não têm um".
Tente reproduzir um som como este:
play xxxxx.wav
Encontrei um bom arquivo wav que parece curto e agradável , mas você também pode escolher o seu. Funciona para mim quando tudo mais falhou.Obrigado a: tredegar & hk_centos
fonte
Uma abordagem alternativa - defina seu xterm / console como "Visual Bell" para que, quando ele emitir um bipe, a janela simplesmente inverta suas cores por um curto período de tempo.
Eu tenho uma função bash chamada beep para chamar minha atenção quando um comando é concluído.
E é usado dessa maneira
fonte
Pode ser tarde demais, mas para o cara que está procurando no futuro:
fonte