Saya sudah memulai proses panjang melalui terminal. Apakah mungkin membuat terminal Ubuntu mengeluarkan suara setelah prosesnya selesai? Dengan cara ini, saya tidak perlu terus memeriksa, tetapi sebaliknya akan diberitahu melalui suara.
command-line
notification
Goaler444
sumber
sumber
Jawaban:
Setidaknya ada tiga cara baris perintah untuk mencapai hal ini dengan menempatkan perintah suiting di akhir skrip Anda, Anda dapat meminta proses panjang Anda:
Cara "klasik" untuk memainkan suara adalah dengan menggunakan bip melalui pengeras suara PC. Namun ini tidak akan berfungsi dalam semua kasus (mis. Di sistem saya speaker PC sepenuhnya dinonaktifkan) dan Anda perlu menghapus pscpkr dari
/etc/modprobe/blacklist.conf
dan memuatpcspkr
modul kernel.Kami juga dapat memutar file suara apa pun dalam format wav menggunakan aplay (diinstal secara default):
Cara lain adalah dengan menggunakan antarmuka baris perintah pulseaudio untuk memungkinkan pemutaran file suara apa pun yang
libsndfile
dikenali oleh sistem Anda pada output audio default:Kita dapat menggunakan file suara default dari
/usr/share/sounds/
, atau file suara lain yang mungkin kita miliki di lokasi yang berbeda.Untuk menyebutkannya, ada cara lain yang bagus untuk mencapai ini dengan menyalahgunakan espeak , yang diinstal secara default di Ubuntu <= 12,04. Lihat, atau lebih tepatnya dengarkan contoh berikut:
Di Ubuntu> = 12.10 Orca menggunakan operator bicara. Kami kemudian dapat menginstal espeak , atau gunakan alternatif
spd-say "Text"
.sumber
spd-say
.spd-say
Utilitas diinstal secara default dan berfungsi pada sistem saya.paplay /usr/share/sounds/freedesktop/stereo/complete.oga
saya menggunakan
Ganti "make" dengan perintah jangka panjang apa pun yang Anda gunakan.
sumber
spd-say 'get back to work
' Dan juga sudah diinstal sebelumnya: rilis.ubuntu.com/trusty/… , untuk orang buta saya kira? Dan-w
untuk loop tak terbatas:while true; do spd-say -w 'get back to work you lazy bum'; done
.TL; DR
Untuk memainkan suara setelah perintah selesai:
(di mana
sn3
suara nomor 3) masukkan ini.bashrc
:Atau baca di bawah untuk opsi lebih lanjut:
Suara berbeda pada kesalahan dan kesuksesan
Inilah yang saya gunakan untuk persis apa yang Anda minta - dengan satu perbedaan: tidak hanya memainkan suara ketika perintah selesai tetapi memainkan suara yang berbeda pada keberhasilan dan kesalahan. (Tetapi Anda dapat mengubahnya jika Anda tidak menyukainya.)
Saya memiliki fungsi Bash yang disebut
oks
yang saya gunakan di akhir perintah yang berjalan lama:Ini memainkan suara dan menampilkan OK atau ERROR (dengan kode kesalahan) ketika perintah sebelumnya selesai.
Kode sumber
Inilah fungsi dengan dua pembantu:
Instalasi
Anda dapat meletakkannya di ~ / .bashrc Anda secara langsung atau memasukkannya ke file lain dan kemudian letakkan baris ini di ~ / .bashrc Anda:
Konfigurasi
Ubah
sound_ok
dansound_error
ke beberapa suara lainnya.Anda dapat bereksperimen dengan
sound
vs.soundbg
dan mengubahsound_ok
dansound_error
menggunakan urutan banyak suara yang Anda sukai untuk mendapatkan hasil yang Anda inginkan.Suara yang bagus
Untuk menemukan beberapa suara yang bagus di sistem Anda, Anda dapat mencoba:
Berikut adalah beberapa suara yang sering saya gunakan yang tersedia di Ubuntu secara default yang bagus untuk notifikasi - sn1 keras dan bagus, sn2 sangat keras dan masih cukup bagus, sn3 sangat keras dan tidak begitu baik:
Sekali lagi, Anda dapat mengubah
sound
kesoundbg
jika Anda ingin memainkannya di latar belakang tanpa menunggu suara selesai (misalnya untuk tidak memperlambat skrip Anda ketika Anda memainkan banyak suara).Versi diam
Dan untuk berjaga-jaga - di sini adalah fungsi yang sama
oks
tetapi tanpa suara:Pemakaian
Inilah cara Anda menggunakannya:
Contoh dengan sukses:
contoh dengan kesalahan:
Tentu saja dalam praktiknya perintahnya lebih seperti:
tapi saya menggunakan
ls
sehingga Anda bisa dengan cepat melihat cara kerjanya.Anda dapat menggunakan
ok
alih-alihoks
untuk versi diam.Atau Anda dapat menggunakan mis:
untuk mencetak OK / KESALAHAN tetapi selalu memainkan suara yang sama, dll.
Memperbarui
Saya meletakkan fungsi-fungsi itu di GitHub, lihat:
Sumber dapat diunduh dari:
Perbarui 2
Saya menambahkan
soundloop
fungsi ke repo di atas. Memainkan suara dan dapat terganggu oleh Ctrl + C (tidak seperti yang sederhanawhile true; do paplay file.ogg; done
yang diharapkan akan berfungsi tetapi tidak) seperti yang diminta oleh shadi dalam komentar. Diimplementasikan sebagai:Jika menurut Anda rumit, harap arahkan keluhan Anda ke pengembang PulseAudio.
sumber
while true; do paplay ...; done
sehingga suara berulang sampai saya tekanCtrl+C
, tetapi ketika saya melakukannya, itu tidak pecah. Saya tidak dapat menemukan opsi khususman paplay
untuk mencari cara agar ini berfungsi. Ada ide?Menurut ini yang
\a
karakter lolos kode ASCII 7, yang merupakan bip komputer.Jadi
echo $'\a'
berfungsi untuk membuat suara bip pada mesin lokal saya, bahkan ketika itu dieksekusi pada bash shell yang berjalan di komputer saya terhubung melalui antarmuka terminal seperti Putty.sumber
Memperluas jawaban Michael Curries, Anda dapat membuat Bash mencetak karakter
BEL
(\a
) melaluiPROMPT_COMMAND
:Pengaturan
PROMPT_COMMAND
seperti itu akan membuat Bash mengeksekusiprintf \\a
di akhir setiap perintah, yang akan membuat terminal memainkan suara (meskipun seperti yang ditunjukkan muru, cukup memicu redrawal prompt akan membuat terminal memainkan suara, yaitu suara akan dimainkan setiap kali prompt baru ditarik, misalnya bahkan ketika hanya menekan ENTER).Ini adalah fitur terminal, jadi mungkin tidak berfungsi di semua terminal; misalnya itu tidak berfungsi di konsol (tapi saya yakin itu berhasil
gnome-terminal
danxterm
).sumber
Perintah
membuat suara bising. Solusi paling sederhana namun menjengkelkan. :-)
Lihatlah manual
speaker-test(1)
opsi untuk mengkonfigurasi sinyal noise.sumber
Ini bukan yang Anda minta tetapi Anda bisa menggunakan notifikasi untuk itu.
Ganti perintah yang diberikan dalam jawaban lain dengan
sumber
Contoh 1:
echo alik && (say done ; echo done) || (echo error ; say error)
akan menghasilkan kata yang dikerjakan.Contoh 2:
non_existing_command_error && (say done ; echo done) || (echo error ; say error)
akan menghasilkan kata kesalahan.* Kebutuhan
gnustep-gui-runtime
-Tepuk tangan.
sumber
Saya membuat skrip sederhana dan hampir asli yang memainkan Suara dan menampilkan Pemberitahuan dengan Pesan dan Waktu yang Diberikan untuk Ubuntu ( Inti ):
Cara Penggunaan?
Jalankan Pertama - Menyiapkan:
Buat Direktori baru di rumah Anda dan sebut saja
noti
Unduh noti.sh dan ekstrak ke
noti
dir di atas .Buka Terminal dan Ubah Direktori untuk
noti
Jadikan noti.sh dapat dieksekusi dengan mengeluarkan:
Jalankan Tes seperti ini:
Contohnya
Untuk Memberitahu Selesai Proses (contoh)
sumber
gelombang sinus ffmpeg
Untuk para minimalis di luar sana, Anda dapat memainkan sinus 1000 Hz selama 5 detik:
atau selamanya sampai Anda melakukan Ctrl-C:
Informasi lebih lanjut di: https://stackoverflow.com/questions/5109038/linux-sine-wave-audio-generator/57610684#57610684
Diuji di Ubuntu 18.04, ffmpeg 3.4.6.
sumber