Hallo Musikfreunde! Heute habe ich gelernt, dass wir Mediaplayer von der Kommandozeile in Unix-ähnlichen Betriebssystemen steuern können. Sie können in Ihren Mediaplayern abspielen, pausieren, zwischen Wiedergabe und Pause umschalten, die Lautstärke erhöhen/verringern, zu den nächsten/vorherigen Mediendateien wechseln und die Medienwiedergabe stoppen. Alles vom Terminal! Cool, ja? Ja ist es. In dieser Anleitung werden wir lernen, die Mediaplayer vom Terminal unter Linux aus zu steuern.
Steuern Sie Media Player über die Befehlszeile in Linux
Zu diesem Zweck verwenden wir zwei einfache Dienstprogramme, nämlich Playerctl und OmniPause , um die Mediaplayer von der Kommandozeile aus zu steuern.
1. Playerctl
Playerctl ist ein Befehlszeilendienstprogramm zum Steuern von Mediendateien vom Terminal aus. Es ermöglicht Ihnen, Mediendateien abzuspielen, anzuhalten, zum nächsten oder vorherigen Titel zu wechseln, die Lautstärke zu erhöhen oder zu verringern, die Wiedergabe zu stoppen usw. Mit Playerctl können wir alle Mediaplayer verwalten, die die MPRIS D-Bus-Schnittstellenspezifikation implementieren. Einige der beliebten Mediaplayer, die mit Playerctl gesteuert werden können, sind unten aufgeführt.
- Kühn,
- Bmp,
- Spotify,
- Mplayer/SMplayer,
- VLC,
- Xmms2.
Playerctl installieren
Playerctl ist in den offiziellen Repositories aller modernen Linux-Distributionen verfügbar. Sie können es also mit dem Standard-Paketmanager der Distribution installieren.
Unter Arch Linux:
$ sudo pacman -S playerctl
Unter Debian, Ubuntu und Derivaten:
$ sudo apt-get install playerctl
Auf Fedora:
$ sudo dnf install playerctl
Unter openSUSE:
$ sudo zypper install playerctl
Wenn es nicht in den offiziellen Repositories verfügbar ist, können Sie es manuell über die Quelle kompilieren und installieren. Die neuesten Quelldateien sind auf der Release-Seite verfügbar .
Verwendung
Listen Sie zuerst alle verfügbaren Spieler mit dem Befehl auf:
$ playerctl -l
Oder,
$ playerctl --list-all
Beispielausgabe wäre:
vlc smplayer
Sie können den Status eines Spielers anzeigen, indem Sie seinen Namen mit dem playerctl-Befehl nennen:
$ playerctl status vlc Stopped
$ playerctl status smplayer Playing
Wie Sie sehen können, sind derzeit zwei Player in meinem System verfügbar (derzeit geöffnete und laufende Player). Vlc ist gestoppt und smplayer spielt jetzt.
Führen Sie zum Abspielen des Titels Folgendes aus:
$ playerctl play -p smplayer
Oder,
$ playerctl play --player smplayer
Wenn nur ein Spieler läuft, müssen Sie den Schalter "-p" oder "--player" nicht verwenden. Playerctl spielt automatisch den Titel ab, der im aktuell geöffneten Player abgespielt wird.
Führen Sie Folgendes aus, um den aktuell wiedergegebenen Titel anzuhalten (vorausgesetzt, Sie haben nur einen laufenden Player):
$ playerctl pause smplayer
Um zum nächsten Titel zu gehen, führen Sie Folgendes aus:
$ playerctl next smplayer
Um zum vorherigen Titel zu gehen, führen Sie Folgendes aus:
$ playerctl previous smplayer
Führen Sie Folgendes aus, um zwischen Wiedergabe und Pause umzuschalten:
$ playerctl play-pause smplayer
Diese Option setzt den Titel fort, wenn er gerade angehalten ist, oder spielt den Titel ab, wenn er gerade abgespielt wird.
Um die Wiedergabe zu stoppen, führen Sie Folgendes aus:
$ playerctl stop smplayer
Um den Hilfebereich anzuzeigen, führen Sie Folgendes aus:
$ playerctl --help Usage: playerctl [OPTION…] COMMAND - Controller for MPRIS players For true players only: spotify, vlc, audacious, bmp, xmms2, and others. Help Options: -h, --help Show help options Application Options: -p, --player=NAME The name of the player to control (default: the first available player) -l, --list-all List the names of running players that can be controlled -V, --version Print version information and exit Available Commands: play Command the player to play pause Command the player to pause play-pause Command the player to toggle between play/pause stop Command the player to stop next Command the player to skip to the next track previous Command the player to skip to the previous track position [OFFSET][+/-] Command the player to go to the position or seek forward/backward OFFSET in seconds volume [LEVEL][+/-] Print or set the volume to LEVEL from 0.0 to 1.0 status Get the play status of the player metadata [KEY] Print metadata information for the current track. Print only value of KEY if passed
Weitere Einzelheiten finden Sie auf der GitHub-Seite des Projekts am Ende.
2. OmniPause
OmniPause ist eine einfache Python-Anwendung zur Steuerung von Mediaplayern über DBus. Im Gegensatz zu Playerctl ist OmniPause sehr neu in der Show und in einer frühen Entwicklungsphase. Es ist jedoch voll funktionsfähig und macht genau dasselbe wie Playerctl.
Installieren Sie Omnipause
OmniPause wurde mit Python geschrieben , also müssen Sie zuerst die folgenden Abhängigkeiten installieren. Diese Pakete sind in den offiziellen Repositories aller Linux-Distributionen verfügbar. Sie können sie also mit dem Standardpaketmanager installieren.
- python2
- dbus-python
Klonen Sie nach der Installation der Voraussetzungen das Projekt mit git:
$ git clone https://github.com/mel00010/OmniPause.git
Wechseln Sie in das Verzeichnis des Projekts:
$ cd OmniPause/
Und führen Sie den folgenden Befehl aus, um es zu installieren.
$ sudo make install
Der obige Befehl kopiert das Programm omnipause.py nach /usr/local/bin/omnipause .
Verwendung
Die Verwendung ist genau die gleiche wie bei Playerctl. Im Gegensatz zu Playerctl hat Omnipause eine eingeschränkte Funktionalität. Die einzigen verfügbaren Funktionen sind:
- spielen,
- Pause,
- als nächstes
- Vorherige
- umschalten,
- Stopp.
Um alle laufenden Mediaplayer anzuhalten, führen Sie Folgendes aus:
$ omnipause pause
Führen Sie Folgendes aus, um die Wiedergabe von Mediaplayern fortzusetzen, die vom Programm angehalten wurden:
$ omnipause play
Um alle Mediaplayer zu stoppen, führen Sie Folgendes aus:
$ omnipause stop
Führen Sie Folgendes aus, um den nächsten Titel auf allen abspielenden Mediaplayern abzuspielen:
$ omnipause next
Führen Sie Folgendes aus, um den vorherigen Titel auf allen Wiedergabe-Media-Playern abzuspielen:
$ omnipause previous
Führen Sie Folgendes aus, um den Wiedergabestatus laufender Mediaplayer umzuschalten:
$ omnipause toggle
Wie Sie sehen können, können wir alle laufenden Mediaplayer mit einem einzigen Befehl steuern. So einfach ist das. Wie Playerctl hat es keine Optionen, um einen bestimmten Player zu stoppen oder die Lautstärke zu erhöhen/zu verringern. Wenn Sie solche Optionen und mehr Kontrolle über Ihre Mediaplayer haben möchten, verwenden Sie das Programm playerctl. Bitte beachten Sie, dass Playerctl und OmniPause keine Player sind, sondern CLI-Media-Player-Controller.