为什么我的打开终端的启动脚本不起作用?

为什么我的打开终端的启动脚本不起作用?

只是为了玩弄脚本制作,我制作了一个(我相信?)应该在启动时打开一个终端的脚本:

#!/bin/bash
#start terminal at startup
#/usr/bin/gnome-terminal

我将其放在 /etc/init.d 目录中,然后运行此

update-rc.d myscript defaults

但当我重启电脑时什么都没发生。为什么?

答案1

简短回答:

gnome-terminal是一个 GUI 应用程序。因此它只能运行作为用户。在您尝试运行它时,还没有用户登录。请将(运行-)脚本的命令放入启动应用程序中。

你不需要需要脚本根本但是,您可以将命令直接添加到启动应用程序中。

gnome-terminal一旦您登录它就会开始。

除此之外,你的运行命令gnome-terminal不正确。应该是/usr/bin/gnome-terminal(正如@steeldriver 所说,谢谢),或者,因为它在$PATH,所以简单地说gnome-terminal

答案2

脚本中的主要错误在于,在第三个语句中,您实际上注释掉了打开终端的命令。请删除“#“来自第三条语句。同时,您可以简单地使用gnome 终端激活它,但它应该以用户身份运行。这意味着将它添加到 update-rc 也行不通。如果你更倾向于使用终端方式,那么你可以在 crontab 中添加脚本,然后将其添加到用户的 crontab 文件中重启约束。这将在启动时运行您的脚本。因此我总结如下:
您的文件名为 script.sh :

#!/bin/bash
#start terminal at startup
gnome-terminal

使用以下命令使用户可执行脚本。

chmod u+x /path/to/script.sh

现在打开终端并编辑用户的 crontab,如下所示:

crontab -e -u username

进行相应的更改后,将以下语句添加到文件底部。

@reboot /path/to/script.sh

现在重启。就这样。

相关内容