Weiterlesen mit NEWS. Jetzt testen.
Lesezeit ca. 8 Min.

Retro-Charme


LinuxUser - epaper ⋅ Ausgabe 1/2020 vom 19.12.2019

Sie arbeiten gerne mit CLI-Tools, programmieren mit Vim und verwalten Dateien mit Ranger? Warum dann nicht auch Spotify-Musik über das Terminal abspielen und auf den offiziellen Client verzichten?


Der Musikstreamingdienst Spotify eilt seit Jahren von Erfolg zu Erfolg. Stand Juli 2019 verwenden insgesamt über 230 Millionen User im Monat den Musikdienst. 108 Millionen Musikliebhaber sind sogar bereit, für das kostenpflichtige Abonnement auf Spotify Premium zu bezahlen. Premium-Kunden versorgt Spotify unter anderem mit besserer Soundqualität (320 statt 160 kbit/ s) und verzichtet auf Werbung. Trotz des ...

Artikelbild für den Artikel "Retro-Charme" aus der Ausgabe 1/2020 von LinuxUser. Dieses epaper sofort kaufen oder online lesen mit der Zeitschriften-Flatrate United Kiosk NEWS.

Bildquelle: LinuxUser, Ausgabe 1/2020

Weiterlesen
epaper-Einzelheft 5,99€
NEWS 30 Tage gratis testen
Bereits gekauft?Anmelden & Lesen
Leseprobe: Abdruck mit freundlicher Genehmigung von LinuxUser. Alle Rechte vorbehalten.
Lesen Sie jetzt diesen Artikel und viele weitere spannende Reportagen, Interviews, Hintergrundberichte, Kommentare und mehr aus über 1000 Magazinen und Zeitungen. Mit der Zeitschriften-Flatrate NEWS von United Kiosk können Sie nicht nur in den aktuellen Ausgaben, sondern auch in Sonderheften und im umfassenden Archiv der Titel stöbern und nach Ihren Themen und Interessensgebieten suchen. Neben der großen Auswahl und dem einfachen Zugriff auf das aktuelle Wissen der Welt profitieren Sie unter anderem von diesen fünf Vorteilen:

  • Schwerpunkt auf deutschsprachige Magazine
  • Papier sparen & Umwelt schonen
  • Nur bei uns: Leselisten (wie Playlists)
  • Zertifizierte Sicherheit
  • Freundlicher Service
Erfahren Sie hier mehr über United Kiosk NEWS.

Mehr aus dieser Ausgabe

Titelbild der Ausgabe 1/2020 von Videos von Videoplattformen herunterladen Gib
Videos von Videoplattformen herunterladen Gib's mir
Titelbild der Ausgabe 1/2020 von Gnomecast. Zeitschriften als Abo oder epaper bei United Kiosk online kaufen.
Gnomecast
Titelbild der Ausgabe 1/2020 von DLNA-Mediaserver im Heimnetz: Medienverteiler. Zeitschriften als Abo oder epaper bei United Kiosk online kaufen.
DLNA-Mediaserver im Heimnetz: Medienverteiler
Titelbild der Ausgabe 1/2020 von Formel Web. Zeitschriften als Abo oder epaper bei United Kiosk online kaufen.
Formel Web
Titelbild der Ausgabe 1/2020 von Hochstapler. Zeitschriften als Abo oder epaper bei United Kiosk online kaufen.
Hochstapler
Titelbild der Ausgabe 1/2020 von Free as in Freedom. Zeitschriften als Abo oder epaper bei United Kiosk online kaufen.
Free as in Freedom
Vorheriger Artikel
Videos von Videoplattformen herunterladen Gib's mir
aus dieser Ausgabe
Nächster Artikel Gnomecast
aus dieser Ausgabe

... enormen Wachstums und einer eindeutigen Marktführerschaft liegt das Unternehmen allerdings konstant in den roten Zahlen . Nicht zuletzt drücken die Kosten für die Lizenzen und Übernahmen anderer Unternehmen auf das Ergebnis des schwedischen Konzerns.

In so einer Situation interessieren sich Unternehmen in der Regel nur selten für die wenigen Linux-Anwender. Spotify hingegen bietet schon seit Jahren das offizielle Client-Programm auch für den Linux-Desktop an . In der Community gibt es zwar Kritik am enormen Ressourcenhunger des Programms, das bereits auf der Festplatte über 280 MByte in Beschlag nimmt, sowie an dem Umstand, dass die Nutzungsbedingungen das Verteilen der Anwendung untersagen. Deshalb lässt sich Spotify nicht direkt in die Paketquellen der gängigen Linux-Distributionen integrieren; eine Petition versucht dies zu ändern . Doch in der Praxis schlägt sich die Spotify-Anwendung gar nicht so schlecht: So gibt es eigentlich keine wesentlichen funktionalen Unterschiede zwischen den Versionen für Windows, Mac OS X und Linux.

Raspotify

Statt über den Spotify-Client lässt sich der Dienst Auch über einen Webbrowser verwenden. Der muss allerdings die in Spotify implementierten Maßnahmen zur digitalen Rechteminderung (DRM) unterstützen. Es gibt inzwischen allerdings auch einige Musikplayer-Distributionen, etwa Volumio, die das Streamen von Spotify erlauben . Speziell in der Linux-Welt finden sich jedoch immer wieder Anwender, die sich möglichst schlanke Programme wünschen – gerne auch ohne grafische Oberfläche. Mit Raspotify und der Spotify TUI lässt sich dieser Wunsch umsetzen. Die zwei Programme, eine Kombination aus Server und Client, lassen sich flexibel nutzen, und so kann man verschiedene Szenarien umsetzen.

© Aleksey Lisitsyn, 123RF

1 Die offizielle Spotify-Anwendung schluckt schon im Leerlauf über 200 MByte Arbeitsspeicher. Der schlanke Spotifyd begnügt sich hingegen mit gerade einmal 3 MByte.


Spotifyd streamt wie der offizielle Client Musik direkt von Spotify. Das Programm fällt jedoch deutlich schlanker aus und läuft auch auf anderen Plattformen, wie etwa dem auf der ARM-Architektur basierenden Raspberry Pi. Im Arbeitsspeicher belegt Spotifyd lediglich 3 MByte, während sich Spotify auf einem klassischen Rechner schnell mehr als 200 MByte RAM gönnt 1. Zur Programmierung von Spotifyd griffen die Entwickler auf die noch recht junge und von Mozilla geförderte Sprache Rust zurück.

Die Entwickler arbeiten aktuell noch sehr intensiv an dem Programm. Pakete gibt es lediglich für Arch Linux (spotifydfull, im AUR) und FreeBSD. Nutzer anderer Distributionen müssen das Programm selbst kompilieren. Listing 1 zeigt den Vorgang unter Ubuntu 19.04.

2 Damit Spotifyd auf den Streaming-Dienst zugreifen kann, benötigen Sie einen kostenpflichtigen Premium-Zugang. Aus den Einstellungen von Spotify heraus, lässt sich dann ein Geräte-Benutzername und ein dazugehöriges Passwort erstellen.


3 Spotifyd lässt sich über die offizielle Spotify-Anwendung steuern. In der Liste der mit Spotify-Connect verbundenen Geräte erscheint er als Spotifyd@<Rechnername>


Das Kompilieren nimmt gerade auf älteren Rechnern längere Zeit in Anspruch. Es empfiehlt sich, die Option 2 zu wählen: Sie installiert das kompilierte Programm nach ~/.cargo/bin. Um Systemd dann auszuführen, ergänzen Sie die Zeilen aus Listing 2 in der ~/.profile, starten das Terminalprogramm einmal neu und führen dann als Test den Befehl spotifyd --version aus.

Die Konfiguration des Diensts erfolgt über die Datei spotifyd.conf im Ordner ~/.config/spotifyd/. Legen Sie den Ordner und darin die Datei mit dem Inhalt aus Listing 3 an. Den Benutzernamen und das Passwort für Spotify Connect ermitteln Sie über die entsprechende Webseite des Diensts 2.

Zum Testen der neuen Konfiguration rufen Sie das Kommando spotifyd --no-daemon auf. Es startet den Dienst und sollte lediglich INFO-Zeilen ausgeben. Anschließend beenden Sie Spotifyd mittels [Strg]+[C] wieder.

Nach dem erfolgreichen Test starten Sie den Dienst am besten über Systemd. Später lässt sich auf diesem Weg auch festlegen, dass der Daemon automatisch mit dem Rechner hoch-und herunterfährt (Listing 4).

Haben Sie Spotifyd auf einem kleinen Headless-Rechner wie den Raspberry Pi installiert, der mit einer Stereoanlage verbunden ist, lässt sich der Dienst schon jetzt sinnvoll nutzen. So können Sie aus der offiziellen Spotify-App heraus, egal, ob von einem Smartphone oder einem PC aus, die Wiedergabe des Streams über das Icon links neben dem Lautstärkeregler und dem Menüpunkt Spotifyd@<Rechnername> auf den mit Spotifyd ausgestatteten Computer umleiten 3. Das funktioniert ähnlich wie mit Spotify-kompatiblen Netzwerklautsprechern wie dem Sonos-System.

Installation unter Arch Linux

Die Community von Arch Linux pflegt mit dem Arch User Repository oder kurz AUR eine Sammlung mit Kochrezepten, aus denen sich mittels eines Helferprogramms unkompliziert ein Paket für die Pacman-Paketverwaltung des Arch-Systems schnüren lässt. Sowohl Spotifyd als auch Spotify TUI finden sich bereits im AUR. Arbeiten Sie mit dem aktuell empfohlenen AUR-Helper Yay, dann installieren Sie mit dem Kommando yay -S spotifyd-full spotify-tui beide Programme in einem Rutsch.

Spotify TUI

Der eingangs des Artikels beschriebene Sinn der Übung ist damit allerdings noch nicht erreicht: Schließlich soll man am Ende ohne die offizielle Spotify-App (allerdings mit kostenpflichtigem Premium-Account) Musik von Spotify über die Kommandozeile abspielen können. Dazu brauchen Sie noch das Programm Spotify TUI, das genau wie Spotifyd in Rust entwickelt wird.

Anders als Spotifyd müssen Sie das Programm allerdings nicht zwingend selbst kompilieren: Es lässt sich recht leicht aus der Rust Package Registry einspielen (Listing 5). Achten Sie darauf, dass nach der Installation der Ordner ~/.cargo/bin/ in der PATH-Variablen auftaucht (siehe Listing 2).

Bevor das Programm nun über die Spotify Web API mit dem Streamingdienst sprechen kann, müssen Sie sich durch die Konfiguration kämpfen, die mehr als nur die Eingabe eines Accounts umfasst. Für den Zugriff auf die API müssen Sie sich als Entwickler registrieren und eine „App“ erstellen – keine Angst, Sie müssen dazu nicht programmieren. Sie klicken lediglich auf CREATE A CLIENT ID und tragen dort ein paar grundlegende Daten ein 4. Im nächsten Schritt versichern Sie mit NO, dass Sie keine kommerziellen Absichten hegen, und akzeptieren schließlich die Nutzungsbedingungen.

Danach wählen Sie aus dem Dashboard die neu erstellte Spotify-App mit einem Linksklick an und öffnen über EDIT SETTINGS die Einstellungen. Dort tragen Sie nun als letzten Verwaltungsakt unter Redirect URIs die Adresse htttp:// localhost:8888/callback ein. Notieren Sie sich nun die Client ID sowie – nach einem Klick auf SHOW CLIENT SECRET – das dazugehörige Client-Secret-Passwort 5.

Mit diesen Informationen starten Sie nun über das Kommando spt die Spotify TUI. Für die Konfiguration möchte das Programm die gerade erstellte Client ID samt passendem Client Secret wissen 6. Danach wird es ein wenig verwirrend: Das Programm versucht nun eine äußerst kryptische und lange URL in der Art http:// localhost: 8888/ callback? code= AQt[…] pdjW zu öffnen, was zu einem Fehler führt, da in der Regel auf dem eigenen System kein Webserver läuft. Ignorieren Sie die Fehlermeldung, und übertragen Sie einfach die Adresse der Seite per Copy & Paste aus dem Browser in das Setup der Spotify TUI.

Im ersten Dialog nach dem Setup sucht das Programm nun nach Spotify-Connect-Geräten im lokalen Netzwerk. Dazu gehören auch sämtliche Smartphones und PCs, auf denen die Spotify-App läuft. Spotifyd sollte in der Liste der Devices als Spotifyd@<Rechnername> erscheinen. Wählen Sie diesen Eintrag mit den Pfeiltasten aus, und drücken Sie die Eingabetaste. Vergrößern Sie bei Bedarf das Terminalfenster, da sonst oft Texte und Elemente nicht auf dem Schirm erscheinen (siehe dazu auch den Kasten Tipps). Danach öffnet Spotify TUI das eigentliche Anwendungsfenster, in dem Sie oben eine Suchleiste und links Sidebars mit Ihrer Spotify-Bibliothek und den Playlisten finden 7.

4 Zum Zugriff auf die Spotify Web API benötigen Sie für Spotify TUI einen Entwickler-Account und eine eigene Spotify-App. Keine Angst: Sie müssen nichts programmieren, ein paar Mausklicks genügen.


5 Aus dem Spotify-Dashboard müssen Sie die Client ID und das Client Secret ins Setup der Spotify TUI übertragen. Dabei dürfen Sie nicht vergessen, unter EDIT SETTINGS die Redirect URIs anzupassen.


6 Beim ersten Start möchte Spotify TUI die Client ID und das Client Secret wissen. Die daraus resultierende URL versucht das Setup in einem Browser zu öffnen. Im letzten Schritt übertragen Sie diese Adresse in das Terminalfenster.


Dateien zum Artikel herunterladen unter

www.linux-user.de/dl/43731

Innerhalb von Spotify TUI navigieren Sie mit den Pfeiltasten durch die einzelnen Elemente der Oberfläche. Die aktuelle Auswahl hebt das Programm dabei immer farblich hervor. Um das gerade markierte Element zu öffnen, drücken Sie die Eingabetaste. Mit [Esc] gehen Sie wieder eine Ebene zurück. Ähnlich wie bei Textwerkzeugen wie etwa Less starten Sie eine Suche in der Spotify-Bibliothek mit der Eingabe von /Suchbegriff. Spotify TUI zeigt dann umgehend im mittleren Teil der Anwendung die Treffer in den Songs, Künstlern, Alben und Playlisten an. Hilfe erhalten Sie mit der Eingabe eines Fragezeichens, also durch [Umschalt]+[ß].

Sobald Sie einen Song anspielen, erscheint am unteren Rand ein weiterer Kasten mit Informationen zum gerade abgespielten Lied sowie einem Fortschrittsbalken. Mit der Leertaste lässt sich die Wiedergabe pausieren und erneut fortsetzen; es gelingt jedoch nicht, an eine bestimmte Stelle des Lieds zu springen. Die Wiedergabe bietet bislang lediglich einen Zufallsmodus, den Sie mit [Strg]+[S] aktivieren. Bei Bedarf springen Sie mit [D] zurück in die Auswahl des Spotify-Devices – so lassen sich mit Spotify TUI gleich mehrere Geräte bedienen. Mit [Q] beenden Sie die Anwendung. Da die Wiedergabe über Raspotify erfolgt, spielt die gerade aktive Playlist dabei weiter.

TIPPS

Spotify TUI versucht das von Webseiten bekannte Responsive Design ins Terminal zu übertragen. Je nach Größe des Terminalfensters blendet das Programm dazu Elemente der Textoberfläche ein und aus und entfernt außerdem zum Teil erklärende Texte. In der Praxis erweist sich dieser Ansatz jedoch als tückisch: So fehlt zum Beispiel in einem Standard-Terminal mit 80 Zeichen Breite und 24 Zeilen Höhe schon in der ersten Maske, in der man das Spotify-Device auswählen soll, der erklärende Text vollständig. Idealerweise arbeiten Sie daher besonders am Anfang mit einem auf die komplette Größe des Bildschirm maximierten Terminals. Auch bei der Wahl der Farben müssen Sie sich ein wenig an die Präferenzen der Spotify-TUI-Entwickler anpassen. Die Anwendung verwendet hartkodierte Werte für die Farben von Schrift und Hintergrund, die nur bei einem Terminal mit hellem Text auf dunklem Untergrund gut funktionieren.

Fazit

Sie müssen das Duo aus Spotifyd und Spotify TUI nicht zwingend gemeinsam einsetzen. So können Sie Spotifyd beispielsweise auf einem Raspberry Pi installieren, den Sie an einer Stereoanlage angeschlossenen haben, und dann die Musik über die offizielle Spotify-Anwendung oder bei Bedarf auch über die Spotify TUI von einem anderen Rechner aus steuern. Alternativ lassen Sie Raspotify weg und bedienen die Musikwiedergabe über die offizielle Spotify-App vom Terminal aus, wenn die auf Tasteneingaben optimierte Spotify TUI sowieso besser zu Ihrer auf das Terminal fokussierten Arbeitsweise passt.

Auf Systemen, die nicht vollständig unter Ihrer Kontrolle stehen, empfiehlt es sich zudem, die Zugangsdaten zu Spotify nicht im Klartext in die Konfiguration einzutragen. Die Github-Seite von Spotifyd beschreibt, wie man die Kontendaten in einem sicheren Schlüsselbund ablegt. Ansonsten lassen Spotifyd und Spotify TUI viel Raum für eigene Experimente. Hinter beiden Programmen steht außerdem eine aktive Entwicklergemeinde, die in der Regel schnell auf Fehlermeldungen und Verbesserungsvorschläge reagiert. (cla)

Weitere Infos und interessante Links

www.linux-user.de/qr/43731

7 Spotify TUI dient als Musikzentrale, für die Wiedergabe zeichnet allerdings Spotifyd verantwortlich. Man kann daher das Programm beenden, ohne dass die Musikwiedergabe stoppt.

README

Das Duo Spotifyd und Spotify TUI erlaubt es, den populären Musikstreamingdienst ohne dessen offizielle Anwendung zu verwenden – ideal für Konsolenritter, die möglichst ressourcenschonende Anwendungen bevorzugen.

Hinweis

Spotifyd benötigt für den Zugriff auf Spotify Connect zwingend einen kostenpflichtigen Premium-Account. Wer den Streamingdienst lediglich über ein werbefinanziertes Konto verwendet, kann Spotify und Spotify TUI nicht nutzen.