Jak debugować problemy z Pulse Audio?

13

Zainstalowałem Ubuntu 11.10 na moim komputerze. Zalogowałem się jako USER_A. Moje zewnętrzne urządzenie audio to zestaw słuchawkowy i mogłem prawidłowo usłyszeć dźwięk.

Muszę dołączyć moją maszynę Ubuntu do domeny okna (mój serwer biurowy). Postępowałem zgodnie z instrukcjami opisanymi w http://www.ghacks.net/2010/04/21/join-a-ubuntu-machine-to-a-windows-domain/ i udało mi się dołączyć moją maszynę ubuntu do domeny Windows .

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

Teraz, gdy loguję się jako USER_B, nie ma dźwięku dla tego użytkownika na tym samym komputerze.

Przekroczyłem czek z moim kontem User_A. Nie ma problemów z dźwiękiem dla User_A. Tylko dla User_B nie ma dźwięku.

Kiedy sprawdziłem ustawienia dźwięku User_B, nie ma żadnego urządzenia wymienionego na Sprzęt, Wejście i Wyjście. Natomiast w przypadku użytkownika A mój zestaw słuchawkowy znajduje się na liście Wejścia i wyjścia.

Czy ktoś może mi w tym pomóc. Dlaczego nie ma dźwięku dla User_B?

Czy możesz mi powiedzieć nieco więcej o tym, jak „Sprawdź, czy użytkownicy są dodawani do grupy audio”.

A także kiedy próbowałem uruchomić pulseaudio -k w terminalu (z User_B)

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

I też znalazłem to w dzienniku audio puls. Kiedy biegnę:

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

W moim dzienniku znalazłem następujące linie błędów:

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.
Senthil Kumaran
źródło
Dziękuję za odpowiedź. Tylko B jest zalogowany do mojego systemu. On nie ma dźwięku. Wylogowuję się z B i ponownie loguję jako A. Teraz A ma dźwięk. Zasadniczo A zawsze ma dźwięk, podczas gdy B nie ma dźwięku w tym samym systemie. I nawet po ponownym uruchomieniu B nie ma dźwięku
Senthil Kumaran
Jak już powiedziałem wcześniej, w przypadku B zestaw słuchawkowy nie jest wymieniony w urządzeniach dźwiękowych. W przypadku A zestaw słuchawkowy znajduje się na liście.
Senthil Kumaran
Czy możesz mi powiedzieć nieco więcej o tym, jak „Sprawdź, czy użytkownicy są dodawani do grupy audio”. A także kiedy próbowałem uruchomić pulseaudio -k w terminalu (z User_B) E: [pulseaudio] main.c: Nie udało się zabić demona: Brak takiego procesu
Senthil Kumaran
I też znalazłem to w dzienniku audio puls. Kiedy uruchamiam: pulseaudio --log-level = 4 --log-target = stderr W moim dzienniku znalazłem następujące linie błędów: E: [pulseaudio] module-dbus-protocol.c: dbus_server_listen () failed: org.freedesktop .DBus.Error.BadAddress: Zbyt długa abstrakcyjna nazwa gniazda E: [pulseaudio] module-dbus-protocol.c: Uruchomienie lokalnego serwera D-Bus nie powiodło się. E: [pulseaudio] module.c: Nie można załadować modułu „module-dbus-protokół” (argument: „”): inicjalizacja nie powiodła się. E: [pulseaudio] main.c: Ładowanie modułu nie powiodło się. E: [pulseaudio] main.c: Inicjowanie demona nie powiodło się.
Senthil Kumaran
1
Podsumował komentarze w odpowiedzi.
Takkat

Odpowiedzi:

16

Ta wstępna odpowiedź podsumowuje etapy debugowania dźwięku dostępnego tylko dla jednego użytkownika w środowisku, w którym przyłączono domeny dla tego użytkownika. Może to wymagać późniejszego przedłużenia.

Jeśli mamy dźwięk tylko dla jednego użytkownika, możemy mieć złą konfigurację w ustawieniach tego konta. Musimy wykonać następujące kroki z konta użytkownika, którego dotyczy problem, aby uzyskać więcej informacji na temat problemu.

  1. Czy pulseaudio w ogóle działa?
    Zwykle widać to po uzyskaniu dostępu do menu dźwięku na górnym pasku. Alternatywnie możemy wydać następujące polecenie w terminalu:

    pulseaudio -k
    

    Wystąpi błąd, jeśli pulseaudio nie uruchomi się. Ponadto to polecenie dba o zatrzymanie i odrodzenie pulseaudio w przypadku zawieszenia.

  2. Czy są złe ustawienia użytkownika dla demona pulseaudio?
    Aby to przetestować, musimy zmienić nazwę katalogu ustawień w HOME użytkownika, którego dotyczy problem, a następnie ponownie uruchomić pulseaudio (patrz 1. ):

    mv ~/.pulse ~/.pulse.bad
    

    lub

    mv ~/.config/pulse ~/.config/pulse.bad  ## for newer releases
    
  3. Czy kanały są wyciszone z ALSA?
    Możemy otworzyć alsamixer w terminalu, aby wyregulować głośność kanału i wyłączyć wyciszenie kanału, na wypadek, gdyby został przypadkowo wyciszony:

    alsamixer
    
  4. Upewnij się, że użytkownicy nie są w grupie „audio”
    Użytkownik w audiogrupie ma wyłączny dostęp do serwera pulseaudio. Inni użytkownicy nie mogą uzyskać do niego dostępu, gdy ten użytkownik z niego korzysta. Dlatego użytkownik nie powinien być w audiogrupie.

  5. Uruchom Pulseaudio ręcznie
    W przypadku, gdy pulseaudio nie było uruchomione, możemy również uruchomić demona z linii poleceń

    pulseaudio -D
    

    Pulseaudio następnie używa ustawień domyślnych i uruchamia demona. Możemy również umieścić to polecenie w naszych aplikacjach autostartu, aby rozwiązać problem, gdy pulseaudio nie działa przed załadowaniem pulpitu.

  6. Przeglądaj pliki dziennika
    Pulseaudio zostanie załadowany przy uruchomieniu systemu i przy logowaniu użytkownika. Dlatego błędy można odczytać tylko z dziennika generującego przy uruchomieniu pulseaudio. Zobacz ten przewodnik, jak wygenerować skrypt dziennika pulsaudio . Krótko mówiąc, musimy uważać, aby pulseaudio nie odradzało się, możemy uruchomić go w trybie pełnym:

    pulseaudio -vvvv <options>
    

do uzupełnienia


W przypadku podanym w pytaniu widzieliśmy, że pulseaudio nie działa, ponieważ nie mógł uruchomić usługi D-Bus. Może to być prawdopodobnie spowodowane uszkodzoną lub zbyt długą ścieżką do DOMU użytkownika ( patrz błąd # 872992 ). Aby obejść ten problem, możemy wydać pulseaudio bez kontroli D-Bus, komentując następujący wiersz w /etc/pulse/default.panastępujący sposób:

# load-module module-dbus-protocol

Jednak wtedy my (i nasze aplikacje) nie będziemy w stanie kontrolować pulseaudio za pomocą D-Bus.

Takkat
źródło
Ubuntu 17.10, wciąż aktualna procedura. Pomogło mi to.
hariprasad
Nie jestem do końca pewien, co spowodowało naprawę. Oto, co próbowałem. Utworzono folder .pulsew folderze domowym. Symboliczny powiązany z .config. ln -s /home/<user>/.pulse /home/<user>/.config/pulse. Ponieważ korzystałem z i3, dodano, exec /usr/bin/pulseaudio --start --log-target=syslogaby uruchomić pulseaudio przy starcie. (Ubuntu 18.04)
Hari KT
2

w moim systemie Debian udało mi się to uruchomić po, za radą kogoś mądrzejszego ode mnie, kopiowaniu (jako root) plików $ HOME / .pulse / folder i $ HOME / .pulse-cookie z $ USER_A na $ USER_B, chownodpowiednio je wprowadzając.

jcomeau_ictx
źródło
Dziękuję Ci! To rozwiązało mój problem, jak stwierdzono tutaj: askubuntu.com/questions/752574/…
Joshua Fox