How to control music players from the Linux command-line
Do you listen to music while working in the Linux terminal? Do you find it annoying to have to exit the terminal, even for a minute, to skip a song, pause something, or stop music playback altogether? If so, you’ll be interested to know that it is possible to control music players from the Linux command-line. Follow along as we go over two easy ways to use the Linux command-line to control music players!
Method 1 – PlayerCTL
PlayerCTL is a command-line application that, when used, can control music players from the command-line, as long as they support MPRIS (Media Player Remote Interfacing Specification).
Installing PlayerCTL
Sadly, PlayerCTL does not come pre-installed on any of the mainstream Linux distributions. So, before we show you how to use it to control your music player via the command-line, we must demonstrate how to install it. Luckily, PlayerCTL is a favorite in the Linux community, so getting it is not difficult.
To install the PlayerCTL application working on your Linux PC, open up a terminal window by pressing Ctrl + Alt + T or Ctrl + Shift + T on the keyboard. Then, follow the command-line instructions outlined below that corresponds with the distribution you use.
Ubuntu
To get PlayerCTL working on Ubuntu, use the following Apt command.
Note: PlayerCTL is only in the Ubuntu software repositories for version 19.10 and newer.
sudo apt install playerctl
Debian
On Debian, an older release of the PlayerCTL program can be installed from the “Main” software repository using the following apt-get command.
sudo apt-get install playerctl
Keep in mind that this version of PlayerCTL is only available to Debian 10 Buster and Debian Sid users. If you want to gain access to this app and are on Debian 9, you must first upgrade your operating system. To upgrade from Debian 9 to Debian 10, follow our guide on the subject. Also, be sure to consult the official documentation.
Arch Linux
On Arch Linux, you’ll be able to install the PlayerCTL program via the “Community” software repository. Be sure to edit your Pacman.conf file to include the “Community” software repository, or it will not be possible to install the app.
When “Community” is enabled on your system, use the following Pacman command down below to get PlayerCTL working on Arch Linux.
sudo pacman -S playerctl
Fedora
As of Fedora 30, PlayerCTL is available to all Fedora Linux users. To install the software on your system, use the following dnf install command.
sudo dnf install playerctl
OpenSUSE
As of OpenSUSE 15.1, it is possible to get the PlayerCTL app working. To start the installation, use the following zypper install command.
sudo zypper install playerctl
Can’t get PlayerCTL working on your release of OpenSUSE? You may be using an outdated version of LEAP. Be sure to upgrade from 15.0 to 15.1!
Generic Linux
The PlayerCTL application is available for installation for all Linux users via the source code on GitHub. If you are using a Linux operating system that does not have PlayerCTL readily available, click here to learn how to build it from scratch.
Using PlayerCTL to control music playback
PlayerCTL can pause, play, stop, go to the next song, and skip back to the previous song. Open up a terminal window and follow the command-examples below to learn how to use it to control music playback.
Note: do not run PlayerCTL as root with sudo! The commands will not work!
Pause
Need to pause a song that is currently playing? Make use of the playerctl pause command.
playerctl pause
Play
Trying to start up playback of a song again from the command-line? Use the playerctl play command.
playerctl play
Stop
Want to stop music playback altogether? Run the playerctl stop command.
playerctl stop
Next
Need to skip to the next song in your playlist? Execute playerctl next in the command-line.
playerctl next
Previous
Accidentally skip too many songs? Go back to the previous song with playerctl previous.
playerctl previous
Method 2 – Omnipause
Omnipause is another command-line application that can control music from the command-line. However, unlike PlayerCTL, it doesn’t work with any player that supports MPRIS. Instead, it works with D-Bus, which only some music apps support.
Installing Omnipause
Sadly, Omnipause is not nearly as popular as PlayerCTL, so the app isn’t present in any popular Linux distribution’s software repositories. Instead, you’ll need to download the source code from GitHub and compile it from scratch.
To start the installation of Omnipause, open up a terminal window by pressing Ctrl + Alt + T or Ctrl + Shift + T on the keyboard. Then, use the commands below to set up the Git app on your system.
Ubuntu
sudo apt install git
Debian
sudo apt-get install git
Arch Linux
sudo pacman -S git
Fedora
sudo dnf install git
OpenSUSE
sudo zypper install git
With the Git tool installed, use the git clone command to download the Omnipause source-code.
git clone https://github.com/mel00010/OmniPause.git
Move the terminal window into the “OmniPause” folder and install the program with sudo make install.
cd OmniPause sudo make install
Use Omnipause to control music playback
With Omnipause, you can pause music, start or resume it with play, stop playback with the stop command, go forward a song with next, and go back with previous. To learn how to control your favorite music player with Omnipause, follow the command-examples below.
Pause
To pause music playback with OmniPause, use the omnipause pause command.
omnipause pause
Play
Need to start playback or resume it? Use the omnipause play command in a terminal window.
omnipause play
Stop
Looking to stop music playback altogether? Run the omnipause stop command.
omnipause stop
Next
Want to go forward a song in the playlist? Execute the omnipause next command.
omnipause next
Previous
Need to go back a song in your playlist? Run omnipause previous
omnipause previous