18 октября 2013

Не работает индикатор звука на панели Xubuntu 13.10

С выходом нового релиза Xubuntu 13.10 (Saucy) пользователи столкнулись с неприятной особенностью. Индикатор звука, отображаемый на панели через Плагин индикаторов, не работает. При этом управление звуком с клавиатуры в порядке (если оно предусмотрено моделью клавиатуры). Этот баг уже известен разработчикам: https://bugs.launchpad.net/ubuntu/+source/indicator-sound/+bug/1208204, но пока они работают над его устранением, приходится искать временную заплатку.
Хотя в сети уже появились рецепты, связанные с ручным изменением конфигурационного файла indicator-sound.service, похоже, проблема не только в этом. Я заметил, что в версии Xubuntu 13.10 Плагин индикаторов вообще работает немного странно. Например, контекстные меню некоторых значков в трее могут не отображаться или отображаться не полностью. Не исключено, что эти баги могут быть взаимосвязаны, и судя по тому, что они до сих пор не исправлены, источник их может быть глубже, чем недоработки в окружении XFCE.
Поскольку Плагин индикаторов фактически дублирует функциональность, уже имеющуюся в плагине системного лотка, его можно с чистой совестью просто убрать с панели. Например, так: Меню  → Диспетчер настроек → Панель, и далее


Это можно сделать и просто щелкнув на панели правой кнопкой мыши в районе плагина индикаторов и выбрав в меню пункт Удалить (правда, это требует определенной сноровки, чтобы не "наткнуться" на меню одного из значков). После удаления плагина, значки из него благополучно перейдут в соседний Системный лоток, и проблема с неправильным отображением менюшек исчезнет.

Теперь разберемся со звуком

Сначала можно (но не обязательно) удалить бесполезный системный индикатор громкости, чтобы он не занимал память:

sudo apt-get remove indicator-sound

В качестве его замены в Xubuntu можно использовать разные программы. Я остановился на небольшой утилите volumeicon:

sudo apt-get install volumeicon-alsa

Добавляем её в автозагрузку. Диспетчер настроек → Сеансы и запуск → Вкладка "Автозапуск приложений" → Добавить


Не закрывая это окно, заодно отключим автозапуск системного демона громкости XFCE, который отвечает за управление громкостью с помощью специальных клавиш.

 
Хотя и этого можно не делать. Я заметил, что если его не отключить, то в дальнейшем, при попытке регулировать громкость колесиком мыши на значке volumeicon, наблюдаются "артефакты" в виде дублированной нотификации:


Один слайдер от Alsa, другой от Pulseaudio. Если вас такая перспектива не беспокоит, оставьте XFCE volume daemon как есть. Если все же решите, как и я, его отключить, необходимо будет настроить управление громкостью с клавиатуры вручную, как показано ниже. Итак, выходим из сеанса, чтоб изменения вступили в силу. Затем, шелкаем правой кнопкой мыши на значке volumeicon, выбираем "Параметры" и ставим две галочки:


Заодно, как видите, можно поменять команду вызова внешнего микшера. Почему две галочки, а как же клавиша Mute (заглушить звук)? Тут есть скрытый нюанс. Дело в том, что в отличие от системного регулятора громкости, volumeicon работает непосредственно через Alsa, а не через "прослойку" Pulseaudio. Если заглушить звук через volumeicon (клавишами или мышью на иконке), то последующий "Unmute" включает только Alsa, а Pulseaudio остается заглушен, и звука нет. Это очень неудобно, приходится лезть в Pulseadio и врубать звук вручную, например, так:


Для решения этой проблемы мы назначим на клавишу Mute отдельную команду встроенными средствами XFCE (она, кстати, может пригодиться и тем, кто не отключал XFCE volume daemon). Для этого, идем в Диспетчер настроек  → Клавиатура → Вкладка "Комбинации клавиш" → Добавить,  в поле команда вводим amixer -D pulse set Master Playback Switch toggle, жмем ОК, и в ответ на предложение ввести желаемое сочетание клавиш нажимаем Mute на клавиатуре. Должно получиться примерно так:


Теперь проблем с управлением звуком не будет.

Надеюсь, разработчикам всё же удастся в ближайшее время поправить стандартный регулятор громкости и разобраться с плагином индикаторов. А если нет, что ж, меня вполне устраивает и это "временное" решение. В следующем LTS-релизе наверняка всё будет нормально.

Желаю удачи.