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?


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.


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.


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.


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.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.