Я хотел бы использовать звуковой сигнал в сценарии оболочки. К сожалению, ни один из методов, которые я нашел через Google, не работает для меня.
Я пытался
echo -e '\a'
echo -ne '\007'
и команда beep
после того, как я установил его через apt.
Что может быть причиной?
Ответы:
Сначала запустите,
sudo modprobe pcspkr
а затемbeep
должно работать.Причина этого не в том, что по умолчанию Ubuntu больше не загружает драйвер оборудования, который выдает звуковые сигналы.
Если это работает для вас, чтобы разрешить загрузку pcspkr, отредактируйте
/etc/modprobe.d/blacklist.conf
файл (используяgksudo gedit
возможно) и закомментируйте строку, в которой говорится,blacklist pcspkr
что это выглядит так:источник
blacklist pcspkr
я должен сделать,modprobe -r pcspkr && modprobe pcspkr
чтобы заставить его работать. Также получение звукового сигнала на работу - это не то же самое, что включение звукового звонка, и, таким образом, askubuntu.com/questions/22168/how-do-i-enable-the-terminal-bell все еще должен быть открыт.Не будучи поклонником звукового сигнала pcspkr, я использую звуковой сигнал одного из системных звуков с помощью команды paplay установленного сервера pulseaudio.
Сначала найдите понравившийся вам звук (например, вы можете просмотреть / usr / share / sounds для некоторых доступных) и создать ссылку на него.
Тогда имейте это доступным как команда
Теперь просто бегите,
beep
когда вам это нужно. Например, чтобы предупредить вас о завершении команды:источник
echo -e '\a'
run-my-long-test-suite.sh; beep
и читать stackoverflow, пока система не будет готова.export BEEP=/usr/share/sounds/ubuntu/stereo/dialog-information.ogg
иalias beep='paplay $BEEP --volume=32768'
сейчас, это хорошо работает для меня. (Обратите внимание, что вы можете переопределить громкость с помощьюbeep
псевдонима, например,beep --volume=15000
при громкости -12 дБ.)Чтобы решить эту проблему постоянно:
gconf-editor
и, еслиdesktop | gnome | peripherals | keyboard | bell_mode
параметр присутствует, измените его сoff
наon
dconf-editor
и, еслиorg | gnome | settings-daemon | peripherals | keyboard | bell-mode
параметр присутствует, измените его сoff
наon
pactl upload-sample /usr/share/sounds/gnome/default/alerts/glass.ogg bell.ogg
в файл~/.xprofile
(нужноgnome-control-center-data
дляglass.ogg
)[ "$DISPLAY" ] && xset b 100
в файл~/.bashrc
Самый простой способ активировать это решение - перезагрузить компьютер.
Кроме того, чтобы немедленно реализовать это решение для окна терминала, которое уже открыто, выполните
pactl
команду и выполнитеxset
команду в рассматриваемом окне терминала.источник
pactl upload-sample
команду в сценарий оболочки, но ваш метод более организован. Спасибо!pactl
команду,~/.xprofile
она будет выполнена в начале сеанса графического интерфейса.dconf-editor
Версияbell-mode
установки , кажетсяorg.gnome.settings-daemon.peripherals.keyboard
.glass.ogg
установленныйТак как это вопрос с очень высоким рейтингом в Google, я добавлю шаги, которые я сделал, чтобы снова включить звуковой сигнал в консоли и X11:
Для консоли Linux ( CTRL+ ALT+ F1... F6):
Почему это не работает по умолчанию
Как уже было сказано ,
pcspkr
драйвер ядра для динамика ПК занесен в черный список в Ubuntu.Временно включить до перезагрузки:
Автоматически включить при загрузке:
(удалите или прокомментируйте
pcspkr
строку, добавив ее#
)Для терминалов X11 (например, по умолчанию
gnome-terminal
)Почему это не работает по умолчанию
В X, как при использовании Unity, KDE, Gnome Shell, звуковые события регистрируются благодаря PulseAudio
module-x11-bell
, который загружается по умолчанию в/usr/bin/start-pulseaudio-x11
. И образец звука PulseAudio воспроизводится по звукуbell.ogg
, по умолчанию пуст. Кроме того, громкость звонка может быть отключена.Чтобы временно включить текущий сеанс,
Есть и другие подходящие образцы, которые вы можете попробовать
/usr/share/sounds
, например, проверить на/usr/share/sounds/gnome/default/alerts/
Обратите внимание, что
beep
программа на самом деле не нужна. Но если он установлен, он использует динамик ПК. Это был единственный способ включить зуммер под X:Чтобы автоматически включить при загрузке, просто добавьте вышеупомянутые строки в вашей
~/.profile
или общесистемной по адресу/etc/profile
Чтобы проверить это:
Beep!
Buzz!
источник
pcspkr
иbell.ogg
являются независимыми подходами.beep
пытается подать звуковой сигнал, используя различные подходы, например,ioctl(console_fd, KIOCSOUND, period)
использоватьpcspkr
(звук исходит из динамика ПК на материнской плате), в то время какprintf '\a'
метод на основе может работать без использования толькоbell.ogg
(звук из обычных динамиков). Второй метод может не работать, пока служба pulseaudio не будет запущена и / илиxset b on
запущенаpactl upload-sample ...
было золотым для меня. Какой способ снова настроить загрузку образца?~/.profile
или общесистемную/etc/profile
load-sample bell.ogg /usr/share/sounds/ubuntu/stereo/bell.ogg
в/etc/pulseaudio/default.pa
.Я сталкивался с этой проблемой раньше. Из того, что я помню, проблема в том, что терминал звонка пытается позвонить во внутренний компьютерный динамик (как в настольном компьютере старой школы), но ноутбуки и некоторые более новые компьютеры пропускают такую вещь.
Единственное решение, которое я нашел в то время, было
sudo apt-get install sox
инапример
источник
play -q -n synth 2 pluck C5
. С5 это примечание.Я наконец нашел решение, которое не требует
alsamixer
наличия звукового сигнала для ПК. Я думаю, что я помню все мои изменения:раскомментируйте следующее в
/etc/pulse/default.pa
:за эту ошибку , запустить
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
. Вероятно, не стоит обсуждать здесь, поскольку я работаю 13.04, хотя я бы хотел проверить ваше решение.Если к компьютеру подключены фактические динамики, и вы не получаете звуковой сигнал, скорее всего, вы используете compiz. Compiz полагается на pulseaudio, который ловит звуковые сигналы и воспроизводит их, в то время как metacity обходит обычные настройки и использует libcanberra для воспроизведения звукового сигнала. Если это работает с metacity, а не compiz, то это ваша проблема, в противном случае htorque дал ответ.
источник
Насколько я могу судить, это ошибка: системный звуковой сигнал нарушен в Karmic, несмотря на героические усилия по его устранению .
источник
modprobe pcsprk
(в консоли) илиpactl upload-sample ...
в X11, и надоедливый гудок вернулся :)« Звуковой сигнал работает только в том случае, если на вашем ПК есть« динамик ». У многих современных ноутбуков / небольших устройств его нет».
Попробуйте воспроизвести такой звук:
play xxxxx.wav
я нашел хороший WAV- файл, который кажется коротким и приятным, но вы также можете выбрать и свой собственный. Работает для меня, когда все остальное не удалось.Благодаря: tredegar & hk_centos
источник
Альтернативный подход - установите xterm / console на «Visual Bell», чтобы при звуковом сигнале окно просто ненадолго инвертировало свои цвета.
У меня есть функция bash под названием beep, чтобы привлечь мое внимание после завершения команды.
И это используется таким образом
источник
Это может быть поздно НО, потому что парень в будущем ищет это:
источник