Запуск mpv из записи.desktop с буфером обмена в качестве аргумента

Я пытаюсь сделать запись подменю в файле приложения.desktop, который запускает адрес YouTube с помощью mpv. URL-адрес YouTube скопирован из буфера обмена. Внутри gnome-терминала это работает нормально:

xclip -o | xargs mpv

Но если я сделаю действие.desktop следующим образом:

[Desktop Action mpv]
Name=mpv clipboard
Comment=Play the url on the clipboard with mpv
Exec=xclip -o | xargs mpv

Не работает Я попытался поставить gnome-Terminal -x перед ним, но он все еще не работает. Как это можно сделать?

1 ответ

Решение

Конвейер - это функция оболочки, и запуск.desktop не включает оболочку. Вы можете использовать что-то вроде:

Exec=sh -c 'xclip -o | xargs mpv'

Или (в зависимости от того, что находится в буфере обмена):

Exec=sh -c 'mpv "$(xclip -o)"'

Или поместите команду в исполняемый файл сценария и используйте Exec=/path/to/script,

Другие вопросы по тегам