Jak stwierdzić, czy używasz PipeWire w systemie Linux, a nie PulseAudio

Ostatnia aktualizacja: 17/12/2025
Autor: Isaac
  • Korzystać polecenia jak pactl info i inxi -A, aby sprawdzić, czy PipeWire jest aktywnym serwerem.
  • Sprawdź status usług, takich jak pipewire, wireplumber i pulseaudio za pomocą systemctl --user status.
  • Dystrybucje takie jak Debian 12 i Fedora używają już domyślnie PipeWire, natomiast w Ubuntu lub Arch trzeba to ręcznie dostosować.
  • Wyłączenie i zamaskowanie PulseAudio pozwala uniknąć konfliktów, gdy chcesz, aby PipeWire obsługiwał cały dźwięk.

Sprawdź PipeWire na Linuksie

W ostatnich latach dźwięk w systemie GNU/Linux znacząco się rozwinął dzięki PipeWire, PulseAudio, JACK i ALSA . Nie zawsze jest oczywiste, który demon obsługuje dźwięk w systemie. Czasami instalujemy nową dystrybucję i wszystko brzmi dobrze, ale nie jesteśmy pewni, jaki serwer działa pod spodem ani jak to wiarygodnie sprawdzić.

Jeśli zastanawiasz się, jak sprawdzić, czy używasz PipeWire w systemie Linux , czy PulseAudio nadal działa, a nawet czy oba programy działają jednocześnie, nie zdając sobie z tego sprawy, ten przewodnik zapewni Ci szczegółowe wyjaśnienie. Znajdziesz praktyczne polecenia, przykłady dla systemów Debian, Ubuntu, Arch, Manjaro i Fedora oraz wskazówki, jak bezproblemowo przełączać się między PulseAudio a PipeWire (i odwrotnie).

Podstawowe koncepcje: ALSA, PulseAudio, JACK i PipeWire

Zanim zaczniemy wydawać polecenia, ważne jest zrozumienie roli każdej warstwy w stosie dźwiękowym Linuxa, ponieważ wiele pytań pojawia się właśnie podczas mieszania tych terminów, jakby były takie same.

Po pierwsze, istnieje ALSA, która jest częścią jądra Linuksa i odpowiada za bezpośrednią komunikację ze sprzętem dźwiękowym . ALSA dostarcza niezbędne sterowniki i oprogramowanie układowe do działania karty lub układu dźwiękowego; dlatego nie jest zastępowana przez PipeWire ani żaden inny serwer.

PulseAudio od lat jest używany jako serwer dźwięku na komputerze stacjonarnym , bazujący na systemie ALSA , zazwyczaj odpowiedzialny za miksowanie różnych aplikacji, sterowanie głośnością globalną, zarządzanie profilami wyjściowymi, Bluetooth itp. Od dawna jest standardem w większości dystrybucji.

W środowiskach profesjonalnych lub o niskim opóźnieniu, JACK wchodzi do gry – serwer audio przeznaczony dla studiów, muzyków i producentów . JACK jest wysoce zoptymalizowany pod kątem bardzo niskiego opóźnienia i złożonego routingu, ale historycznie jego konfiguracja dla przeciętnego użytkownika była nieco bardziej uciążliwa.

Do tego wszystkiego dochodzi PipeWire, nowoczesny serwer multimedialny, który łączy dźwięk i obraz . Nie tylko zastępuje PulseAudio i JACK, ale jest również zaprojektowany do obsługi zrzutów ekranu, kamer i strumieni wideo, oferując ulepszone zabezpieczenia dla środowisk Wayland i aplikacji konteneryzowanych, takich jak Flatpak.

Czym właściwie jest PipeWire i dlaczego tak wiele dystrybucji z niego korzysta?

PipeWire początkowo był serwerem strumieniowania multimediów, przeznaczonym do wideo i screencastingu , a następnie ewoluował w wydajny serwer audio. Jego rozwój jest ściśle powiązany z ekosystemami Red Hat, GNOME, systemd i Flatpak, a Fedora była jedną z pierwszych dystrybucji, które szeroko go wdrożyły.

Początkowo projekt opierał się na pomysłach takich jak PulseVideo, niewielki serwer dystrybuujący wideo z kamer V4L2 do różnych aplikacji za pomocą GStreamera, D-Bus i przekazywania deskryptorów plików. Z czasem stało się jasne, że to podejście można rozszerzyć na przechwytywanie ekranu w systemie Wayland, dodając bezpieczeństwo i kontrolę uprawnień poprzez portale dla odizolowanych aplikacji.

Aby obsłużyć dźwięk, PipeWire musiał przejść gruntowne przeróbki, aby stać się pełnoprawnym serwerem multimedialnym , zdolnym do zarządzania zarówno urządzeniami wideo, jak i strumieniami dźwięku oraz umożliwiającym klientom elastyczne dostarczanie i odbieranie strumieni.

Jednym z głównych celów PipeWire jest zaoferowanie serwera audio na Linuksie, który spełniałby profesjonalne standardy , redukował opóźnienia, spójnie integrował PulseAudio i JACK oraz zapewniał kompatybilność z Bluetooth, aplikacjami komputerowymi i narzędziami do produkcji muzyki.

Co więcej, PipeWire jest ściśle zintegrowany z GNOME i Wayland, umożliwiając udostępnianie i nagrywanie ekranu . Na przykład powłoka GNOME wysyła strumień wideo do PipeWire, gdy użytkownik udostępnia swój ekran, a strumień ten jest kierowany do aplikacji takich jak Firefox, Chrome/Chromium lub OBS Studio za pośrednictwem bezpiecznych portali.

PipeWire jako zamiennik PulseAudio i JACK

Jednym z kluczy do sukcesu PipeWire jest emulowanie interfejsów API PulseAudio i JACK , dzięki czemu wiele aplikacji może funkcjonować bez zmian, łącząc się jednocześnie z PipeWire.

  Jak zalogować się do systemu Windows 11 za pomocą czytnika linii papilarnych USB

W przypadku dźwięku na komputerach stacjonarnych, PipeWire może pełnić funkcję serwera PulseAudio dzięki komponentowi pipewire-pulse . Aplikacje stwarzają iluzję komunikacji z PulseAudio, ale strumienie danych ostatecznie trafiają do PipeWire, co znajduje odzwierciedlenie na przykład w wynikach niektórych poleceń diagnostycznych.

Dla profesjonalnych użytkowników audio, PipeWire oferuje obsługę JACK poprzez dedykowane moduły i biblioteki . W niektórych dystrybucjach są one zarządzane jako pakiety, takie jak pipewire-jack , lub poprzez konfiguracje, które zastępują biblioteki JACK w czasie wykonywania, ukierunkowane na zaplecze PipeWire.

Należy zauważyć, że PipeWire nie zastępuje ALSA, ponieważ ALSA pozostaje niezbędna dla jądra do dostępu do sprzętu. PipeWire wykorzystuje ALSA do komunikacji z kartami dźwiękowymi, podobnie jak PulseAudio i JACK.

W wielu nowoczesnych dystrybucjach, takich jak najnowsze wydania Debian 12 Bookworm czy Fedora, PipeWire jest już domyślnym serwerem dźwięku . W innych, takich jak Ubuntu 22.04 LTS czy Linux Mint 21.x, można go włączyć zamiast PulseAudio, wykonując kilka dodatkowych kroków.

Jak sprawdzić, czy używasz PipeWire: metody uniwersalne

Najbardziej bezpośrednią metodą sprawdzenia, z którego serwera audio korzystasz, jest zapoznanie się z informacjami udostępnianymi przez API PulseAudio, albo rzeczywistemu demonowi PulseAudio, albo jego zamiennikowi w PipeWire.

Bardzo użytecznym poleceniem jest pactl info, który wyświetla dane z serwera dźwiękuZawsze uruchamiaj go jako zwykły użytkownik (bez sudo):

$ pactl info

W wynikach spójrz na wiersz „Nazwa serwera” . Jeśli zobaczysz coś podobnego do:

Nombre del servidor: PulseAudio (on PipeWire 0.3.65)

Oznacza to, że Twoje aplikacje łączą się z API PulseAudio, ale serwerem faktycznie obsługującym dźwięk jest PipeWire w określonej wersji. Możesz również określić te informacje bezpośrednio za pomocą:

$ pactl info | grep 'Nombre del servidor'

Jeśli zamiast tego widzisz tylko „PulseAudio” bez żadnej wzmianki o PipeWire , normalne jest dalsze używanie czystego PulseAudio jako głównego serwera dźwięku.

Innym bardzo praktycznym poleceniem jest inxi -Aktóry oferuje podsumowanie audio Jeśli masz zainstalowany ten program, spójrz na pole w sekcji audio. Serwer-1Jeśli oznacza to coś takiego:

Server-1: PipeWire v: 0.3.65 status: active

Oczywiste jest, że PipeWire jest aktywny i skonfigurowany jako serwer główny . Jeśli zamiast tego wymieniony zostanie PulseAudio, system nadal będzie korzystał z serwera klasycznego.

Sprawdź usługi PipeWire i PulseAudio za pomocą systemd

Innym sposobem sprawdzenia, co jest uruchomione, jest sprawdzenie usług użytkownika systemd , ponieważ zarówno PulseAudio, jak i PipeWire zwykle uruchamiają się w sesji użytkownika, a nie jako root.

Aby wyświetlić status PulseAudio w systemach zarządzanych za pomocą systemd, możesz użyć:

$ systemctl --user status pulseaudio

Jeśli na wyjściu usługa jest wyświetlana jako „aktywny (uruchomiony)” i widzisz proces /usr/bin/pulseaudioOznacza to, że PulseAudio jest uruchomiony. Często jest on uruchamiany przez gniazdo. pulseaudio.socket, która uruchamia usługę na żądanie.

W przypadku PipeWire odpowiednikiem polecenia byłoby:

$ systemctl --user status pipewire

Jeśli wygląda to tak „aktywny (działający)” z /usr/bin/pipewire A co więcej, on to wyrzucił pipewire.socketMasz uruchomioną aplikację PipeWire dla swojego użytkownika. To częste zjawisko w systemach, które pomyślnie przeszły migrację. PipeWire i PulseAudio wyłączone lub zamaskowane.

W niektórych scenariuszach, zwłaszcza po eksperymentowaniu z pakietami i skryptami, może się zdarzyć, że PipeWire i PulseAudio będą działać jednocześnie . Na przykład, jeśli pakiety zastępcze nie zostały poprawnie skonfigurowane, obie usługi mogą być aktywne w Arch lub Manjaro. Może to prowadzić do nietypowych zachowań, dlatego najlepiej wybrać tylko jeden serwer jako serwer główny.

Jak sprawdzić, z którego serwera korzysta Twoja dystrybucja: praktyczne przykłady

W zależności od używanej dystrybucji, stan domyślny może się znacznie różnić . Przyjrzyjmy się najczęstszym przypadkom, aby mieć jasność, czego można się spodziewać w każdym z nich.

Debian 12 Mól książkowy

W Debianie 12 domyślnym serwerem dźwięku dla nowych instalacji jest PipeWire 0.3.65 . Sam instalator zajmuje się konfiguracją, więc po czystej instalacji nie ma potrzeby niczego zmieniać.

Jeśli zaktualizowałeś system z Debiana 11 i coś nie działa poprawnie, być może nadal używasz PulseAudio jako aktywnego serwera lub brakuje komponentów takich jak Wireplumber . Dlatego tak ważne jest, aby najpierw sprawdzić aktualny stan za pomocą poleceń wymienionych wcześniej.

  Jak przeprowadzić migrację z systemu Windows do Linuksa za pomocą Operese: kompletny przewodnik bez utraty czegokolwiek

Jako zwykły użytkownik uruchom:

$ pactl info | grep 'Nombre del servidor'

Jeśli widzisz „ PulseAudio (w PipeWire 0.3.65) ”, używasz podstawowej wersji PipeWire. Aby uzyskać dalsze informacje, sprawdź również:

$ inxi -A

Jeśli PipeWire jest wymieniony jako aktywny na Serwerze-1 , migracja jest zakończona. Jeśli nadal widzisz PulseAudio, musisz zainstalować lub dostosować niezbędne pakiety.

Minimalne komponenty funkcjonalnego PipeWire w systemie Debian 12 obejmują pakiety takie jak:

  • rura
  • pojemnik na rury
  • impuls rurowy
  • libpipewire-0.3-modules
  • hydraulik
  • libwireplumber-0.4-0
  • liblua5.3-0

Zalecaną metodą jest instalacja metapakietu pipewire-audio, który zależy od wireplumber, pipewire-pulse, pipewire-alsa i libspa-0.2-bluetooth, a przy okazji dba o usunięcie PulseAudio, aby uniknąć konfliktów między oboma serwerami.

Po zainstalowaniu pakietów możesz uruchomić i aktywować usługi PipeWire ze swojego konta użytkownika za pomocą:

$ systemctl --user --now enable pipewire pipewire-pulse
$ systemctl --user daemon-reload

I całkowicie wyłącz PulseAudio , aby nie powodowało zakłóceń:

$ systemctl --user --now disable pulseaudio.service pulseaudio.socket
$ systemctl --user mask pulseaudio

Po ponownym uruchomieniu lub wylogowaniu i ponownym zalogowaniu uruchom ponownie pactl info | grep 'Nombre del servidor' aby potwierdzić, że serwer jest teraz widoczny na PipeWire jako PulseAudio.

Ubuntu 22.04 LTS i Linux Mint 21.x

W Ubuntu 22.04 LTS i Linux Mint 21.x PulseAudio pozostaje domyślnym serwerem dźwięku w wielu instalacjach, chociaż dostępny jest PipeWire, który można włączyć jako zamiennik.

Jeśli Twoim celem jest korzystanie z PipeWire w systemie do odtwarzania dźwięku, musisz zainstalować kilka pakietów związanych z PipeWire i WirePlumber . Zacznij od aktualizacji systemu:

sudo apt update && sudo apt upgrade -y

Następnie zainstaluj PipeWire i moduły kompatybilności:

sudo apt install pipewire pipewire-audio-client-libraries pipewire-pulse pipewire-jack libspa-0.2-bluetooth -y

Następnie zainstaluj WirePlumber, zalecany menedżer sesji dla PipeWire:

sudo apt install wireplumber -y

Gdy już to masz, możesz Wyłącz PulseAudio i włącz PipeWire jako serwer główny. za pomocą tych poleceń (jako Twój użytkownik, bez sudo przed systemctl –user):

systemctl --user --now disable pulseaudio.service pulseaudio.socket
systemctl --user mask pulseaudio
systemctl --user --now enable pipewire pipewire-pulse

Po ponownym uruchomieniu systemu za pomocą:

sudo reboot

Sprawdź usługi :

systemctl --user status pipewire
systemctl --user status wireplumber

Jeśli oba są aktywne, już je masz PipeWire i WirePlumber zajmują się dźwiękiemNa koniec potwierdź za pomocą pactl info że nazwa serwera wskazuje PulseAudio (na PipeWire …).

Arch Linux i Manjaro

W Arch i pochodnych, np. Manjaro, dość łatwo jest pozbyć się PulseAudio i PipeWire za jednym razem, jeśli nie trzymasz się jasnego planu , zwłaszcza jeśli Twoja instalacja zawierała JACK-a i niestandardowe skrypty.

Jeśli chcesz przejść na PipeWire w Manjaro i zrezygnować z PulseAudio, typową strategią jest odinstalowanie PulseAudio i dodanie odpowiednich pakietów PipeWire . Na przykład:

sudo pacman -Rdd pulseaudio

Opcja -Rdd zapobiega przeciąganiu zależności, które mogłyby uszkodzić inne pakiety , dlatego należy jej używać ostrożnie. Następnie zainstaluj PipeWire i jego moduły:

sudo pacman -S pipewire pipewire-alsa pipewire-jack pipewire-media-session pipewire-pulse

W niektórych profesjonalnych konfiguracjach zorientowanych na dźwięk może to również wchodzić w grę pipewire-jack-dropin z AUR, który jest instalowany z pomocnikiem takim jak yay:

yay -S pipewire-jack-dropin

Po ponownym uruchomieniu powinieneś mieć PipeWire obsługuje ALSA, JACK i PulseAudioAby sprawdzić, użyj go ponownie. pactl info y systemctl --user status pipewirei sprawdź, czy PulseAudio nie jest nadal uruchomiony równolegle.

Jeśli wcześniej korzystałeś ze skryptów uruchamiających JACK-a przy logowaniu lub miałeś niestandardowe reguły przełączania między różnymi interfejsami audio, zaleca się wyłączenie tych skryptów w celu uniknięcia konfliktów , ponieważ PipeWire może automatycznie emulować JACK-a, gdy klient tego potrzebuje, i błyskawicznie przełączać karty dźwiękowe bez żadnych dodatkowych obejść.

Fedora i rola PipeWire w GNOME

W systemie Fedora PipeWire pojawił się najpierw jako rozwiązanie do nagrywania ekranu w systemie Wayland , a stopniowo zaczął pełnić również rolę serwera audio, zastępując PulseAudio i ułatwiając udostępnianie ekranu w przeglądarkach i aplikacjach do nagrywania.

GNOME Shell generuje strumień wideo, który wysyła do PipeWire podczas udostępniania ekranu . Strumień ten jest następnie przesyłany do aplikacji takich jak Firefox, Chrome/Chromium czy OBS Studio za pomocą interfejsów API portalu. Dodatkowo, sterowanie głośnością widoczne w GNOME komunikuje się z PipeWire za pomocą interfejsu API PulseAudio.

W obecnych systemach Fedora, jeśli uruchomisz pactl info Zobaczysz, że serwerem jest PulseAudio nad PipeWire.I systemctl --user status pipewire potwierdzi, że PipeWire jest aktywny jako usługa użytkownika.

  Najlepszy sposób na wysyłanie e-maili z iPhone'a i iPada

Menedżerowie sesji: pipewire-media-session i WirePlumber

Aby PipeWire działało prawidłowo, potrzebny jest menedżer sesji , który odpowiada za podejmowanie decyzji, z którego urządzenia korzystać, w jaki sposób kierować przepływy, w jaki sposób zarządzać profilami Bluetooth itd. Obecnie dostępne są dwie główne opcje.

Z jednej strony mamy pipewire-media-session, który oferuje podstawową funkcjonalność , skupiającą się głównie na udostępnianiu ekranu i niczym więcej. Był on używany we wcześniejszych wersjach i w środowiskach o prostych wymaganiach.

Z drugiej strony mamy WirePlumber, który jest rekomendowanym menedżerem sesji w nowoczesnych dystrybucjach . WirePlumber oferuje bardziej zaawansowane polityki, lepszą obsługę Bluetooth, automatyczne przełączanie profili i bardziej elastyczną konfigurację dla złożonych środowisk graficznych.

Na przykład w dystrybucji Debian 12 zainstalowanie pakietu wireplumber powoduje zastąpienie starego pakietu pipewire-media-session i konieczne będzie włączenie go jako usługi użytkownika za pomocą polecenia:

$ systemctl --user --now enable wireplumber.service

Korzystając z WirePlumbera, nie trzeba już tworzyć pewnych pustych plików, które były wymagane w starszych konfiguracjach sesji multimedialnych, takich jak te związane z warstwą JACK; nowoczesny menedżer dba o to w sposób bardziej automatyczny.

Dodatkowa konfiguracja: ALSA, JACK i Bluetooth z PipeWire

Mimo że PipeWire centralizuje dźwięk, kluczową rolę w kontroli poziomu odgrywa ALSA.Dobrą praktyką jest otwieranie alsamixer en terminal i sprawdź, czy wszystkie ważne kanały są aktywne i działają na rozsądnym poziomie.

W alsamixer pojawia się wyciszony kanał z Pod paskiem pojawia się „MM”, natomiast aktywny kanał wyświetla „OO”Możesz przełączać się między włączaniem i wyłączaniem, naciskając klawisz MNawet jeśli PipeWire pokazuje maksymalną głośność, jeśli ALSA ustawi kanał na minimalną głośność lub wyciszy go, nic nie usłyszysz.

Dla profesjonalnych użytkowników audio PipeWire może pełnić rolę serwera JACK, korzystając z pakietów takich jak pipewire-jack lub libspa-0.2-jack . W niektórych przypadkach używa się poleceń takich jak:

# cp /usr/share/doc/pipewire/examples/ld.so.conf.d/pipewire-jack-*.conf /etc/ld.so.conf.d/
# ldconfig

Dzięki temu biblioteki JACK zostaną zastąpione bibliotekami PipeWire w czasie wykonywania , wskazując katalog, w którym znajdują się moduły PipeWire JACK. Dzięki temu aplikacje będą mogły nadal korzystać z interfejsu API JACK, ale w silniku PipeWire.

W obszarze Bluetooth , PipeWire współpracuje z BlueZ, aby oferować słuchawki kompatybilne z Bluetooth LE Audio , używane jako zamiennik PulseAudio . W dystrybucjach takich jak Debian, często konieczna jest instalacja pakietów takich jak libspa-0.2-bluetooth i usunięcie pulseaudio-module-bluetooth, aby uniknąć błędu „Protokół niedostępny” podczas podłączania urządzeń.

Zaawansowaną konfiguracją Bluetooth w PipeWire zarządza się za pomocą plików takich jak /usr/share/pipewire/media-session.d/bluez-monitor.conf lub ich odpowiedniki, w zależności od menedżera sesji. Aby dostosować kodeki i inne opcje, ten plik jest zazwyczaj kopiowany do:

~/.config/pipewire/media-session.d/bluez-monitor.conf

i edytuj je z poziomu swojego konta użytkownika , bez uprawnień roota, aby dostosować szczegóły bez dotykania globalnych ustawień systemowych.

Jak wyłączyć PulseAudio i używać tylko PipeWire

Jednym z najczęstszych błędów po migracji do PipeWire jest pozostawienie PulseAudio częściowo aktywnego , przez co czasami się uruchamia, a czasami nie, lub aktywuje się przez gniazdo i konkuruje z PipeWire. Aby tego uniknąć, najlepiej całkowicie go wyłączyć.

W systemach z systemem systemd uruchamianym przez użytkownika, często uruchamia się:

$ systemctl --user --now disable pulseaudio.service pulseaudio.socket

I na koniec, w przypadku gdyby PulseAudio z jakiegoś powodu nadal się aktywowało, zamaskuj usługę za pomocą:

$ systemctl --user mask pulseaudio

W wielu przypadkach po ponownym uruchomieniu PulseAudio przestanie się uruchamiać, nawet przypadkowo, a PipeWire przejmie pełną kontrolę . Jeśli chcesz powrócić do poprzedniego działania, po prostu usuń maskę i ponownie włącz PulseAudio.

$ systemctl --user unmask pulseaudio
$ systemctl --user --now enable pulseaudio.service pulseaudio.socket

A jeśli nie chcesz już używać PipeWire do odtwarzania dźwięku, możesz wyłączyć usługi powiązane z PulseAudio :

$ systemctl --user --now disable pipewire pipewire-pulse

brak urządzenia wyjściowego audio
Podobne artykuły:
Rozwiązanie błędu Brak urządzenia wyjściowego audio