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

Я установил 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.

2 ответа

Решение

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

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

  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 группа имеет эксклюзивный доступ к серверу pulseaudio. Другие пользователи не могут получить к нему доступ, пока этот пользователь его использует. Поэтому пользователь не должен быть в audio группа.

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

    pulseaudio -D
    

    Затем Pulseaudio использует настройки по умолчанию и запускает своего демона. We can also put this command to our Autostart Applications to overcome the case when pulseaudio fails to run before the desktop was loaded.

  6. Browse log files
    Pulseaudio will be loaded on system start up, and on user login. Therefore errors can only be read from a log generating on starting pulseaudio. See this guide on how to generate a pulsaudio log script. In short, we have to take care pulseaudio does not respawn we may run it in verbose mode:

    pulseaudio -vvvv <options>
    

to be completed


In the case given in the question we could see that pulseaudio fails to run because it was unable to start the D-Bus service. This may likely be caused by a broken or overlong path to the user's HOME ( see bug #872992). As a workaround we may issue pulseaudio without D-Bus control by commenting out the following line in /etc/pulse/default.pa как это:

# load-module module-dbus-protocol

However then we (and our applications) will not be able to control pulseaudio using D-Bus.

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

Другие вопросы по тегам