Genervt von der Spotify-App für Linux? Dieses benutzerdefinierte Widget ist die Lösung

Erfahren Sie, wie Sie ein benutzerdefiniertes Spotify-Widget für Linux erstellen, um mühelos Informationen über das aktuell gespielte Lied anzuzeigen, ohne die App öffnen zu müssen.
Ich stream Musik auf Spotify so oft wie jeder andere, aber leider ist die Nutzung des Linux-Desktop-Clients der App nicht das beste Erlebnis. Versteh mich nicht falsch; wenn du nur einfach Musik streamen möchtest, wirst du (wahrscheinlich) keine Beschwerden haben. Leider wirst du schnell feststellen, dass die Linux-Desktop-App von Spotify noch Verbesserungsbedarf hat, sobald deine Bedürfnisse darüber hinausgehen.
Zunächst haben einige Mitglieder der Shopify-Community berichtet, dass die Desktop-App seltsame Fehler aufweisen kann, wie einen nicht reaktionsfähigen Schließen-Button, falsch ausgelöste Desktop-Benachrichtigungen für lokale Musikdateien und Rendering-/Themenprobleme auf einigen Linux-Distributionen. Das liegt vielleicht daran, dass Spotify für Linux nicht mehr aktiv entwickelt wird. Ein weiteres unglückliches Detail ist das Fehlen eines offiziellen „Jetzt spielen“-Desktop-Widgets. Ich finde letzteres besonders frustrierend, da es eine große Ablenkung ist, die Spotify-App jedes Mal zu öffnen, wenn ich wissen möchte, welches Lied gerade gespielt wird.
Nachdem ich genug von dieser Frustration hatte, beschloss ich, Spotify in einen Produktivitätsbooster zu verwandeln, indem ich ein desktop-integriertes, benutzerdefiniertes Widget erstellt habe, das mir einen schnellen Überblick über das aktuell gespielte Lied gibt, ohne Spotify öffnen zu müssen. In diesem Tutorial zeige ich dir, wie du dasselbe auf deinem Linux-System machen kannst.
Wenn du dich jemals gefragt hast, warum Linux der beste Ort ist, um Programmieren zu lernen, liegt es daran, wie einfach es ist, Tools zu kombinieren und sie zu verwenden, um einzigartige Apps zu erstellen. Für dieses Projekt benötigst du drei Hauptwerkzeuge: Playerctl, ein Python-Skript, das du einfach in deinen bevorzugten Terminal-Texteditor kopieren und einfügen kannst, und Conky. Conky erstellt ein sauberes „Jetzt spielen“-Widget, das aussieht, als wäre es Teil des Hintergrunds; Playerctl ist ein Controller, der die Rohdaten interpretiert, die zwischen Medienplayern wie Spotify und dem Python-Skript ausgetauscht werden.
Lass uns diese Tools und einen Ordner für das Projekt einrichten. Zuerst verwende die untenstehenden Befehle, um Playerctl zu installieren.
sudo apt update -y sudo apt install playerctl -y Wenn du Arch oder Fedora verwendest, nutze die folgenden Befehle:
Fedora: sudo dnf install playerctl Manjaro/Arch: sudo pacman -S playerctlIch illustriere dies auf Linux Mint. Wenn du Spotify und die anderen Tools noch nicht installiert hast, verwende den Paketmanager oder das Software-Center, um sie zu installieren, und melde dich dann mit einer der bereitgestellten Methoden an. Der QR-Code ist am einfachsten, wenn du Spotify auf deinem Smartphone hast.
Der nächste Schritt besteht darin, das Gehirn des Projekts zu erstellen, aber bevor wir dazu kommen, lass uns Playerctl testen, um sicherzustellen, dass es mit Spotify kommuniziert und die Metadaten des aktuell gespielten Songs anzeigen kann. Starte Spotify, spiele ein Lied und führe dann den untenstehenden Befehl aus. Wenn Playerctl erfolgreich mit Spotify kommuniziert, sollte es den Namen des Künstlers und den Titel des Liedes ausgeben.
playerctl -p spotify metadata --format "{{ title }} by {{ artist }}"Bevor wir fortfahren, benutze den mkdir-Befehl, um ein neues Verzeichnis mit dem Namen „Spotify Widget Project“ zu erstellen. Nachdem es erstellt wurde, wechsle in den Ordner, um das Gehirn des Projekts zu bauen.
mkdir -p ~/"Spotify Widget Project"cd ~/"Spotify Widget Project"Und jetzt kommt der unterhaltsame Teil, auf den du wahrscheinlich gewartet hast:
Während du im Projektordner bist, benutze deinen bevorzugten Terminal-Texteditor, um eine Python-Datei mit dem Namen spotify_now_playing.py zu erstellen und kopiere das unten bereitgestellte Skript hinein. Ich illustriere dies mit nano, da es anfängerfreundlich ist. Speichere das Skript, und benutze dann den chmod-Befehl, um die Datei ausführbar zu machen.
nano spotify_now_playing.py#!/usr/bin/env python3 import subprocess import textwrap import sys def get_prop(prop): try: return subprocess.check_output(["playerctl", "-p", "spotify", "metadata", prop]).decode("utf-8").strip() except: return "" def main(): try: status = subprocess.check_output(["playerctl",-p", "spotify", "status"]).decode("utf-8").strip() except: status = "Offline" # Conky verwendet die Argumente: 'title', 'artist' oder 'percent', um dieses Skript aufzurufen arg = sys.argv[1] if len(sys.argv) > 1 else "" if status in ["Playing", "Paused"]: if arg == "title": title = get_prop("title") return textwrap.fill(title, width=22) elif arg == "artist": return get_prop("artist") elif arg == "percent": try: pos = float(subprocess.getoutput("playerctl -p spotify position")) length = float(get_prop("mpris:length")) / 1000000 return str(int((pos / length) * 100)) except: return "0" else: return "Spotify Offline" if arg == "title" else "" if __name__ == "__main__": print(main())chmod +x spotify_now_playing.pyIn Nano verwenden Sie Ctrl + O + Enter, um das Skript zu speichern, und Ctrl + X, um den Editor zu verlassen.
Conky ist eindeutig die beste Möglichkeit, Desktop-Widgets zu erstellen und anzuzeigen, die wie ein natürlicher Bestandteil des Wallpapers aussehen. Wenn Sie es noch nicht getan haben, installieren Sie Conky mit dem Paketmanager Ihrer Distribution.
Linux Mint/Ubuntu: sudo apt install conky-all -y Fedora: sudo dnf install conky Arch/Manjaro: sudo pacman -S conkyDanach kehren Sie in den Projektordner zurück (wenn Sie außerhalb gewechselt haben) und verwenden einen Terminal-Texteditor, um eine Konfigurationsdatei namens spotify-widget.conkyrc zu erstellen. Schließlich kopieren und fügen Sie das folgende Skript ein.
nano ~/"Spotify Widget Project/spotify-widget.conkyrc"conky.config = { alignment = 'middle_right', gap_x = 40, gap_y = 60, own_window = true, own_window_type = 'desktop', own_window_transparent = false, own_window_argb_visual = true, own_window_argb_value = 100, own_window_colour = '#1DB954', -- Spotify Grün own_window_hints = 'undecorated,below,sticky,skip_taskbar,skip_pager', minimum_width = 280, minimum_height = 140, border_inner_margin = 25, use_xft = true, font = 'Ubuntu:bold:size=10', double_buffer = true, update_interval = 1.0, default_bar_height = 5, } conky.text = [[ # 1. Songtitel-Einstellungen ${font Ubuntu:bold:size=16}${execi 2 python3 "/home/htg/Spotify Widget Project/spotify_now_playing.py" title}${font} # 2. Vertikal versetzte Künstlereinstellungen ${voffset 5}${color #E0E0E0}von ${execi 2 python3 "/home/htg/Spotify Widget Project/spotify_now_playing.py" artist}${color} # 3. Fortschrittsbalkeneinstellungen ${voffset 15}${execbar echo $(python3 "/home/htg/Spotify Widget Project/spotify_now_playing.py" percent)} # 4. Fußzeileneinstellungen ${voffset 10}${font DejaVu Sans:size=9}O_O Spotify Jetzt Spielen Desktop-Widget${font} ]]Nachdem Sie die Konfigurationsdatei gespeichert haben, verwenden Sie den folgenden Befehl, um zu testen, ob die Verbindung zwischen Playerctl, dem Python-Hirn und dem Conky-Desktop-Widget funktioniert. Wenn Sie alles korrekt konfiguriert haben, sollte ein jetzt spielendes Widget auf Ihrem Desktop erscheinen.
conky -c ~/"Spotify Widget Project/spotify-widget.conkyrc"In GNOME und einigen anderen Desktop-Umgebungen kann das Klicken auf den Desktop dazu führen, dass das Widget verschwindet. Wenn Ihnen das passiert, bearbeiten Sie die conkyrc-Datei und ändern Sie own_window_type = 'desktop' in 'normal.'
Schritt 4: Aktivieren Sie den verzögerten Autostart beim Hochfahren
Der letzte Schritt besteht darin, das Widget so einzustellen, dass es jedes Mal startet, wenn Ihr Computer hochfährt. Um dies unter Linux Mint, Ubuntu oder Fedora zu tun, gehen Sie zum Anwendungsmenü, suchen Sie nach Autostart-Anwendungen und öffnen Sie es. Verwenden Sie die Schaltflächen, um einen neuen benutzerdefinierten Befehls-Eintrag hinzuzufügen, füllen Sie die Details aus, kopieren Sie den folgenden Befehl und speichern/verlässt.
conky -p 30 -c "/home/htg/Spotify Widget Project/spotify-widget.conkyrc"Alternativ können Sie eine .desktop-Datei erstellen, die mit jeder Distribution funktioniert. Verwenden Sie einen Terminal-Texteditor, um die Datei zu erstellen, kopieren Sie diese Konfigurationseinstellungen, speichern Sie und verlassen Sie.
nano ~/.config/autostart/spotify-widget.desktop[Desktop Entry] Type=Application Exec=conky -p 30 -c "/home/htg/Spotify Widget Project/spotify-widget.conkyrc" Hidden=false NoDisplay=false X-GNOME-Autostart-enabled=true Name=SpotifyWidget Comment=Beginnt jetzt mit dem Abspielen des Spotify-Desktop-Widgets für Linux
Abgesehen davon, dass es ein schnelles und unterhaltsames Projekt für das Wochenende ist, kann das neu gestartete Spotify-Widget für Linux Ihr Arbeitspensum erheblich steigern.
Denken Sie daran: Wie viel produktiver sind Sie wahrscheinlich, wenn Sie Spotify nicht öffnen müssen, um den Titel des gerade gespielten Songs zu erfahren?
Beginnen Sie noch heute, Ihren Linux-Desktop zu gestalten!
Bist du neugierig auf weitere Artikel wie Genervt von der Spotify-App für Linux? Dieses benutzerdefinierte Widget ist die Lösung? Entdecke spannende Inhalte in der Kategorie Linux.

Schreibe einen Kommentar