Передача буфера обмена в mpv

Передача буфера обмена в mpv

Скорее всего, название не имеет абсолютно никакого смысла, поскольку я все еще полный новичок в Linux в целом, но по сути я пытаюсь создать сочетание клавиш, которое мгновенно заставит mpv воспроизводить URL-адрес из моего буфера обмена при нажатии Win+M.

Я, очевидно, совершенно не понимаю, как это работает, так как, читая о конвейеризации, я пришел к мысли, что мне придется использовать конвейеризацию, и пробовал такие вещи, как xclip | mpvи xclip -o | mpvпри наличии URL-адреса YouTube в моем буфере обмена, напримерhttps://www.youtube.com/watch?v=KqI6TOlPluoдля примера, но, похоже, он просто выдает то же самое, как если бы я просто писал, mpvне имея ничего другого в терминале. Если бы кто-нибудь мог прояснить, возможно ли это вообще, было бы очень здорово, Ubuntu, похоже, было бы здорово, если бы я научился использовать его немного лучше.

правка: В качестве пояснения, я хочу, чтобы результат был таким же, как если бы я просто делалmpv https://www.youtube.com/watch?v=KqI6TOlPluo

решение1

Вам необходимо использовать команду sub situation:

mpv "$(xclip -o -selection clipboard)"

или для первичного выбора x:

mpv "$(xclip -o -selection primary)"

Допустим, ваш буфер обмена содержит http://example.foo/video.mp4, результат будет следующим:

mpv "http://example.foo/video.mp4"

То, что вы делаете, — это перенаправляет stdout вашей первой команды, которая является URL, в stdin второй команды «mpv», которая не ищет ничего из stdin, а даже если и ищет (например: mpv -), то ищет данные для воспроизведения, а не URL или адрес файла.

Связанный контент