我有一个半奇怪的东西我正在修补。我正在寻找一种方法来更轻松地启动 MPV(视频播放器)到视频链接。MPV 的默认行为是mpv https://url.of.video
在终端中启动,或者将 URL 拖放到 MPV 窗口。我不认为这个犹太教是一个以键盘为中心的人。相反,我想启动一个弹出框,粘贴 URL,按 Enter,然后让 MPV 将视频启动到该 URL。这样我就可以将此命令绑定到键盘快捷键,从而使整个过程变得异常简单。我有这个完整的,但有一个小剪纸 - gnome-terminal 窗口挂在周围。这是一个简单的单行:
URL=$(yad --entry) && gnome-terminal -- bash -c "mpv $URL"
如果我启动该命令,由于 YAD,我会得到一个弹出框。此时我粘贴 URL,按 Enter,然后在 1-2 秒内打开该视频的 MPV 窗口。惊人的。正是我想要的。
我提到的剪纸是 gnome-terminal 保持运行的事实。不是一个大问题,但我想知道上面的这个命令是否有办法启动 gnome-terminal,调用 MPV,附加变量(URL),然后让 gnome-terminal 自行关闭而不结束视频溪流。
好奇是否有人有任何想法。非常感谢!
解决您的问题
这里正确的解决方案是首先省略调用
gnome-terminal
甚至bash
设置不需要的变量,在您的情况下不需要所有这些:我添加了引号以正确处理 URL,这确保它可以包含例如空格和 & 符号 (
&
),并且该命令仍然有效。--
告诉mpv
停止寻找选项,并将您选择给它的任何内容视为参数。想象一下常见的情况,你在启动 mpv 的目录中有一个名为的文件--version
,只需输入这个文件名,怎么mpv
知道是显示它的版本字符串还是打开文件?回答你的问题
nohup
或disown
可用于从启动它的 shell 中分离进程,请参阅"<command> & disown" 和 "nohup <command> & disown" 之间的差异。在您的情况下,正确的解决方案是:
但是,对于更好的解决方案,请参见上文。