Как отключить профили S/PDIF (IEC958) в Gnome и PulseAudio

Вопрос или проблема

Хотя на моем компьютере больше нет интерфейсов S/PDIF, настройки звука Gnome все равно показывают мне список, который вдвое длиннее необходимого. С несколькими дисплеями, ЦАПами и Bluetooth-передатчиками список из 8 или более записей становится проблемой при выборе, когда на самом деле присутствует не так много устройств.

Можно ли скрыть или удалить их?

Новые версии Ubuntu с Pipewire

$ pactl list cards | grep iec958 --count
29

$ sudo sed -e '/\[Mapping iec958-stereo\]/,+5 s/^/#/' \
   -i-backup \
   "/usr/share/alsa-card-profile/mixer/profile-sets/default.conf"

$ systemctl --user restart pipewire-pulse.service

$ pactl list cards | grep iec958 --count
0

Старые версии Ubuntu с PulseAudio

Я удалил профили IEC958 таким образом на своей текущей установке Ubuntu 21.04:

$ pactl list cards | grep iec958 --count
29

$ sudo sed -e '/\[Mapping iec958-stereo\]/,+5 s/^/#/' \
   -i-backup \
   "/usr/share/pulseaudio/alsa-mixer/profile-sets/default.conf"

$ systemctl --user restart pulseaudio.service

$ pactl list cards | grep iec958 --count
0

Я использую sed, чтобы найти строку, содержащую [Mapping iec958-stereo], и 5 строк после нее, чтобы закомментировать их (добавить # в начале). Я также создаю файл с именем default.conf-backup, потому что обычно все становится запутанным, и мы не хотим искать и переустанавливать соответствующий пакет. После этого я перезапускаю PulseAudio для текущего пользователя. Приложения должны продолжать воспроизводить звук без необходимости их закрывать и снова открывать, если использовать systemctl --user вместо pulseaudio -k. Команды pactl показывают, что в моей конфигурации было 29 записей до и 0 после этого. Когда я открываю настройки звука Gnome, у меня нет интерфейсов S/PDIF. Что именно я и хотел.

Некоторые люди могут утверждать, что мне следовало создать /usr/local/share/pulseaudio/alsa-mixer/profile-sets/default.conf вместо этого. Но это не сработало.

Ответ или решение

Для пользователей операционных систем на базе Ubuntu, столкнувшихся с проблемой отображения лишних профилей S/PDIF (IEC958) в настройках звука Gnome, существует несколько методов, позволяющих скрыть или удалить ненужные интерфейсы. В зависимости от используемой версии системы (новые версии с PipeWire или старые с PulseAudio), подходы будут различаться. Рассмотрим каждый из них более подробно.

Удаление профилей S/PDIF в Gnome с использованием PipeWire

Если вы используете более новые версии Ubuntu, которые применяют PipeWire вместо PulseAudio, выполните следующие шаги:

  1. Проверьте наличие IEC958-профилей:
    Откройте терминал и выполните команду:

    pactl list cards | grep iec958 --count

    Это позволит вам узнать, сколько профилей S/PDIF в данный момент отображается в системе.

  2. Комментарий конфигурации:
    Для скрытия профилей IEC958 выполните следующую команду:

    sudo sed -e '/\[Mapping iec958-stereo\]/,+5 s/^/#/' -i-backup "/usr/share/alsa-card-profile/mixer/profile-sets/default.conf"

    Эта команда использует sed, чтобы закомментировать секцию с настройками S/PDIF в конфигурационном файле. Дополнительно, копия файла будет сохранена с суффиксом -backup, что позволяет сохранить оригинал на случай, если потребуется восстановление.

  3. Перезапустите PipeWire:
    После изменения конфигурации необходимо перезапустить службу PipeWire:

    systemctl --user restart pipewire-pulse.service
  4. Повторная проверка:
    Снова выполните команду для проверки количества профилей:

    pactl list cards | grep iec958 --count

    Вы должны увидеть, что количество профилей стало 0, и интерфейсы S/PDIF исчезли из Gnome.

Удаление профилей S/PDIF в Gnome с использованием PulseAudio

Если у вас более старая версия Ubuntu, где используется PulseAudio, следуйте приведенным ниже инструкциям:

  1. Проверка профилей IEC958:
    Как и в предыдущем случае, сначала проверьте, сколько IEC958-профилей настроено:

    pactl list cards | grep iec958 --count
  2. Комментирование конфигурации:
    Измените файл конфигурации следующим образом:

    sudo sed -e '/\[Mapping iec958-stereo\]/,+5 s/^/#/' -i-backup "/usr/share/pulseaudio/alsa-mixer/profile-sets/default.conf"
  3. Перезапуск PulseAudio:
    Чтобы применить изменения, выполните:

    systemctl --user restart pulseaudio.service
  4. Проверка изменений:
    Проверьте количество активных профилей:

    pactl list cards | grep iec958 --count

    Ожидаемый результат — 0 профилей, которые теперь не должны отображаться в Gnome.

Заключение

Решение проблемы с отображением ненужных S/PDIF интерфейсов в Gnome и PulseAudio или PipeWire не требует сложных манипуляций. Следуя приведенным инструкциям, вы сможете легко скрыть эти интерфейсы, сделав настройки звука более удобными и управляемыми. Обязательно сделайте резервную копию конфигурационных файлов, чтобы в будущем вы могли восстановить предыдущие настройки в случае необходимости.

Оцените материал
Добавить комментарий

Капча загружается...