如果不在其目录中,应用程序会失败?

如果不在其目录中,应用程序会失败?

我正在尝试运行DeaDBeeF,一个音乐播放器。如果我在它的目录中,它工作正常,但如果我在其他地方,它会告诉我它“无法找到输出插件”。有什么办法让它在自己的目录而不是我当前的工作目录中查找?

答案1

听起来像是该程序中的一个错误。如果不修改源代码,您可能无法修复它,但您可以轻松解决它,例如使用 shell 脚本:

#!/bin/sh
cd /path/to/program
exec ./program "$@"

将其保存在 中/usr/local/bin,设置正确的权限:

chmod 755 /usr/local/bin/myscript
chown root:root /usr/local/bin/myscript

然后启动此脚本而不是可执行程序。

此方法的一个限制是您无法再仅通过键入文件名来播放当前目录中的文件。deadbeef myfile.mp3您可以使用(如果当前目录的名称包含或 空格,deadbeef $PWD/myfile.mp3则使用)代替。deadbeef "$PWD/myfile.mp3"\[?*

相关内容