Отключаем PulseAudio в Linux
Здравствуйте! Сегодня мы узнаем, как отключить PulseAudio в Linux! Но «для чего?» не узнаем - вы должны знать ответ сами!
Как это сделать?
mkdir ~/.config/pulse
echo "autospawn = no" >> ~/.config/pulse/client.conf
killall pulseaudio
Вообще, тут должен был быть скучный список «если такой-то дистр меньше N-й версии, то ~/.pulse
, а если больше, то ~/.config/pulse
». Или хитрый скрипт, который проверяет «if ~/.pulse exist, then echo tuda, else echo v ~/.config/pulse». Но сделаем просто:
mkdir ~/.config/pulse
mkdir ~/.pulse
echo "autospawn = no" >> ~/.config/pulse/client.conf
echo "autospawn = no" >> ~/.pulse/client.conf
killall pulseaudio
Вот! Чтобы наверняка.
Почему не работает просто killall pulseaudio?
Потому что Поттеринг. И ведь это - одна из первых его поделок, и поэтому в ней работает отключение хотя бы через не очевидный способ! В последующих нет даже неочевидного способа.
Почему не удалить пульсу?
Многие программы слинкованы с /usr/lib/libpulse.so.0 Upd: Оказывается libpulse и системная служба PulseAudio - в разных пакетах! Значит, удалять всё-таки можно.
То есть, отключаем пульсу - и всё, звук идёт через ALSA?
Да. Попробуйте сами.
Хотя не совсем. В некоторых дистрибутивах Linux не исчезает ALSA-устройство «pulse» - звук, соответственно, идёт в /dev/null. У меня в Debian и Ubuntu ALSA-устройство «pulse» пропадает при отключении пульсы. А в openSUSE пришлось также удалить/переименовать/закомментировать конфигурационный файл /etc/asound-pulse.conf.
Это устройство - довольно хитрый «костыль»: те программы, которые поддерживают PulseAudio, выводят звук напрямую в него. А те, которые поддерживают только ALSA, выводят звук в ALSA-устройство default, ведущее в «pulse», которое ведёт в PulseAudio. А потом снова в ALSA, и далее в дом, который построил Джек
Какие проблемы могут быть?
- Исчез значок в системном трее
У меня в KDE такого не было, но было в MATE. В MATE можно установить программку Volti. В репозиториях она собрана с GTK2, а в GIT доступна начальная поддержка GTK3
- Перестали работать мультимедийные клавиши клавиатуры
У меня такого не было, но другие люди жаловались. Если у вас не работает, включите в настройках Volti. Работает либо через HAL, которого в современном линуксе уже нет (но есть в CentOS 6), либо через Xlib (который в современном линуксе ещё есть). Также советую выставить в настройках Volti недефолтный микшер (например этот), потому что дефолтный неудобен.
- Исчез звук в Skype 4.3
Запускайте через apulse (уже в репозиториях!)
- Исчез звук в приложениях, использующих SDL (99% игр)
У меня в KDE такого не было, но было в MATE. Проверить можно этой игрой. Решается так:
echo "drivers = alsa" > ~/.alsoftrc
Или:
export SDL_AUDIODRIVER=alsa ./run_game.sh
- Как заставить работать Bluetooth-гарнитуру?
А тут вот что произошло. BlueZ 4 поддерживал ALSA, а BlueZ 5 - перестал. Разработчики сказали «а мы не обязаны! Вот посмотрите: разработчики PulseAudio написали плагин сами. Почему плагин для ALSA должны писать мы?», и удалили поддержку ALSA.
Bluez-alsa пока доступен не во всех репозиториях, поэтому даю ссылку на исходники. Инструкция по настройке.