Bir kabuk komut dosyasında bir bip sesi kullanmak istiyorum. Maalesef Google üzerinden bulduğum yöntemlerin hiçbiri benim için çalışmıyor.
denedim
echo -e '\a'
echo -ne '\007'
ve beepapt ile kurduktan sonraki komut .
Sebebi ne olabilir?
Bir kabuk komut dosyasında bir bip sesi kullanmak istiyorum. Maalesef Google üzerinden bulduğum yöntemlerin hiçbiri benim için çalışmıyor.
denedim
echo -e '\a'
echo -ne '\007'
ve beepapt ile kurduktan sonraki komut .
Sebebi ne olabilir?
Yanıtlar:
Önce koş sudo modprobe pcspkr, sonra beepçalışmalı.
Bunun nedeni, varsayılan olarak Ubuntu’nun artık bip üreten donanım sürücüsünü yüklememesidir.
Eğer bu sizin için çalışıyorsa, pcpkr'ın yüklenmesini etkinleştirmek için /etc/modprobe.d/blacklist.confdosyayı kalıcı olarak düzenleyin ( gksudo geditbelki de kullanarak ) ve şöyle blacklist pcspkrgöründüğünü söyleyen satırı yorumlayın :
# Çirkin ve yüksek ses, herkesin sinirlerine bürünmek; bu bir tarafından yapılmalıdır # güzel pulseaudio bing (Ubuntu: # 77010) # blacklist pcspkr
blacklist pcspkryaparsam modprobe -r pcspkr && modprobe pcspkrçalışması için bunu yapmak zorundayım. Ayrıca , sesli uyarı zilinin çalışmaya başlamasıyla aynı şey değildir ve bu nedenle askubuntu.com/questions/22168/how-do-i-enable-the-terminal-bell hala açık olmalıdır.
Pcpkr bip hayranı olmamak, yüklü pulseaudio sunucusunun paplay komutuyla sistem seslerinden birinden bir bip sesi kullanıyorum.
İlk önce hoşunuza giden bir ses bulun (örneğin bazı mevcut olanlar için / usr / share / seslere göz atabilirsiniz) ve buna bir referans oluşturun
export BEEP=/usr/share/sounds/ubuntu/ringtones/Harmonics.ogg
O zaman komut olarak hazır bulundurun
alias beep='paplay $BEEP'
Şimdi beepne zaman ihtiyacın olursa koş . Örneğin, bir komut tamamlandığında sizi uyarmak için:
find . | grep treasure ; beep
echo -e '\a'
run-my-long-test-suite.sh; beepsistem hazır olana kadar stackoverflow yapabilir ve okuyabilirim.
export BEEP=/usr/share/sounds/ubuntu/stereo/dialog-information.oggve alias beep='paplay $BEEP --volume=32768'şimdi, bu benim için iyi çalışıyor. ( beepTakma adla ses seviyesini geçersiz kılabileceğinizi unutmayın , örneğin beep --volume=15000-12dB ses seviyesinde oynatılır.)
Bu sorunu kalıcı olarak çözmek için:
gconf-editorve eğer desktop | gnome | peripherals | keyboard | bell_modeayar mevcut olduğu o andan itibaren bunu değiştirmek offiçinondconf-editorve eğer org | gnome | settings-daemon | peripherals | keyboard | bell-modeayar mevcut olduğu o andan itibaren bunu değiştirmek offiçinonpactl upload-sample /usr/share/sounds/gnome/default/alerts/glass.ogg bell.oggDosyaya ekle ~/.xprofile(ihtiyacınız gnome-control-center-dataolan glass.ogg)[ "$DISPLAY" ] && xset b 100Dosyaya ekle~/.bashrcBu çözümü etkinleştirmenin en basit yolu yeniden başlatmaktır.
Ayrıca, bu çözümü zaten açık olan bir terminal penceresi için hemen uygulamak için, pactlkomutu çalıştırın ve xsetsöz konusu terminal penceresinde komutu çalıştırın .
pactl upload-sampleKomutu bir kabuk betiğine koydum , ancak yönteminiz daha organize. Teşekkürler!
pactlkomutu koyarsanız ~/.xprofile, GUI oturumunun başlangıcında çalıştırılır.
dconf-editorSürüm bell-modeayarı gibi görünüyor org.gnome.settings-daemon.peripherals.keyboard.
glass.oggyüklü
Bu google'da çok yüksek puan alan bir soru olduğundan, hem konsolda hem de X11'de bip özelliğini yeniden etkinleştirmek için attığım adımları ekleyeceğim:
Daha önce cevaplandığı gibi , pcspkrPC Hoparlörünün çekirdek sürücüsü Ubuntu'da kara listede.
Yeniden başlatılana kadar geçici olarak etkinleştir:
sudo modprobe pcspkr
Açılışta otomatik olarak etkinleştir:
sudo nano /etc/modprobe.d/blacklist.conf
( pcspkrile hazırlayarak satırı sil veya yorum yap #)
gnome-terminal)X altında, Unity, KDE, Gnome Shell kullanırken module-x11-bellolduğu gibi, varsayılan olarak varsayılan olarak yüklenen bip olayları PulseAudio tarafından yakalanır /usr/bin/start-pulseaudio-x11. Ve PulseAudio'nun sesli uyarısı bip sesi çıkarır bell.ogg, varsayılan olarak boştur. Ek olarak, zil sesi kapatılabilir.
Geçerli oturumu geçici olarak etkinleştirmek
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
Deneyebileceğiniz başka örnekler de var /usr/share/sounds; örneğin/usr/share/sounds/gnome/default/alerts/
beepProgramın gerçekten gerekli olmadığını unutmayın . Ancak, kurulu ise, PC Hoparlörünü kullanır. X'in altındaki zili etkinleştirmenin tek yolu buydu:
sudo apt-get install beep
Önyüklemede otomatik olarak etkinleştirmek için, yukarıdaki satırları ~/.profileveya/etc/profile
Test etmek için:
printf '\a'
Bip!
beep
Buzz!
pcspkrve bell.oggbağımsız yaklaşımlardır. beepçeşitli yaklaşımlar kullanarak bip sesi çıkarmaya çalışır, örneğin, ioctl(console_fd, KIOCSOUND, period)kullanım pcspkr(ana kartta ses PC hoparlöründen geliyor), printf '\a'temelli yöntem sadece kullanmadan çalışabilir bell.ogg(ses normal hoparlörlerden geliyor). İkinci yöntem, pulseaudio servisi başlatılana ve / veya xset b onçalıştırılana kadar çalışmayabilir
pactl upload-sample ...Benim için altın oldu. Örnek yüklemeyi tekrar kalıcı olarak yapılandırmanın yolu nedir?
~/.profileya da sistem genelinde/etc/profile
load-sample bell.ogg /usr/share/sounds/ubuntu/stereo/bell.oggiçinde /etc/pulseaudio/default.pa.
Bu sorunla daha önce karşılaştım. Hatırladığım kadarıyla, sorun şu ki terminal zili bir dahili bilgisayar hoparlörünü çalmaya çalışıyor (eski okul masaüstünde olduğu gibi) ancak dizüstü bilgisayarlar ve bazı yeni bilgisayarlar böyle bir şeyi kaçırıyor.
Ben o zaman buldum tek çözüm oldu sudo apt-get install soxve
play -n synth <duration in seconds> sine <freq in Hz> vol <volume (0-1)>
Örneğin
play -n synth 0.1 sine 880 vol 0.5
play -q -n synth 2 pluck C5. C5 nottur.
Sonunda alsamixerPC Bip seçeneğine ihtiyaç duymayan bir çözüm buldum . Tüm değişikliklerimi hatırladığımı düşünüyorum:
aşağıdakileri uncomment /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
bu böcek başına , koş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. Muhtemelen burada 13.04 kullanmaya başladığımdan beri tartışmaya değmez, ancak çözümünüzü doğrulayabilmek isterim.
Bilgisayara bağlı gerçek hoparlörleriniz varsa ve bir bip sesi alamıyorsanız, muhtemelen compiz kullandığınız için. Compiz, pulseaudio'ların bip seslerini yakaladığına ve metacity normal kurulumdan geçerken onları çaldığına güveniyor ve bir bip sesi çalmak için libcanberra'yı kullanıyor. Metakilite ile çalışırsa ve derleme yapmazsanız, bu sizin probleminizdir, aksi takdirde verilen cevap htorque ise acayip.
Söyleyebileceğim kadarıyla, bu bir hatadır: Kahramanca çabaları olsa Karmik'te sistem bip sesi çıkardı .
modprobe pcsprk(konsolda) veya pactl upload-sample ...
" Bip sadece PC'nizde bir 'hoparlör' varsa çalışır. Pek çok modern dizüstü bilgisayar / küçük cihazda bir tane yoktur".
Bunun gibi bir ses çalmayı deneyin: Kısa ve tatlı gibi görünen play xxxxx.wav hoş bir wav dosyası buldum ama siz de kendiniz seçebilirsiniz. Her şey başarısız olduğunda benim için çalışıyor.
Alternatif bir yaklaşım - xterm / konsolunuzu "Visual Bell" olarak ayarlayın, böylece bip sesi çıkardığında, pencere renklerini kısa bir süre için tersine çevirir.
Komut bittiğinde dikkatimi çekmek için bip adı verilen bir bash fonksiyonum var.
beep () { while true; do echo -en '\a'; sleep 1; done }
Ve bu şekilde kullanılır
longrun-command ; beep