Saya ingin menggunakan suara bip dalam skrip shell. Sayangnya tidak ada metode yang saya temukan melalui Google yang berfungsi untuk saya.
Saya mencoba
echo -e '\a'
echo -ne '\007'
dan perintah beep
setelah saya menginstalnya melalui apt.
Apa yang bisa menjadi alasannya?
Jawaban:
Jalankan pertama
sudo modprobe pcspkr
dan kemudianbeep
harus bekerja.Alasan ini tidak terjadi karena secara default Ubuntu tidak lagi memuat driver perangkat keras yang menghasilkan bunyi bip.
Jika ini berhasil bagi Anda, maka untuk mengaktifkan pemuatan pcspkr, sunting
/etc/modprobe.d/blacklist.conf
file secara permanen (gksudo gedit
mungkin menggunakan ) dan komentar di luar baris yang mengatakannyablacklist pcspkr
sehingga terlihat seperti ini:sumber
blacklist pcspkr
saya harus lakukanmodprobe -r pcspkr && modprobe pcspkr
untuk membuatnya bekerja. Bunyi bip juga tidak sama dengan membunyikan bel yang dapat didengar dan karenanya askubuntu.com/questions/22168/bagaimana-melakukan-terminal- bel harus tetap terbuka.Bukan penggemar beep pcspkr, saya menggunakan bip dari salah satu suara sistem dengan perintah paplay server pulseaudio yang diinstal.
Pertama-tama temukan suara yang Anda suka (Anda dapat menelusuri / usr / berbagi / suara untuk beberapa yang tersedia misalnya) dan membuat referensi untuk itu
Kemudian memilikinya tersedia sebagai perintah
Sekarang jalankan saja
beep
kapan pun Anda membutuhkannya. Misalnya, untuk mengingatkan Anda ketika sebuah perintah selesai:sumber
echo -e '\a'
run-my-long-test-suite.sh; beep
dan membaca stackoverflow hingga sistem siap.export BEEP=/usr/share/sounds/ubuntu/stereo/dialog-information.ogg
danalias beep='paplay $BEEP --volume=32768'
sekarang, itu bekerja dengan baik untuk saya. (Perhatikan bahwa Anda dapat mengganti volume denganbeep
alias, mis.beep --volume=15000
Memainkan pada volume -12dB.)Untuk memperbaiki masalah ini secara terus-menerus:
gconf-editor
dan jikadesktop | gnome | peripherals | keyboard | bell_mode
pengaturan hadir kemudian mengubahnya darioff
keon
dconf-editor
dan jikaorg | gnome | settings-daemon | peripherals | keyboard | bell-mode
pengaturan hadir kemudian mengubahnya darioff
keon
pactl upload-sample /usr/share/sounds/gnome/default/alerts/glass.ogg bell.ogg
ke file~/.xprofile
(Anda perlugnome-control-center-data
untukglass.ogg
)[ "$DISPLAY" ] && xset b 100
ke file~/.bashrc
Cara paling sederhana untuk mengaktifkan solusi ini adalah reboot.
Selanjutnya, untuk mengimplementasikan solusi ini segera untuk jendela terminal yang sudah terbuka, jalankan
pactl
perintah dan jalankanxset
perintah di jendela terminal yang dimaksud.sumber
pactl upload-sample
perintah dalam skrip shell, tetapi metode Anda lebih terorganisir. Terima kasih!pactl
perintah di~/.xprofile
dalamnya dieksekusi pada awal sesi GUI.dconf-editor
versibell-mode
pengaturan tampaknyaorg.gnome.settings-daemon.peripherals.keyboard
.glass.ogg
menginstal paket yang berisiKarena ini adalah pertanyaan dengan peringkat sangat tinggi di google, saya akan menambahkan langkah-langkah yang saya lakukan untuk mengaktifkan kembali bip di konsol dan X11:
Untuk Konsol Linux ( CTRL+ ALT+ F1... F6):
Mengapa tidak bekerja secara default
Seperti yang sudah dijawab ,
pcspkr
driver kernel untuk Speaker PC dimasukkan daftar hitam di Ubuntu.Aktifkan sementara sampai reboot:
Secara otomatis mengaktifkan saat boot:
(hapus atau
pcspkr
baris komentar dengan menambahkannya dengan#
)Untuk terminal X11 (seperti default
gnome-terminal
)Mengapa tidak bekerja secara default
Di bawah X, seperti saat menggunakan Unity, KDE, Gnome Shell, acara beep ditangkap oleh PulseAudio
module-x11-bell
, yang dimuat secara default di/usr/bin/start-pulseaudio-x11
. Dan sampel suara yang dimainkan PulseAudio pada bip,,bell.ogg
kosong secara default. Selain itu, volume bel dapat dibisukan.Untuk mengaktifkan sementara untuk sesi saat ini,
Ada sampel lain yang cocok yang dapat Anda coba
/usr/share/sounds
, misalnya periksa di/usr/share/sounds/gnome/default/alerts/
Perhatikan bahwa
beep
program ini tidak benar-benar diperlukan. Tetapi jika diinstal, itu menggunakan Speaker PC. Itu satu-satunya cara saya dapat menemukan untuk mengaktifkan bel di bawah X:Untuk mengaktifkan secara otomatis saat boot, cukup tambahkan baris di atas di
~/.profile
, atau di seluruh sistem Anda/etc/profile
Untuk mengujinya:
Berbunyi!
Berdengung!
sumber
pcspkr
danbell.ogg
merupakan pendekatan independen.beep
mencoba untuk berbunyi menggunakan berbagai pendekatan misalnya,ioctl(console_fd, KIOCSOUND, period)
gunakanpcspkr
(suara datang dari speaker PC pada motherboard) sementaraprintf '\a'
metode berbasis dapat bekerja tanpa menggunakan hanyabell.ogg
(suara berasal dari speaker biasa). Metode kedua mungkin tidak berfungsi sampai layanan pulseaudio dimulai dan / atauxset b on
dijalankanpactl upload-sample ...
emas bagi saya. Apa cara mengonfigurasikan pemuatan sampel secara permanen lagi?~/.profile
, atau seluruh sistem di/etc/profile
load-sample bell.ogg /usr/share/sounds/ubuntu/stereo/bell.ogg
di/etc/pulseaudio/default.pa
.Saya pernah mengalami masalah ini sebelumnya. Dari yang saya ingat, masalahnya adalah bel terminal mencoba untuk membunyikan speaker komputer internal (seperti pada desktop sekolah lama) tetapi laptop dan beberapa komputer baru kehilangan hal semacam itu.
Satu-satunya solusi yang saya temukan pada saat itu adalah untuk
sudo apt-get install sox
danmisalnya
sumber
play -q -n synth 2 pluck C5
. C5 adalah catatannya.Saya akhirnya menemukan solusi, yang tidak perlu
alsamixer
memiliki opsi Bip PC. Saya pikir saya ingat semua perubahan saya:batalkan komentar berikut dalam
/etc/pulse/default.pa
:per bug ini , jalankan
pactl upload-sample /usr/share/sounds/ubuntu/stereo/bell.ogg bell.ogg
sumber
Connection failure: Connection refused pa_context_connect() failed: Connection refused
.Failed to open module "module-esound-protocol-unix": file not found
. Mungkin tidak layak untuk dibahas di sini karena saya menjalankan 13,04, meskipun saya ingin memverifikasi solusi Anda.Jika Anda memiliki speaker yang terhubung ke komputer dan Anda tidak mendapatkan bunyi bip, kemungkinan karena Anda menggunakan compiz. Compiz mengandalkan pulseaudio menangkap bunyi bip dan memainkannya sementara metacity melewati pengaturan yang biasa dan menggunakan libcanberra untuk memainkan bunyi bip. Jika itu bekerja dengan metacity dan bukan compiz itu adalah masalah Anda, jika tidak, jawaban yang diberikan htorque adalah benar.
sumber
Sejauh yang saya tahu, ini adalah bug: Bunyi bip sistem rusak di Karmic meskipun ada upaya heroik untuk memperbaikinya .
sumber
modprobe pcsprk
(di konsol) ataupactl upload-sample ...
di X11 dan bunyi bip yang mengganggu kembali :)" Bip hanya berfungsi jika PC Anda memiliki 'speaker'. Banyak laptop / perangkat kecil modern tidak memilikinya".
Coba mainkan suara seperti ini:
play xxxxx.wav
Saya menemukan file wav bagus yang tampaknya pendek dan manis, tetapi Anda dapat memilih sendiri. Bekerja untuk saya ketika semuanya gagal.Terima kasih kepada: tredegar & hk_centos
sumber
Pendekatan alternatif - atur xterm / konsol Anda ke "Visual Bell" sehingga ketika berbunyi bip, jendela hanya membalikkan warnanya untuk waktu yang singkat.
Saya memiliki fungsi bash yang disebut bip untuk mendapatkan perhatian saya setelah perintah selesai.
Dan ini digunakan dengan cara ini
sumber
Mungkin terlambat, tetapi bagi lelaki di masa depan yang mencari ini:
sumber