我想在系统启动时运行一个脚本。脚本是:
#!/bin/bash
gnome-terminal --tab -t "MyPC" -e "sh -c 'nohup firefox & nohup gedit & bash'" --tab -t "MYPC2" -e "sh -c 'ls -al;ls; bash'" > /home/user/gnome
所以我将脚本复制到/etc/init.d
并运行update-rc.d boot-up defaults
boot-up
是我的脚本的名称。
现在,当我重新启动时,gnome 终端没有打开(如脚本中所写),尽管我可以看到/home/user/gnome
正在创建的文件是空的。
我尝试了其他方法,例如将其放入,/etc/rc.local
但无济于事。
脚本运行的唯一方法是当我通过startup-Applications
.
知道如何让它发挥作用吗?
我用的是Ububutu 12.10
答案1
该脚本在启动时将无法正确运行gnome-terminal
,firefox
并且gedit
会期望 X 会话正在运行。
和init.d
/或systemd
路线在启动过程中对于您的要求来说太早了。您最好创建一个.desktop
文件并将系统配置为在登录时自动启动它。
创建文件如下:-
$ gedit ~/.config/autostart/my_stuff.desktop
并添加以下内容:
[Desktop Entry]
Type=Application
Name=My Script
Exec=~/my_script.sh
X-GNOME-Autostart-enabled=true
请注意,它~/my_script.sh
应该指向您创建的脚本。保存。
使其可执行:
$ chmod o+x ~/.config/autostart/my_stuff.desktop
当您下次登录时,它应该会为您打开终端、firefox 和 gedit。