Пропадает звук когда вставляешь наушники

Написано 28 Май, 2013 в категории Linux,Ubuntu/Debian/Mint

Эта проблема из разряда мелких неудобств, но со временем достает все больше и больше.
Проблема: звук на ноутбуке работает через колонки, вставляем в разъем наушники - звук пропадает из колонок ноутбука, но в наушниках не появляется.

Вернуть звук можно так (для Gnome 2):
1. Открываем System Tools -> System Settings
2. Выбираем пиктограмму с надписью "Sound"
3. В выпадающем списке с названием Connector выбираем пункт Speaker.
4. Вуаля, звук появился!

Но радоваться вы будете ровно до того момента пока не вытащите и снова не вставите наушники.

Кстати, у меня звук при переключении до какого-то момента работал нормально. Скорее всего, после очередного обновления пакетов, в ubuntu сбились настройки.

Решение искал довольно долго и все таки починил. Для исправления ситуации необходимо добавить в файл
/usr/share/pulseaudio/alsa-mixer/paths/analog-output-headphones.conf пару строк:

[Jack_InputDevice]
code = Headphones

Приведу полностью содержимое моего analog-output-headphones.conf:

[General]
priority = 90
name = analog-output-headphones
 
[Jack Front Headphone]
required-any = any
 
[Jack Headphone]
required-any = any
 
[Element Hardware Master]
switch = mute
volume = merge
override-map.1 = all
override-map.2 = all-left,all-right
 
[Jack_InputDevice]
code = Headphones
 
[Element Master]
switch = mute
volume = merge
override-map.1 = all
override-map.2 = all-left,all-right
 
[Element Master Front]
switch = mute
volume = merge
override-map.1 = all
override-map.2 = all-left,all-right
 
[Element Line HP Swap]
switch = on
 
; This profile path is intended to control the first headphones, not
; the second headphones. But it should not hurt if we leave the second
; headphone jack enabled nonetheless.
[Element Headphone2]
switch = mute
volume = zero
 
[Element Speaker]
switch = off
volume = merge
 
[Element Desktop Speaker]
switch = off
volume = off
 
; On some machines Front is actually a part of the Headphone path
[Element Front]
switch = mute
volume = zero
 
[Element Rear]
switch = off
volume = off
 
[Element Surround]
switch = off
volume = off
 
[Element Side]
switch = off
volume = off
 
[Element Center]
switch = off
volume = off
 
[Element LFE]
switch = off
volume = off
 
.include analog-output.conf.common

Чудесным образом звук стал переключаться нормально.

Моя система:

[moon:~/] % lsb_release -a                                                                                                             
LSB Version:	core-2.0-amd64:core-2.0-noarch:core-3.0-amd64:core-3.0-noarch:core-3.1-amd64:core-3.1-noarch:core-3.2-amd64:core-3.2-noarch:core-4.0-amd64:core-4.0-noarch
Distributor ID:	Ubuntu
Description:	Ubuntu 12.04.2 LTS
Release:	12.04
Codename:	precise

А потом я обнаружил то решение, которое описал выше: https://bugs.launchpad.net/ubuntu/+source/alsa-driver/+bug/660715