Как отладить проблемы с Pulse Audio?

13

Я установил Ubuntu 11.10 на мою машину. Я вошел как USER_A. Мое внешнее аудиоустройство - это гарнитура, и я смог правильно услышать звук.

Мне нужно присоединить мою машину с Ubuntu к домену окна (мой офисный сервер). Я выполнил действия, описанные в http://www.ghacks.net/2010/04/21/join-a-ubuntu-machine-to-a-windows-domain/, и успешно подключил мою машину с Ubuntu к домену Windows. ,

sudo apt-get install likewise-open5
sudo domainjoin-cli join DOMAIN USER_B

Теперь, когда я вошел в систему как USER_B, на этом компьютере нет звука для этого пользователя.

Я пересек чек с моей учетной записью User_A. Нет проблем со звуком для User_A. Только для User_B нет звука.

Когда я проверил настройки звука для User_B, в списке Hardware, Input and Output не было указано ни одного устройства. Принимая во внимание, что для пользователя А моя гарнитура указана в списке «Вход и выход».

Может кто-нибудь, пожалуйста, помогите мне в этом. Почему нет звука для User_B?

Не могли бы вы рассказать мне немного больше о том, как «Проверить, добавлены ли пользователи в аудиогруппу».

А также, когда я попытался выполнить pulseaudio -k в терминале (от User_B)

E: [pulseaudio] main.c: Failed to kill daemon: No such process

И также я нашел это на пульсе аудио журнала. Когда я бегу:

pulseaudio --log-level=4 --log-target=stderr

Я нашел следующие строки ошибок в моем журнале:

E: [pulseaudio] module-dbus-protocol.c: dbus_server_listen() failed: org.freedesktop.DBus.Error.BadAddress: Abstract socket name too long
E: [pulseaudio] module-dbus-protocol.c: Starting the local D-Bus server failed.
E: [pulseaudio] module.c: Failed to load module "module-dbus-protocol" (argument: ""): initialization failed.
E: [pulseaudio] main.c: Module load failed.
E: [pulseaudio] main.c: Failed to initialize daemon.
Сентил Кумаран
источник
Спасибо за ответ. Только B вошел в мою систему. У него нет звука. Я вышел из B и снова вошел как A. Теперь у A есть звук. В основном у A всегда есть звук, тогда как у B нет звука в той же системе. И даже после перезагрузки В нет звука
Сентил Кумаран
Как я уже говорил, для B гарнитура не указана в звуковых устройствах. Принимая во внимание, что, гарнитура в списке.
Сентил Кумаран
Не могли бы вы рассказать мне немного больше о том, как «Проверить, добавлены ли пользователи в аудиогруппу». А также, когда я попытался выполнить pulseaudio -k в терминале (от User_B) E: [pulseaudio] main.c: Не удалось убить демона: Нет такого процесса
Сентил Кумаран
И также я нашел это на пульсе аудио журнала. Когда я запускаю: pulseaudio --log-level = 4 --log-target = stderr, я обнаружил следующие строки ошибок в своем журнале: E: [pulseaudio] module-dbus-protocol.c: dbus_server_listen () fail: org.freedesktop .DBus.Error.BadAddress: слишком длинное абстрактное имя сокета E: [pulseaudio] module-dbus-protocol.c: сбой при запуске локального сервера D-Bus. E: [pulseaudio] module.c: не удалось загрузить модуль "module-dbus-protocol" (аргумент: ""): инициализация не удалась. E: [pulseaudio] main.c: Ошибка загрузки модуля. E: [pulseaudio] main.c: Не удалось инициализировать демон.
Сентил Кумаран
1
Обобщены комментарии в ответе.
Таккат

Ответы:

16

Этот предварительный ответ суммирует шаги, необходимые для отладки звука, доступного для одного пользователя только в среде, где домены были объединены для этого пользователя. Возможно, потребуется продлить позже.

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

  1. Pulseaudio работает вообще?
    Обычно вы увидите это, имея доступ к звуковому меню в верхней панели. В качестве альтернативы мы можем выполнить следующую команду в терминале:

    pulseaudio -k
    

    Там будет ошибка в случае, если pulseaudio не запускается. Кроме того, эта команда заботится об остановке и возобновлении импульса в случае зависания.

  2. Неправильные ли пользовательские настройки для демона pulseaudio?
    Чтобы проверить это, мы должны переименовать каталог настроек в HOME соответствующего пользователя, а затем перезапустить pulseaudio (см. 1. ):

    mv ~/.pulse ~/.pulse.bad
    

    или

    mv ~/.config/pulse ~/.config/pulse.bad  ## for newer releases
    
  3. Отключены ли каналы от ALSA?
    Мы можем открыть alsamixer в терминале, чтобы отрегулировать громкость канала и включить звук канала, если он был случайно отключен:

    alsamixer
    
  4. Убедитесь, что пользователи не входят в группу «audio»
    . Пользователь в audioгруппе имеет эксклюзивный доступ к серверу pulseaudio. Другие пользователи не могут получить к нему доступ, пока этот пользователь его использует. Поэтому пользователь не должен быть в audioгруппе.

  5. Запустите Pulseaudio вручную.
    Если pulseaudio не был запущен, мы также можем запустить демон из командной строки с помощью

    pulseaudio -D
    

    Затем Pulseaudio использует настройки по умолчанию и запускает своего демона. Мы также можем поместить эту команду в наши приложения автозапуска, чтобы преодолеть случай, когда pulseaudio не запускается до загрузки рабочего стола.

  6. Просмотр файлов журнала
    Pulseaudio будет загружен при запуске системы и при входе пользователя в систему. Поэтому ошибки могут быть прочитаны только из журнала, генерирующего при запуске pulseaudio. Смотрите это руководство о том, как сгенерировать скрипт журнала pulsaudio . Короче говоря, мы должны позаботиться о том, чтобы pulseaudio не возрождается, мы можем запустить его в подробном режиме:

    pulseaudio -vvvv <options>
    

должен быть завершен


В случае, приведенном в вопросе, мы могли видеть, что pulseaudio не запускается из-за невозможности запуска службы D-Bus. Это может быть вызвано неправильным или слишком длинным путем к ДОМАШНЕМУ пользователю ( см. Ошибку # 872992 ). В качестве обходного пути мы можем выдать pulseaudio без контроля D-Bus, закомментировав следующую строку /etc/pulse/default.paследующим образом:

# load-module module-dbus-protocol

Однако тогда мы (и наши приложения) не сможем управлять pulaudio с помощью D-Bus.

Takkat
источник
Ubuntu 17.10, все еще актуальная процедура. Это помогло мне.
Харипрасад
Я не совсем уверен, что сделал исправить. Это то, что я пытался. Создал папку .pulseв домашней папке. Символическое связано с .config. ln -s /home/<user>/.pulse /home/<user>/.config/pulse, Поскольку я использовал i3, добавил, exec /usr/bin/pulseaudio --start --log-target=syslogчтобы запускать pulseaudio при запуске. (Ubuntu 18.04)
Хари К.Т.
2

в моей системе Debian я смог заставить это работать после того, как, по совету кого-то умнее меня, скопировал (как root) файлы $ HOME / .pulse / и $ HOME / .pulse-cookie из $ USER_A в $ USER_B, используя chownих соответствующим образом.

jcomeau_ictx
источник
Спасибо! Это решило мою проблему, как указано здесь: askubuntu.com/questions/752574/…
Джошуа Фокс,