具有shell交互的自动启动脚本

时间:2017-05-22 13:15:16

标签: linux bash shell

我正在寻求在ubuntu中安装一个脚本,该脚本在系统重启时自动运行。

我试过从/etc/rc.local运行它的问题是: 我的脚本调用一个c程序,它抛出一些Gtk弹出窗口,一些printfs在shell中并等待scanf输入。当我把它放在rc.local并重新启动系统似乎没有执行,但实际上它在启动shell后台运行(我在/ var / log / syslog中看到)所以gtk弹出窗口既不能显示printf / scanf交互。

然后我找了其他方法来实现,我找到了〜/ .config / autostart / 这里我放置一个file.desktop,其中包含以下内容:

 [Desktop Entry] 
Name=backup Exec=/path/myScript.sh  
Type=Application  
Hidden=false 
NoDisplay=false
X-GNOME-Autostart-enabled=true

在myScript中,我做了一个make和以下内容:

  

gnome-terminal -e“bash   -c \“/ path / myprogram; exec bash \”“&

最后这是有效的,这是在重启时运行,但现在的问题是我的程序在q新shell中运行2次(这正是我正在寻找的)和另一个在启动后台运行,因为它发生在rc.local方法上。 我该怎么办?

1 个答案:

答案 0 :(得分:0)

如果您可以使用systemd服务来自动启动脚本,那就更好了。最新版本的ubuntu正在使用systemd服务来安排脚本。您可以在/ lib / systemd / system目录中找到一些引用。