我正在尝试使用启动应用程序让脚本在启动时运行。我希望它在终端窗口中运行(并保持打开状态)。这是一个监控脚本。
我已经能够使用“gnome-terminal”在启动时打开终端窗口,而无需任何命令,但是我无法正确获取--command语法,并且由于错误时窗口不会打开,我看不到错误。
gnome-terminal --command /path/to/script.sh
有人可以纠正我做错的事吗?
谢谢
答案1
您的语法本身是正确的。Gnome 开发人员表示他们将删除它,现在提倡使用--
来结束所有选项,以便之后的所有内容都被视为命令。该语法将是gnome-terminal -- /path/to/script.sh
。但是,他们忘记了新语法会阻止您一次打开多个选项卡或窗口,例如ssh
在启动时自动连接到不同的服务器。
您看不到终端的原因可能是您的脚本在启动时立即释放了终端提示符。如果脚本在后台启动进程,则可能会发生这种情况。如果您想让终端保持打开状态,请添加“bash”语句或其他类似的东西read -n 1 -s -r -p "Press any key to continue"
。您可以将其添加到脚本中,也可以将其作为第二个命令添加,如gnome-terminal -- /path/to/script.sh ; bash
。
另一种从启动启动器实现此目的的方法未在用户界面中显示:您需要手动编辑 .desktop 启动器。它位于您的.config/autostart
文件夹中。使用该方法,您只需输入可执行脚本的路径作为命令,但指示它应该在终端中运行:
...
Exec=/path/to/script.sh
...
Terminal=true
...
对于这两种方法,一旦脚本终止,该终端就会关闭。
答案2
只需gnome-terminal -- /path/to/script.sh
在另一个 gnome 终端内运行即可查看发生了什么。此--command
选项已弃用。另外,请确保您的脚本文件具有正确的权限chmod u+x YourScriptFileName.sh
,并且您的脚本具有 shebang #!/bin/bash
。