Попытка: sed -i 's/aprefix.*asuffix/mynewword/g' testfile
. .*
означает "ноль или более любых символов"; x*
означает "ноль или более x
", что будет соответствовать aprefixxxxxxxxxxasuffix
, например.
В частности, .
- это подстановочный знак regex для "любого одного символа", а *
- regex-ese для "ноль или более из последнего", поэтому .*
- regex-ese для "любого символа, за которым следует ноль или более из любого символа(ов)".
Если кто-то еще столкнется с этим, вот обходной путь, чтобы заставить PulseAudio использовать устройство ALSA...
Во-первых, убедитесь, что вы знаете правильную звуковую карту и устройство, воспроизведя звук напрямую через ALSA:
aplay -D plughw:<CARD#>,<DEVICE#> /usr/share/sounds/alsa/Front_Center.wav
В моем случае мне нужен оптический аудиовыход, поэтому на основе моего aplay -l
выхода, как видно из моего вопроса выше, он был:
aplay -D plughw:0,1 /usr/share/sounds/alsa/Front_Center.wav
Запишите номер карты и устройства и добавьте запись в/etc/pulse/default.pa
(замените 0,1 на то, что сработало для вас на предыдущем шаге):
load-module module-alsa-sink device=plughw:0,1
Я добавил эту строку непосредственно перед строкой .ifexists module -udev -Detect.so в файле (, т.е. под комментарием###Load audio driver staticly )
Затем запустите следующее от имени пользователя, под которым ваш сеанс рабочего стола зарегистрирован как (, т.е.не как корень):
pulseaudio --kill
pulseaudio --start
Затем вы сможете открыть настройки звука, чтобы увидеть и выбрать карту:
К этому моменту воспроизведение звука через PulseAudio должно снова работать. (Что-то, что я заметил, это то, что pacmd list-cards
будет по-прежнему не отображать карту, хотя теперь она работает )Напоминание :это обходной путь, а не долгосрочное исправление, поэтому обязательно сделайте примечание для себя, чтобы отменить это в какой-то момент в будущем, чтобы увидеть, правильно ли это исправлено. Но на данный момент звук работает.
Я оказался здесь из-за той же проблемы, после обновления с Stretch пропал звук. Похожие симптомы и результаты (Карта Nvidia и звук Intel HDA ). Однако, следуя инструкциям, я обнаружил, что не могу заставить этот шаг работать :
.root@desk:~# aplay -D plughw:0,0 /usr/share/sounds/alsa/Front_Center.wav
aplay: main:828: audio open error: Device or resource busy
Я обнаружил, что виновником была робость:
root@desk:~# fuser -v /dev/snd/*
USER PID ACCESS COMMAND
/dev/snd/pcmC0D0p: timidity 1274 F...m timidity
/dev/snd/seq: timidity 1274 F.... timidity
Как только я убил его, я мог продолжить редактирование /etc/pulse/default.pa
, и все встало на свои места. Я до сих пор не уверен, была ли проблема в отсутствующем приемнике PA или в робости.
Я также подумал о том, чтобы отправить отчет об ошибке, но не уверен, что это будет более уместно. Если у вас есть какие-либо предложения, я буду рад последовать вашему примеру и добавить свою поддержку в отчет.
Спасибо, что поделились решением!
У меня была точно такая же проблема, и удаление Timidity решило ее. Буквально, когда пакет был удален apt, я увидел уведомление о том, что у меня есть звуковая карта (, интерпретируемое как изменение громкости ).
у меня был только фиктивный -приемник и никакого звука после обновления с debian 9 до debian 10
aplay -l
сбой, сообщение об ошибке при открытии 99 -pulse.conf
я создал /etc/alsa/conf.d/99-pulse.conf
с содержимым, взятым из установки Xubuntu:
# PulseAudio alsa plugin configuration file to set the pulseaudio plugin as
# default output for applications using alsa when pulseaudio is running.
hook_func.pulse_load_if_running {
lib "libasound_module_conf_pulse.so"
func "conf_pulse_hook_load_if_running"
}
@hooks [
{
func pulse_load_if_running
files [
"/usr/share/alsa/pulse-alsa.conf"
]
errors false
}
]
это решило мои проблемы