Управление медиаплеерами из командной строки в Linux
Сегодня я узнал, что мы можем управлять медиаплеерами из командной строки в Linux и Unix-подобных операционных системах. Вы можете воспроизводить, приостанавливать, переключаться между воспроизведением и паузой, увеличивать/уменьшать громкость, переключаться на следующий/предыдущий медиафайл и останавливать воспроизведение мультимедиа в медиаплеерах. Все из Терминала! Круто, да? Да, это. В этом руководстве мы научимся управлять медиаплеерами из терминала в Linux.
Управление медиаплеерами из командной строки в Linux
Для этого мы будем использовать две простые утилиты, а именно Playerctl и OmniPause, для управления медиаплеерами из командной строки.
1. Игрокктл
Playerctl — это утилита командной строки для управления медиафайлами из терминала. Он позволит вам воспроизводить, приостанавливать мультимедийные файлы, переключаться на следующую или предыдущую дорожку, увеличивать или уменьшать громкость, останавливать воспроизведение и т. д. Используя Playerctl, мы можем управлять всеми медиаплеерами, реализующими спецификацию интерфейса MPRIS D-Bus. Ниже приведены некоторые популярные медиаплееры, которыми можно управлять с помощью Playerctl.
- Дерзкий,
- Бмп,
- Спотифай,
- Мплеер/SMplayer,
- ВЛК,
- Xmms2.
Установить Playerctl
Playerctl доступен в официальных репозиториях всех современных дистрибутивов Linux. Таким образом, вы можете установить его, используя менеджер пакетов дистрибутива по умолчанию.
В Арч Линукс:
sudo pacman -S playerctl
В Debian, Ubuntu и производных:
sudo apt-get install playerctl
В Федоре:
sudo dnf install playerctl
В openSUSE:
sudo zypper install playerctl
Если он недоступен в официальных репозиториях, вы можете вручную скомпилировать и установить его из исходного кода. Последние исходные файлы доступны на странице релизов.
Управление медиаплеерами с помощью Playerctl
Сначала перечислите всех доступных игроков, используя команду:
playerctl -l
Или,
playerctl --list-all
Пример вывода будет:
vlc
smplayer
Вы можете просмотреть статус игрока, упомянув его имя с помощью команды playerctl:
$ playerctl status vlc
Stopped
$ playerctl status smplayer
Playing
Как видите, в настоящее время в моей системе доступны два игрока (открытые и работающие игроки). Vlc остановлен, и теперь воспроизводится smplayer.
Чтобы воспроизвести трек, запустите:
playerctl play -p smplayer
Или,
playerctl play --player smplayer
Если запущен только один проигрыватель, вам не нужно использовать ключ «-p» или «--player». Playerctl автоматически воспроизведет трек, воспроизводимый в открытом в данный момент плеере.
Чтобы приостановить воспроизведение текущего трека (при условии, что у вас есть только один работающий проигрыватель), запустите:
playerctl pause smplayer
Чтобы перейти к следующему треку, запустите:
playerctl next smplayer
Чтобы перейти к предыдущему треку, запустите:
playerctl previous smplayer
Чтобы переключиться между воспроизведением или паузой, запустите:
playerctl play-pause smplayer
Эта опция возобновит воспроизведение трека, если он в данный момент приостановлен, или воспроизведет трек, если он сейчас воспроизводится.
Чтобы остановить воспроизведение, запустите:
playerctl stop smplayer
Чтобы просмотреть раздел справки, запустите:
$ 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
Для получения более подробной информации посетите страницу проекта на GitHub, указанную в конце.
2. ОмниПауза
OmniPause — это простое приложение Python для управления медиаплеерами через DBus. В отличие от Playerctl, OmniPause — новинка в сериале и находится на ранней стадии разработки. Однако он полностью функционален и выполняет все те же функции, что и Playerctl.
Установить Омнипаузу
OmniPause написан с использованием Python, поэтому сначала необходимо установить следующие зависимости. Эти пакеты доступны в официальных репозиториях всех дистрибутивов Linux. Таким образом, вы можете установить их, используя менеджер пакетов по умолчанию.
- python2
- dbus-питон
После установки необходимых компонентов git клонируйте проект:
git clone https://github.com/mel00010/OmniPause.git
Перейдите в каталог проекта:
cd OmniPause/
И выполните следующую команду, чтобы установить его.
sudo make install
Приведенная выше команда скопирует программу omnipause.py в /usr/local/bin/omnipause.
Управляйте медиаплеерами с помощью Omnipause
Использование точно такое же, как и у Playerctl. В отличие от Playerctl, Omnipause имеет ограниченную функциональность. Единственные доступные функции:
- играть,
- Пауза,
- следующий,
- предыдущий,
- переключать,
- останавливаться.
Чтобы приостановить все работающие медиаплееры, запустите:
omnipause pause
Чтобы возобновить воспроизведение медиаплееров, приостановленных программой, запустите:
omnipause play
Чтобы остановить все медиаплееры, запустите:
omnipause stop
Чтобы воспроизвести следующий трек на всех проигрывателях медиаплееров, выполните:
omnipause next
Чтобы воспроизвести предыдущий трек на всех проигрывателях медиаплееров, выполните:
omnipause previous
Чтобы переключить состояние воспроизведения запущенных медиаплееров, запустите:
omnipause toggle
Как видите, мы можем управлять всеми запущенными медиаплеерами с помощью одной команды. Это так просто. Как и Playerctl, у него нет возможностей остановить конкретного проигрывателя или увеличить/уменьшить громкость. Если вам нужны такие возможности и больший контроль над медиаплеерами, используйте программу playerctl. Обратите внимание, что Playerctl и OmniPause — это не проигрыватели, а контроллеры медиаплееров CLI.
Ресурсы:
- Страница Playerctl на GitHub
- Страница OmniPause на GitHub