无法在启动应用程序中执行两个命令

无法在启动应用程序中执行两个命令

我在启动应用程序中使用indicator-stickynotes命令,效果很好。我将其修改为sleep 30;indicator-sticknotes。我在不同的文章甚至这个网站上都读到了这一点。但这对我不起作用。

它就像:

前

我将其修改为:

后

答案1

每当定义启动应用程序时,它都会创建一个桌面条目〜/ .config /自动启动。所以,它是一个桌面条目,负责在启动时启动一个应用程序。

在典型的命令行(终端)上,您可以使用下列命令之一来执行两个命令。

sleep 30; indicator-stickynotes
sleep 30 && indicator-stickynotes
sleep 30 & indicator-stickynotes

但桌面输入与命令行有很大不同。根据桌面入门规格

Exec 键

Exec 键必须包含命令行。命令行由可执行程序组成,后面可以随意加一个或多个参数。

因此,桌面条目中只能使用一个命令。由于您使用了两个命令,最终会导致错误。桌面条目将无法启动应用程序,或者第二个命令将被视为第一个命令的参数。

您可以使用 sh/bash 作为命令,例如:

sh -c "sleep 30; indicator-stickynotes"

正如元素W在他们的一个评论sleep 30; exec indicator-stickynotes将节省一些内存和 PID,因为 sh 只需等待其子进程 indicator-stickynotes 终止,不用于其他用途。

相关内容