Так как я обновил до Ubuntu 16.04 LTS, у меня есть следующая проблема: Когда я включаю наушники, они отключены звук, и разрешить это я должен не отключить звук "динамика" в alsamixer
, как замечено в изображении.
Есть ли какой-либо способ вернуться он к регулярному поведению?
Заранее спасибо!
У меня есть текущие исправления, не решает базовую проблему, но лечит симптомы так сказать (Автоматически регулирует громкость канала 'Динамика' к 100% снова каждый раз, наушники включаются). На моем конце канал 'Динамика' не должен на самом деле быть нес отключенным звуком, но это - объем, должен быть установлен на 100 для меня получить нормальный звук. Команда, которую я использую, чтобы сделать, это
amixer -c 0 set Speaker 100
Для тех, которые действительно должны не отключить звук канала, которым это было бы:
amixer -c 0 set speaker 100 unmute
Прежде всего необходимо протестировать эту команду, если она ничего не делает, '-c, 0' значений являются, скорее всего, неправильными (-c для карты) можно работать aplay -l
для получения списка всех звуковых устройств необходимо найти соответствующий 'номер карты' для звуковой карты. (Это обычно будет 0, иногда 1, редко что-либо еще),
После того как Вы подтверждаете, что команда делает то, что она, как предполагается, создайте сценарий в:/home/user/scripts/headphonefix.sh
#!/bin/bash
sleep 0.5 && amixer -c 0 set Speaker 100
Где '/home/user' является путем к Вашей домашней папке. (Можно использовать любой путь, который Вы хотите, хотя, это - просто предложение).
Затем сделайте исполняемый файл сценария с
chmod +x /home/user/scripts/headphonefix.sh
Теперь мы на полпути сделаны.
Я не нахожусь на человечности сам (я использую manjaro), но эта 'фиксация' требует, чтобы acpid сервис работал (я думаю, что это включено по умолчанию на человечности, на дуге это - systemctl, позволяют acpid запустить его на каждой начальной загрузке.)
Чтобы проверить, работает ли acpid услуга, выполняет acpi_listen. Если Вы получаете ошибку сокета, услуга не работает, если Вы просто получаете пустой вывод, Вы являетесь золотыми.
С acpi_listen выполнение включает Ваши наушники для получения события для него, для меня это было: jack/headphone HEADPHONE plug
Теперь с той информацией, мы можем создать этот файл (используйте sudo):/etc/acpi/events/headphones
Сделайте это - содержание, выглядите примерно так:
event=jack/headphone HEADPHONE plug
action=/home/user/scripts/headphonefix.sh
Где/home/user/scripts/headphonefix.sh является путем к сценарию, мы создали ранее.
Теперь для подтверждения это все работает, мы должны перезапустить acpid или путем перезагрузки или выполнения этой команды:
Ubuntu: sudo service acpid restart
Arch/Manjaro: systemctl restart acpid
Затем отключите свои наушники, затем включают их, въезжают задним ходом, и вуаля, все должно 'работать' теперь.
Это не идеальное решение, так как это просто заставляет alsa регулировать громкость канала динамика к 100% снова каждый раз, гарнитура включается, вместо того, чтобы решить базовую проблему того, почему это происходит под капотом. Но если Вы просто захотите, чтобы дерьмо работало как нормальный, то это добьется цели.
(Примечание: Вы также захотите запустить этот скрипт автоматически на запуске в случае, если Ваши наушники включаются на начальной загрузке),
Отредактируйте этот файл:
/usr/share/pulseaudio/alsa-mixer/paths/analog-output-headphones.conf
Прокомментируйте эти 2 строки, просто поставив; перед строками
[Element Speaker]
; switch = off
; volume = off
Перезапустить pulseaudio:
killall pulseaudio
pulseaudio --start