Вопрос "зачем управлять из консоли, когда можно кликнуть мышкой" исчезает сам собой, когда возникает потребность управлять приложением подключившись к удалённой системе по SSH. Во-первых сама программа поддерживает ключи с запоминающимися именами:
clementine --play clementine --pause clementine --stop clementine --prev clementine --next
Во-вторых это же и другие возможности можно достать через именованные обращения через qdbus:
Пример обращения используя одну из команд воспроизведения: Play, Pause, Pause, Stop, Next, Prev qdbus org.mpris.clementine /Player org.freedesktop.MediaPlayer.Pause Или так: qdbus 'org.mpris.clementine' /Player Play Это конечно сложнее запомнить, чем простые команды самой Clementine, и я привёл их больше для примера. Хотя pause этого метода не только ставит но и снимает с неё воспроизведение в отличие от метода самой Clementine.
Я не нашёл регулятора громкости во встроенных ключах, а тут они есть: qdbus org.mpris.clementine /Player org.freedesktop.MediaPlayer.VolumeSet 50 qdbus org.mpris.clementine /Player org.freedesktop.MediaPlayer.VolumeSet 100
Узнать информацию про текущий трек - ID3tag и расположение файла: qdbus org.mpris.clementine /Player org.freedesktop.MediaPlayer.GetMetadata
Думаю, таким образом можно управлять и другими программами, если их встроенного функционала не хватает.
Внимание! при запуске Clementine по SSH из консоли появится неприятная ошибка "clementine: cannot connect to X server". Я бы назвал это багом - зачем икс сервер в консоли? Решается костылём, указывающим явно, на каком экране запускаться в фоне:
Вообще, при работе по SSH в консоли, программам с GI часто требуется указывать, где им отрисовывать свои окошки.
Ссылки: - https://github.com/clementine-player/Clementine/wiki/Controlling-Clementine-from-the-commandline-with-DBus-and-MPRIS
- https://github.com/clementine-player/clementine/issues/489
|