我按下键盘上的 ALT+F2 键,调出启动器 HUD。然后我输入一个命令,就像在 shell 中一样,具体来说就是vlc ~/Music/* -Z
。如果从 shell 中完成,vlc 将启动并开始播放音乐。
但是,从启动器完成操作后,VLC 会回复:
文件读取失败:
VLC 无法打开文件“/home/[用户名]/Music/*”。(没有此文件或目录)用户无法打开您的输入:
VLC 无法打开 MRL“file:///home/[用户名]/Music/%2A”。请查看日志了解详细信息。
我不太明白其中的区别是什么。
答案1
其他人指出了这一点,但随后删除了他们的答案,所以我会再次添加它。
此特定命令失败的原因是启动器不使用 shell,这意味着 VLC 实际上是在尝试加载文件命名*,而不是将星号放入文件列表中。
一种解决方法是调用 shell,正如 elmicha 在评论中指出的那样。sh -c "vlc ~/Music/* -Z"
可以做到这一点。但是由于错误,此方法失败了,再次参见 elmicha 的评论。
在这种特殊情况下,由于 VLC 将递归遍历目录,因此可以使用 实现相同的结果vlc ~/Music
,它无需 shell 即可正常工作,并且更加简单。