答案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 终止,不用于其他用途。