Вопрос или проблема
Хотя на моем компьютере больше нет интерфейсов 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, выполните следующие шаги:
-
Проверьте наличие IEC958-профилей:
Откройте терминал и выполните команду:pactl list cards | grep iec958 --count
Это позволит вам узнать, сколько профилей S/PDIF в данный момент отображается в системе.
-
Комментарий конфигурации:
Для скрытия профилей 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
, что позволяет сохранить оригинал на случай, если потребуется восстановление. -
Перезапустите PipeWire:
После изменения конфигурации необходимо перезапустить службу PipeWire:systemctl --user restart pipewire-pulse.service
-
Повторная проверка:
Снова выполните команду для проверки количества профилей:pactl list cards | grep iec958 --count
Вы должны увидеть, что количество профилей стало 0, и интерфейсы S/PDIF исчезли из Gnome.
Удаление профилей S/PDIF в Gnome с использованием PulseAudio
Если у вас более старая версия Ubuntu, где используется PulseAudio, следуйте приведенным ниже инструкциям:
-
Проверка профилей IEC958:
Как и в предыдущем случае, сначала проверьте, сколько IEC958-профилей настроено:pactl list cards | grep iec958 --count
-
Комментирование конфигурации:
Измените файл конфигурации следующим образом:sudo sed -e '/\[Mapping iec958-stereo\]/,+5 s/^/#/' -i-backup "/usr/share/pulseaudio/alsa-mixer/profile-sets/default.conf"
-
Перезапуск PulseAudio:
Чтобы применить изменения, выполните:systemctl --user restart pulseaudio.service
-
Проверка изменений:
Проверьте количество активных профилей:pactl list cards | grep iec958 --count
Ожидаемый результат — 0 профилей, которые теперь не должны отображаться в Gnome.
Заключение
Решение проблемы с отображением ненужных S/PDIF интерфейсов в Gnome и PulseAudio или PipeWire не требует сложных манипуляций. Следуя приведенным инструкциям, вы сможете легко скрыть эти интерфейсы, сделав настройки звука более удобными и управляемыми. Обязательно сделайте резервную копию конфигурационных файлов, чтобы в будущем вы могли восстановить предыдущие настройки в случае необходимости.