How to create init.d startup script
Solution 1:
If you want to do this as system startup (as opposed to when you log in to your computer), put the commands you want to run in /etc/rc.local
.
See [Ubuntu] Executing a script at startup and shutdown.
Solution 2:
If the script does not need to be run by root, you can do this:
1) Open "Startup Applications Preferences" (Alt + F2 and paste gnome-session-properties
and hit Enter),
2) Press "Add" and select your script:
If you are not using a graphical environment, you can put the commands just before the line exit 0
in this file: /etc/rc.local
. (To edit it just paste at terminal sudo nano /etc/rc.local
.
Solution 3:
The /etc/rc.local approach will 'run a very simple command at startup', but it is not an init.d script approach, and is in various ways inferior. (That may not matter, depending on your purpose).
Unlike init.d scripts, rc.local comands don't offer a standard interface to starting and stopping a process, and they don't offer much ability to influence when in the startup process they are run. You can see in the /etc/init.d/rc.local
script that this is run after everything else (Required-Start: $all
).
If an init.d script really is what you want, then usually just grabbing an existing script, copying it and editing it works fine, though some of the existing scripts have more complexity than you want. Since that's how most init.d scripts start, ubuntu provides /etc/init.d/skeleton for this purpose.
Also worth a look:
-
/etc/init.d/motd
is a minimal example that runs something at startup, but with theRequired-Start
parameter setting when it should happen. -
/etc/init.d/cron
is a simple starting point for a daemon process (give or take theparse_environment
function, which you probably don't need).