是否可以在 someapp.desktop 文件中运行多个命令?

是否可以在 someapp.desktop 文件中运行多个命令?

我只是想找到一种在打开应用程序(Firefox)时运行额外命令的方法,但却失败了......

最初的问题是这里

我尝试在 app 命令后添加我的命令,如下所示:

Exec=firefox %u & /bin/monitor_process.sh firefox

但这会导致monitor_process.sh被 FF 打开,并显示“使用...打开文件”对话框。

我尝试过; & &&,但无济于事……

那么,知道如何处理 .desktop 文件中的多个命令吗?

还,塞尔格说:

这也行不通。Exec= 必须只有一个语句,不允许使用 ;。

答案1

桌面文件不在 shell 中运行;这意味着您不能firefox %u & /bin/monitor_process.sh firefox直接运行诸如 之类的复杂命令;在这种情况下,一切都会在&部分失败,该部分不会被解释为“背景firefox %u”,而是字面上的&,它作为参数传递firefox %u/bin/monitor_process.sh以及firefox

要修复该问题,请firefox %u & /bin/monitor_process.sh firefox在至少支持作业控制的 shell 中运行(只需简单dash操作即可):

[Desktop Entry]
Name=foo
Exec=sh -c 'firefox %u & /bin/monitor_process.sh firefox'
Type=Application

答案2

您可以尝试对您的.desktop文件执行此执行行:

Exec= bash -c "firefox && /bin/monitor_process.sh firefox"

bash将打开一个 shell 并正确解释 &&。

相关内容