假设目标处有两个二进制文件,例如XXX
和。我希望始终同时启动它们!换句话说,当我在 Unity 中输入其中任何一个文件的名称时,我希望让它们同时启动。我该如何更改目标处的相应文件YYY
来实现这一点?我在终端上尝试过,但似乎不起作用。/usr/bin/
/home/username/.local/applications/
/usr/bin/XXX;/usr/bin/YYY;
答案1
据我了解,您需要编辑.desktop
文件。在旁边添加此行Exec
:
sh -c "/usr/bin/XXX & /usr/bin/YYY"
该-c
标志告诉 shell 它必须从字符串而不是从标准输入读取命令。
如果只使用/usr/bin/XXX & /usr/bin/YYY
它,它将不起作用。只是补充一下为什么它&
在启动器中不起作用的原因,这是因为&
它是 shell 的一个功能,而启动器不是 shell,它是一个运行命令的更简单的环境。
答案2
/usr/bin/app_first &
/usr/bin/app_second
使用‘&’您将把进程发送到后台。
答案3
你应该使用
/usr/bin/XXX && /usr/bin/YYY;
注意使用&&
(不需要使用&
在后台运行某些东西)。
答案4
您需要将命令名称 XXX 和 YYY 添加到搜索路径中较早位置的目录中。对于这两个命令,名为 file 的文件将使用完整路径名 /usr/bin/XXX 和 /usr/bin/YYY 运行原始 XXX 和 YYY。这是为了防止脚本在循环中不断重复运行(或直到您的计算机内存耗尽)。另一种方法是用您的脚本替换命令,并将原始命令移至另一个路径,如 /usr/local/bin。
此脚本需要在后台运行 /usr/bin/XXX 和 /usr/bin/YYY,以便它们同时运行。执行此操作的经典方法是:
/usr/bin/XXX &
/usr/bin/YYY
如 bluszcz 在上面所述。您可能还想在第二个命令上放置“&”。另一种更安静地将这些命令放在后台的方法是使用 screen,可以在脚本中这样编码:
screen -dmS XXX /usr/bin/XXX
screen -dmS YYY /usr/bin/YYY
在您可能想要查看命令的进度而不进行记录的情况下,这可以具有优势,但使用屏幕附加到创建的会话。