Библиотека сайта rus-linux.net
Управление медиаплеерами из командной строки Linux
Оригинал: How To Control Media Players From Commandline In Linux
Автор: SK
Дата публикации: 6 ноября 2017 года
Перевод: А. Кривошей
Дата перевода: февраль 2017 г.
Приветствую любителей музыки! Сегодня я узнал, что в Unix-подобных операционных системах мы можем управлять медиаплеерами из командной строки. Вы можете включать воспроизведение, приостанавливать его, увеличивать/уменьшать громкость, переключаться на следующие/предыдущие мультимедийные файлы и останавливать воспроизведение. Все из терминала! В этом руководстве мы обсудим две простые утилиты, которые можно использовать для управления медиаплеерами из терминала в Linux.
1. Playerctl
Playerctl - простая утилита командной строки для управления медиафайлами из терминала. Она позволяет воспроизводить, приостанавливать воспроизведение, переключаться на следующую или предыдущую дорожку, увеличивать или уменьшать громкость, останавливать воспроизведение и т. д. Используя Playerctl, мы можем управлять всеми медиаплеерами, которые реализуют спецификацию интерфейса MPRIS D-Bus. Ниже приведены некоторые из популярных медиаплееров, которыми можно управлять с помощью Playerctl.
Audacious,
Bmp,
Spotify,
Mplayer/SMplayer,
VLC,
Xmms2.
Установка
Playerctl доступен в официальных репозиториях большинства современных дистрибутивов Linux. Поэтому вы можете установить его, используя штатный менеджер пакетов.
В Arch Linux:
$ sudo pacman -S playerctl
В Debian, Ubuntu и их производных:
$ sudo apt-get install playerctl
В Fedora:
$ sudo dnf install playerctl
В openSUSE:
$ sudo zypper install playerctl
Если его нет в официальных репозиториях, вы можете вручную скомпилировать и установить программу из исходного кода. Свежий архив с исходным кодом доступен на
Использование
Сначала выведем список всех доступных плееров с помощью следующей команды:
$ playerctl -l
или
$ playerctl --list-all
Пример вывода:
vlc smplayer
Вы можете просмотреть статус плеера:
$ 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
OmniPause - это простое приложение python для управления медиаплеерами через DBus. В отличие от Playerctl, OmniPause находится на ранней стадии разработки. Однако он полностью функционален и может выполнять все те же операции, что и Playerctl.
Установка
OmniPause написан на Python, поэтому вам нужно сначала установить приведенные ниже зависимости. Эти пакеты доступны в официальных репозиториях всех дистрибутивов Linux. Поэтому их можно установить с помощью штатного диспетчера пакетов.
python2
dbus-python
После установки зависимостей клонируйте проект git:
$ git clone https://github.com/mel00010/OmniPause.git
Перейдите в директорию проекта:
$ cd OmniPause/
Теперь запустите команду для установки программы.
$ sudo make install
Эта команда скопирует программу omnipause.py в /usr/local/bin/omnipause.
Использование
Программа работает также, как Playerctl. В отличие от последнего Omnipause имеет ограниченную функциональность. Доступны только следующие функции:
play,
pause,
next,
previous,
toggle,
stop.
Для временной остановки воспроизведения введите:
$ omnipause pause
Для продолжения воспроизведения:
$ omnipause play
Для остановки всех медиаплееров:
$ omnipause stop
Для перехода к следующему треку на всех медиаплеерах:
$ omnipause next
Для перехода к предыдущему треку на всех медиаплеерах:
$ omnipause previous
Чтобы переключить состояние запущенных плееров:
$ omnipause toggle
Как вы могли видеть, мы можем управлять всеми работающими медиаплеерами, используя одну команду. Как и у Playerctl, у omnipause нет никаких опций для работы с определенным плеером, а также для увеличения/уменьшения громкости.