
Скорее всего, название не имеет абсолютно никакого смысла, поскольку я все еще полный новичок в 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 или адрес файла.