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 beep
apt 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 beep
apt 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.conf
dosyayı kalıcı olarak düzenleyin ( gksudo gedit
belki de kullanarak ) ve şöyle blacklist pcspkr
gö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 pcspkr
yaparsam 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 beep
ne 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; beep
sistem hazır olana kadar stackoverflow yapabilir ve okuyabilirim.
export BEEP=/usr/share/sounds/ubuntu/stereo/dialog-information.ogg
ve alias beep='paplay $BEEP --volume=32768'
şimdi, bu benim için iyi çalışıyor. ( beep
Takma 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-editor
ve eğer desktop | gnome | peripherals | keyboard | bell_mode
ayar mevcut olduğu o andan itibaren bunu değiştirmek off
içinon
dconf-editor
ve eğer org | gnome | settings-daemon | peripherals | keyboard | bell-mode
ayar mevcut olduğu o andan itibaren bunu değiştirmek off
içinon
pactl upload-sample /usr/share/sounds/gnome/default/alerts/glass.ogg bell.ogg
Dosyaya ekle ~/.xprofile
(ihtiyacınız gnome-control-center-data
olan glass.ogg
)[ "$DISPLAY" ] && xset b 100
Dosyaya ekle~/.bashrc
Bu çö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, pactl
komutu çalıştırın ve xset
söz konusu terminal penceresinde komutu çalıştırın .
pactl upload-sample
Komutu bir kabuk betiğine koydum , ancak yönteminiz daha organize. Teşekkürler!
pactl
komutu koyarsanız ~/.xprofile
, GUI oturumunun başlangıcında çalıştırılır.
dconf-editor
Sürüm bell-mode
ayarı gibi görünüyor org.gnome.settings-daemon.peripherals.keyboard
.
glass.ogg
yü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 , pcspkr
PC 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
( pcspkr
ile hazırlayarak satırı sil veya yorum yap #
)
gnome-terminal
)X altında, Unity, KDE, Gnome Shell kullanırken module-x11-bell
olduğ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/
beep
Programı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ı ~/.profile
veya/etc/profile
Test etmek için:
printf '\a'
Bip!
beep
Buzz!
pcspkr
ve bell.ogg
bağı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?
~/.profile
ya da sistem genelinde/etc/profile
load-sample bell.ogg /usr/share/sounds/ubuntu/stereo/bell.ogg
iç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 sox
ve
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 alsamixer
PC 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