LibreSpot to nieoficjalny, otwarto‑źródłowy klient Spotify Connect, który pozwala odtwarzać muzykę Spotify w tle – bez graficznej aplikacji, z poziomu terminala, na praktycznie dowolnym Linuksie.
- 1. Czym jest LibreSpot i po co go używać?
- 2. LibreSpot, ncspot, spotifyd – krótkie porównanie
- 3. Instalacja LibreSpot na popularnych dystrybucjach
- 4. Podstawowe uruchomienie z terminala
- 5. Przydatne opcje LibreSpot
- 6. Autostart jako usługa systemd (desktop / serwer)
- 7. Integracja z udev – LibreSpot startujący po podłączeniu karty USB
- 8. Konfiguracja w piCore / Tiny Core (Raspberry Pi)
- 9. Rozwiązywanie typowych problemów
- 10. Alternatywy – ncspot: pełny odtwarzacz w terminalu
- 11. Podsumowanie praktyczne – szybki „przepis” na serwer audio z LibreSpot
W tym przewodniku znajdziesz wszystko: od tego, czym jest LibreSpot, przez instalację na popularnych dystrybucjach, po konfigurację jako usługę systemową i praktyczne scenariusze użycia.
1. Czym jest LibreSpot i po co go używać?
LibreSpot to program napisany w Rust, który implementuje protokół Spotify Connect.
Działa jak „głośnik Spotify”: widzisz go w oficjalnej aplikacji Spotify (na telefonie lub komputerze) jako urządzenie do odtwarzania i możesz na nie „przerzucić” dźwięk.
Najważniejsze cechy:
- brak GUI – tylko terminal – uruchamiasz jako proces w tle lub usługę systemd;
- Spotify Connect – sterujesz z oficjalnej aplikacji Spotify (Android, iOS, Windows, macOS, web);
- lekkość i elastyczność – świetny na serwerach, Raspberry Pi, starych laptopach i maszynach headless;
- backend audio ALSA – bezpośrednie wyjście na kartę dźwiękową przez ALSA (lub inne backendy, jeśli dostępne);
- open source (MIT) – kod źródłowy jest publiczny na GitHubie.
Ważne: zgodnie z aktualnymi wymaganiami Spotify do korzystania z Connect potrzebne jest konto Premium. LibreSpot wykorzystuje mechanizmy, które w praktyce wymagają Premium (na koncie darmowym występują ograniczenia odtwarzania).
2. LibreSpot, ncspot, spotifyd – krótkie porównanie
Istnieje kilka sposobów „słuchania Spotify z terminala”:
| Narzędzie | Co robi w praktyce | Sterowanie z terminala? | Sterowanie z aplikacji Spotify? | Zastosowanie główne |
|---|---|---|---|---|
| LibreSpot | Udostępnia urządzenie Spotify Connect | Nie (brak TUI) | Tak | „Głośnik”/endpoint Spotify na Linuksie |
| ncspot | Pełny odtwarzacz CLI (TUI w ncurses) | Tak | Częściowo/przez Connect | Odtwarzacz w terminalu |
| spotifyd | Lekki daemon Spotify (też Connect) | Konfiguracja z CLI, sterowanie apką | Tak | Alternatywa dla LibreSpot |
Ten poradnik koncentruje się na LibreSpot, ale jeśli interesuje Cię pełen klient w terminalu z listami, wyszukiwarką i skrótami klawiszowymi, sprawdź ncspot (m.in. jako snap ncspot).
3. Instalacja LibreSpot na popularnych dystrybucjach
Sposób instalacji zależy od dystrybucji. LibreSpot jest dostępny w repozytoriach wielu systemów lub jako źródła Rust/Cargo.
3.1. Arch Linux i pochodne (Manjaro, EndeavourOS)
Na Archu LibreSpot znajdziesz w oficjalnym repozytorium extra jako pakiet librespot. Zainstaluj poleceniem:
sudo pacman -Syu librespot
Po instalacji binarka librespot będzie dostępna w /usr/bin/librespot.
3.2. Debian / Ubuntu / Linux Mint – instalacja przez Cargo (Rust)
W wielu wydaniach Debiana/Ubuntu LibreSpot nie jest dostępny w aktualnej wersji w oficjalnych repozytoriach, dlatego najpewniejsza jest kompilacja z Rust/Cargo. Wykonaj kroki:
- Zainstaluj narzędzia budowania i Rust:
sudo apt update
sudo apt install -y build-essential pkg-config libasound2-dev curl
# instalacja Rust (jeśli nie masz)
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
# po instalacji wyloguj się i zaloguj ponownie albo odśwież środowisko:
source "$HOME/.cargo/env"
- Sklonuj repozytorium LibreSpot:
git clone https://github.com/librespot-org/librespot.git
cd librespot
- Skompiluj i zainstaluj:
cargo build --release
sudo cp target/release/librespot /usr/local/bin/
Po tej operacji możesz uruchamiać librespot z dowolnego miejsca.
Jeśli wolisz, możesz używać LibreSpot bez instalacji systemowej, uruchamiając bezpośrednio
target/release/librespot.
3.3. Fedora, openSUSE i inne
Na wielu dystrybucjach RPM sytuacja jest podobna jak na Debianie: albo LibreSpot jest w repozytoriach dystrybucji/third‑party, albo budujesz z Cargo. Przykład dla Fedory:
sudo dnf install -y gcc make pkg-config alsa-lib-devel curl
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
source "$HOME/.cargo/env"
git clone https://github.com/librespot-org/librespot.git
cd librespot
cargo build --release
sudo cp target/release/librespot /usr/local/bin/
3.4. Tiny Core / piCore / Raspberry Pi
Na lekkich dystrybucjach typu piCore (Tiny Core Linux na Raspberry Pi) często używa się gotowych pakietów tcz lub własnych buildów. Przykładowa konfiguracja (skrócona):
mkdir librespot
cd librespot
# pobranie portaudio jako zależności
wget http://www.gerrelt.nl/RaspberryPi/libportaudio2.tcz -P /mnt/mmcblk0p2/tce/optional
sudo echo "libportaudio2.tcz" >> /mnt/mmcblk0p2/tce/onboot.lst
# pobranie skompilowanego librespot (autor builda na forum)
wget http://www.gerrelt.nl/RaspberryPi/librespot -P /mnt/mmcblk0p2/tce
chmod u+x /mnt/mmcblk0p2/tce/librespot
Następnie zintegrować LibreSpot z mechanizmem startowym piCore (opis w sekcji o autostarcie).
4. Podstawowe uruchomienie z terminala
Załóżmy, że masz już zainstalowany librespot w systemie.
4.1. Sprawdzenie karty dźwiękowej ALSA
Aby dobrać właściwe urządzenie wyjściowe, sprawdź dostępne karty ALSA poleceniem:
aplay -l
Przykładowe wyjście:
card 0: PCH [HDA Intel PCH], device 0: ALC255 Analog
...
card 1: USB [USB Audio], device 0: USB Audio
Interesuje Cię numer karty i urządzenia – np. hw:0,0 albo hw:1,0.
4.2. Minimalne uruchomienie LibreSpot
Najprostsza komenda wygląda tak:
librespot \
--name "Terminal-Spotify" \
--backend alsa \
--device hw:0,0
Opis najważniejszych parametrów:
- –name – nazwa, pod którą urządzenie pokaże się w Spotify („Dostępne urządzenia”);
- –backend – backend audio; dla desktopów i SBC najczęściej alsa;
- –device – konkretne urządzenie ALSA, np.
hw:0,0.
Po uruchomieniu:
- Otwórz aplikację Spotify na telefonie lub komputerze.
- Wejdź w listę urządzeń (ikona głośnika / „Dostępne urządzenia”).
- Powinieneś zobaczyć „Terminal-Spotify” na liście.
- Wybierz je i odtwarzaj muzykę – dźwięk popłynie na maszynę z LibreSpot.
Jeśli nic nie słychać: sprawdź, czy aplay działa na tym urządzeniu (np. aplay -D hw:0,0 /usr/share/sounds/alsa/Front_Center.wav) oraz czy LibreSpot nie zgłasza błędów w terminalu (brak uprawnień do urządzenia, konflikt z PulseAudio itp.).
5. Przydatne opcje LibreSpot
Najważniejsze opcje, które warto znać w codziennym użyciu:
- Jakość dźwięku – wybór bitrate dla strumienia (96/160/320 kbps);
- Początkowa głośność – procent wyjściowej głośności przy starcie (0–100);
- Cache/buforowanie – lokalna pamięć podręczna dla płynniejszego odtwarzania i szybszych powtórzeń;
- Typ urządzenia – sposób prezentacji urządzenia w interfejsie Spotify (np. speaker/avr/computer).
Ustawianie bitrate (wartości: 96 | 160 | 320):
--bitrate 96|160|320
Przykład – wysoka jakość 320 kbps:
--bitrate 320
Początkowa głośność (w % maksymalnej):
--initial-volume 100
Jeśli sterujesz głośność fizycznym potencjometrem (wzmacniacz, kolumny aktywne), ustaw 100%. Jeśli regulujesz tylko software’owo, zacznij np. od 50–70%.
Włączenie cache (przykładowa ścieżka):
--cache /var/cache/librespot
Dzięki cache’owi kolejne odtworzenia tych samych utworów są szybsze, a odtwarzanie stabilniejsze przy słabszym łączu.
Typ urządzenia prezentowany w Spotify:
--device-type speaker|avr|computer|tv|stb|audiophile
Poniżej przykładowa, „pełniejsza” komenda uruchomieniowa:
librespot \
--name "Salon-Linux" \
--backend alsa \
--device hw:1,0 \
--bitrate 320 \
--initial-volume 90 \
--cache /var/cache/librespot \
--device-type speaker
6. Autostart jako usługa systemd (desktop / serwer)
Najwygodniejsze jest uruchamianie LibreSpot jako usługę systemd, dzięki czemu startuje automatycznie po uruchomieniu systemu lub zalogowaniu.
6.1. Usługa systemd w trybie użytkownika
Tryb „user” nie wymaga roota, a usługa startuje razem z sesją użytkownika. Wykonaj kroki:
- Utwórz katalog na jednostki:
mkdir -p ~/.config/systemd/user
- Stwórz plik
~/.config/systemd/user/librespot.serviceo treści:
[Unit]
Description=Spotify Connect (LibreSpot)
Documentation=https://github.com/librespot-org/librespot
Wants=sound.target
After=sound.target
Wants=network-online.target
After=network-online.target
[Service]
ExecStart=/usr/local/bin/librespot \
--name="Linux-Spotify" \
--backend=alsa \
--device=hw:0,0 \
--bitrate=320 \
--initial-volume=80 \
--cache=/var/cache/librespot \
--device-type=speaker
Restart=always
RestartSec=5
[Install]
WantedBy=default.target
Ścieżkę w ExecStart dopasuj do lokalizacji binarki (which librespot).
- Załaduj nową jednostkę:
systemctl --user daemon-reload
- Uruchom usługę:
systemctl --user start librespot.service
- Włącz autostart przy logowaniu:
systemctl --user enable librespot.service
- Sprawdź logi w razie problemów:
journalctl --user -f -u librespot.service
To prosty i stabilny sposób na „headless” odtwarzacz Spotify Connect w tle.
6.2. Usługa systemowa (dla konta „headless”)
Jeśli LibreSpot ma działać na serwerze bez logowania użytkownika (np. Raspberry Pi przy wzmacniaczu), utwórz dedykowanego użytkownika (np. spotify) i skonfiguruj usługę systemową w /etc/systemd/system/librespot.service z ustawionym User=spotify. W sekcji [Install] ustaw odpowiedni target (np. WantedBy=multi-user.target), aby startowała niezależnie od sesji.
7. Integracja z udev – LibreSpot startujący po podłączeniu karty USB
Jeżeli używasz zewnętrznej karty USB, możesz chcieć, by LibreSpot startował tylko wtedy, gdy karta jest podłączona, i zatrzymywał się po jej odpięciu. Zrealizujesz to regułami udev.
7.1. Usługa systemd (user) jak wcześniej
Załóżmy, że masz już ~/.config/systemd/user/librespot.service z odpowiednim --device=hw:CARD=HTA100 (karta USB).
7.2. Identyfikacja urządzenia udev
- Uruchom monitor udev:
sudo udevadm monitor --property
- Podłącz kartę dźwiękową USB i obserwuj logi – znajdź
SUBSYSTEM=="sound"oraz atrybutyID_MODEL/ATTR{id}. - Dla konkretnej ścieżki możesz wyświetlić pełne info:
sudo udevadm info -a --path /sys/path/do/urzadzenia
Znajdź atrybut trwały, np. ATTRS{id}=="HTA100" lub ENV{ID_MODEL}=="HTA100".
7.3. Reguły udev start/stop LibreSpot
- Stwórz plik reguł:
sudo nano /etc/udev/rules.d/10-spotify.rules
- Wpisz reguły (przykład dla urządzenia o ID „HTA100” i użytkownika
flopbox):
SUBSYSTEM=="sound", ATTRS{id}=="HTA100", ACTION=="add", \
RUN+="/usr/bin/su flopbox -c 'systemctl --user start librespot.service'"
SUBSYSTEM=="sound", ENV{ID_MODEL}=="HTA100", ACTION=="remove", \
RUN+="/usr/bin/su flopbox -c 'systemctl --user stop librespot.service'"
Logika działania jest prosta: przy podłączeniu urządzenia uruchamiana jest usługa LibreSpot dla wskazanego użytkownika, a przy odłączeniu – zatrzymywana.
- Przeładuj reguły udev:
sudo udevadm control --reload
- Przetestuj: odepnij i podepnij kartę audio, a następnie sprawdź, czy LibreSpot startuje i znika z listy urządzeń Spotify.
8. Konfiguracja w piCore / Tiny Core (Raspberry Pi)
Na piCore integracja z LibreSpot opiera się na plikach startowych i mechanizmie backupu konfiguracji.
8.1. Wybór karty dźwiękowej ALSA
Ustal właściwe urządzenie ALSA poleceniami:
aplay -l
cat /proc/asound/cards
Na podstawie wyników wybierz hw:X,Y dla parametru --device.
8.2. Dodanie LibreSpot do bootlocal.sh
- Otwórz skrypt startowy:
sudo nano /opt/bootlocal.sh
- Dodaj na końcu linię uruchamiającą LibreSpot (przykład):
/mnt/mmcblk0p2/tce/librespot \
--name YourSpotifyConnectDevicename \
--cache /tmp \
--bitrate 320 \
--initial-volume 100 \
--backend alsa \
--device hw:0,0 > /dev/null 2>&1 &
Zmień zgodnie z potrzebami:
- nazwa urządzenia – wartość w
--name; - urządzenie ALSA – parametr
--device hw:0,0dobrany zaplay -l; - głośność startowa –
--initial-volume, np. 100% przy regulacji sprzętowej.
- Zapisz plik i wykonaj backup konfiguracji:
filetool.sh -b
- Zrestartuj Raspberry Pi – urządzenie powinno pojawić się w Spotify pod wybraną nazwą.
8.3. Ustawienie strefy czasowej (gdy Connect nie działa poprawnie)
Na piCore przy niewłaściwej strefie czasowej Spotify Connect może nie działać. Skonfiguruj TZ w bootloaderze:
- Zamontuj partycję boot:
mount /dev/mmcblk0p1
- Edytuj plik
cmdline.txt:
sudo nano /mnt/mmcblk0p1/cmdline.txt
- Dodaj na końcu (z poprzedzającą spacją):
tz=CET-1CEST,M3.5.0,M10.5.0/3
- Zapisz, wykonaj backup (
filetool.sh -b) i zrestartuj RPi.
9. Rozwiązywanie typowych problemów
9.1. LibreSpot nie pojawia się w aplikacji Spotify
Najczęstsze przyczyny i wskazówki:
- brak połączenia z internetem – zweryfikuj np.
pingi konfigurację sieci; - usługa nie startuje – sprawdź logi, np.
journalctl --user -u librespot.service; - problem z autoryzacją/protokołem – zajrzyj do issue trackera projektu i zaktualizuj LibreSpot;
- konto bez Premium – Spotify Connect wymaga konta Premium.
Warto korzystać z aktualnej wersji LibreSpot z GitHuba i regularnie sprawdzać zgłoszone problemy.
9.2. Brak dźwięku mimo połączenia
- nieprawidłowe urządzenie ALSA – sprawdź
aplay -li przetestujaplay -D hw:X,Y; - urządzenie audio zajęte przez inny proces – skonfiguruj PulseAudio/JACK, wybierz inny backend (jeśli dostępny) lub wyłącz dźwięki systemu na tej karcie;
- konflikt sterowników/konfiguracji – zrestartuj stos audio i sprawdź uprawnienia do urządzenia.
Na Raspberry Pi czasem pomaga reset sterownika ALSA i wybór wyjścia HDMI/analog:
sudo modprobe snd_bcm2835
sudo amixer cset numid=3 2
9.3. Jakość / przycinanie
- obniż bitrate – np.
--bitrate 160przy słabszym łączu; - włącz cache – ustaw
--cachena szybkim dysku; - monitoruj zasoby – sprawdź obciążenie CPU i sieci.
10. Alternatywy – ncspot: pełny odtwarzacz w terminalu
Jeżeli chcesz w pełni sterować Spotify z terminala, a nie tylko wystawiać urządzenie Connect, ciekawym narzędziem jest ncspot:
- interfejs w ncurses – działa w czystym terminalu;
- pełna obsługa – wyszukiwanie, playlisty, kolejka, skróty klawiszowe;
- wieloplatformowość – Linux, macOS, *BSD;
- instalacja na Ubuntu (snap) – polecenie:
sudo snap install ncspot.
Przy pierwszym uruchomieniu ncspot poprosi o zalogowanie do konta Spotify Premium.
11. Podsumowanie praktyczne – szybki „przepis” na serwer audio z LibreSpot
- Zainstaluj LibreSpot odpowiednio do dystrybucji (pacman / Cargo).
- Sprawdź kartę dźwiękową poleceniem:
aplay -l
- Przetestuj ręczne uruchomienie komendą:
librespot --name "Linux-Spotify" --backend alsa --device hw:0,0 --bitrate 320
- Skonfiguruj autostart w zależności od środowiska:
- desktop – usługa
systemd --user; - Raspberry Pi / piCore – wpis w
bootlocal.sh; - zewnętrzna karta USB – reguły udev start/stop.
- desktop – usługa
- Steruj odtwarzaniem z telefonu/komputera – wybierz swoje urządzenie w „Dostępnych urządzeniach” Spotify.








