Run Terminal Command at Boot
From: https://superuser.com/questions/471253/ubuntu-how-to-run-a
-terminal-command-on-boot
Ubuntu - How to run a terminal command
on boot?
I want to execute a command when Ubuntu boots. The commands in particular are:
sudo shutdown +m
sudo shutdown +1
I want the computer to shut down as soon as it starts for testing purposes.
I plan on switching the computer back on with a bit of circuitry I am
testing.
How can I execute this command automatically at system start up?
12 "auto shutdown at boot" sounds evil. :) –
Ankit Sep 7, 2012 at 13:00
Answer 14
Place it in /etc/rc.local. (It is run as root, so sudo is not needed
there.)
Also, you may be interested to read additional info about runlevels:
http://en.wikipedia.org/wiki/Runlevel
u1686_grawity 430k6464 gold badges899899 silver badges973973 bronze badges
Comments
You can also go to System/Preferences/Startup Applications, and add the
script there. –
SaintWacko Sep 7, 2012 at 13:06
Not working for me on Ubuntu Server 18.04 - I want to swap on as sudo swapon
/swapfile –
Nam G VU Feb 25, 2020 at 11:54
Use crontab with @reboot syntax working for me ref.
superuser.com/a/586078/34893 –
Nam G VU Feb 25, 2020 at 12:12
Answer 5
There are different ways to automatically run commands:
- The upstart system will execute all scripts form which it finds a
configuration in directory /etc/init. These scripts will run during system
startup (or in response to certain events, e.g., a shutdown request) and so
are the place to run commands that do not interact with the user; all
servers are started using this mechanism. You can find a readable
introduction to at: http://upstart.ubuntu.com/getting-started.html the man
pages man 5 init and man 8 init give you the full details.
- A shell script named .gnomerc in your home directory is automatically
sourced each time you log in to a GNOME session. You can put arbitrary
commands in there; environment variables that you set in this script will be
seen by any program that you run in your session. Note that the session does
not start until the .gnomerc script is finished; therefore, if you want to
autostart some long-running program, you need to append & to the program
invocation, in order to detach it from the running shell.
- The menu option System -> Preferences -> Startup Applications allows you to
define what applications should be started when your graphical session starts
(Ubuntu predefines quite some), and add or remove them to your taste. This has
almost the same purpose and scope of the .gnomerc script, except you don't need
to know sh syntax (but neither can you use any sh programming construct).
Ankit 4,72622 gold badges2323 silver badges3232 bronze badges
Answer 1
For simple things you can add a command in System->Preferences->Sessions
pointing to the location of your script.
Alternatively you can add it to /etc/init.d/rc.local or make an upstart job if
it's a more low level stuff.
Take a look at https://help.ubuntu.com/community/UbuntuBootupHowto
for more info