Jak naprawić awarię serwera PulseAudio bez ponownego uruchamiania?

7

Na moim Ubuntu 12.04 serwer audio napotyka sporadyczne awarie, więc jestem zmuszony ponownie uruchomić system, aby mógł odtwarzać dźwięk.

Alsamixer wygląda dobrze, nic nie jest wyciszone. Ponadto próbowałem

sudo pkill -9 pulseaudio

i wtedy:

pulseaudio -D

co mi dało

E: [pulseaudio] main.c: Daemon startup failed.

Czy możesz mi pomóc zrozumieć, co jest nie tak?

martina
źródło
Czy możesz spróbować ponownie z -vopcją pulseaudio? Np pulseaudio -v -D. Ostatni błąd powinien pojawić się po kilku innych błędach.
gertvdijk
Zrobiłem to i to samo: pulseaudio -v -DE: [pulseaudio] main.c: Uruchomienie demona nie powiodło się.
martina

Odpowiedzi:

3

Pulseaudio będzie działało dla poszczególnych użytkowników w domyślnej konfiguracji. Dlatego nie potrzebujemy uprawnień roota, aby go zabić.

Po prostu wydaje się polecenie ponownego uruchomienia / zresetowania działającego serwera dźwięku pulseaudio z terminala

pulseaudio -k

Wykonanie czynności na serwerze dźwięku spowoduje automatyczne odrodzenie i natychmiastowe ponowne uruchomienie w ustawieniu domyślnym. Zawsze będziesz otrzymywać błąd, jeśli spróbujesz uruchomić pulseaudio dwa razy.

Aby uruchomić pulseaudio z wiersza poleceń, aby odczytać możliwe błędy, tymczasowo wyłącz autospawning ( szczegółowe informacje na ten temat można znaleźć w tym artykule ).

Czasami złe ustawienie użytkownika jest odpowiedzialne za źle działający serwer dźwięku pulseaudio. Możemy następnie spróbować zmienić nazwę katalogu ustawień ~/.pulse(lub ./config/pulsew nowszych wydaniach) przed ponownym uruchomieniem pulseaudio. Ten katalog zostanie następnie ponownie utworzony z ustawieniami domyślnymi.

Takkat
źródło
No cóż, ok, użyłem polecenia -k, aby go zresetować, bezskutecznie. Mam:> pulseaudio -k i nic nie mówi. Teraz zrobiłem:> ps -e | grep pulseaudio i daje mi:> E: [pulseaudio] pid.c: Daemon już działa. > E: [pulseaudio] main.c: pa_pid_file_create () nie powiodło się. Co więcej, warto dodać, że dźwięk działa, jeśli korzystam ze słuchawek, podczas gdy nie działa ze zwykłymi głośnikami komputera.
martina
1
Być może w jakiś sposób podniósł słuchawki jako domyślny zlew audio. Czy próbowałeś zmienić nazwę / usunąć ~/.[/config/]pulsekatalog? Aby wyświetlić listę dostępnych zlewów, które możesz wydać pacmd list-sinks - czy masz głośniki?
Takkat
1
Dając tę ​​listę, otrzymuję dwie rzeczy: dostępne są 2 zlewy, a są to: nazwa: <alsa_output.pci-0000_00_1b.0.analog-stereo> 09:00:37 PM i nazwa: <alsa_output.pci-0000_01_00 .1. hdmi-stereo>. Chyba są to dwa głośniki komputera?
martina
Tak, brzmi dobrze. Sprawdź także, jakiego profilu używa karta wewnętrzna, pacmd list-cardsgdy głośniki działają, a gdy głośniki nie działają, słuchawki działają. Może to dać dodatkowe wskazówki na temat problemu. (obawiam się, że trudno zdalnie debugować)
Takkat
0

Miałem podobny błąd raz, co zadziałało dla mnie, edytując default.paplik o godz /etc/pulse. Jakoś pierwsza linia była !/usr/bin/pulseaudio -nF, a zamiast tego #!/usr/bin/pulseaudio -nF, po edycji, pulseaudio działało dobrze.

Projjol
źródło
Skomentowałem ten pierwszy wiersz (z hashtagiem). Masz na myśli, że powinienem to odkomentować?
martina
nie, należy to skomentować,
mój
Cóż, mam to poprawnie skomentowane. Usunięcie komentarza spowodowało, że ikona dźwięku w pobliżu zegara nie działa.
martina
0

Co pracował dla mnie było przeniesienie ~/.config/pulsedo ~/.config/pulseold. Ponownie zainstalowałem mój system podstawowy i wydaje się, że pulseaudio ciągle się zawiesza, próbując użyć moich starych konfiguracji.

Avindra Goolcharan
źródło
0

Miałem ten problem - po zabawie wymyśliłem, jak to naprawić, chociaż nadal nie jestem pewien, co jest z tym nie tak.

Najpierw znajdź żądaną kartę i urządzenie i ręcznie wyeksportuj zmienną PULSE_SINK:

$> aplay -l

**** Lista urządzeń sprzętowych PLAYBACK **** karta 0: PCH [HDA Intel PCH], urządzenie 0: ALC269VC Analog [ALC269VC Analog] Urządzenia podrzędne: 1/1
Urządzenie podrzędne # 0: urządzenie podrzędne nr 0 0: PCH [HDA Intel PCH], urządzenie 3: HDMI 0 [HDMI 0] Urządzenia podrzędne: 0/1 Urządzenie podrzędne # 0: urządzenie podrzędne # 0

$>export PULSE_SINK=plughw:0,3
$>killall pulseaudio 
Now you should be able to start pulse.
$> pulseaudio --start

Jeśli nie, sprawdź / etc / puls pod kątem przerwanych łączy symbolicznych i rm -rf ~/.config/pulse.

Następnie ustaw domyślne miejsce, w którym chcesz, zaznacz

$>pacmd list-cards

Po znalezieniu odpowiedniego wyjścia ustaw go jako domyślny:

$> pacmd set-card-profile 0 output:hdmi-stereo

Działa dla mnie na Ubuntu 16.04.

A.Danischewski
źródło