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.