Raymii.org
Quis custodiet ipsos custodes?Home | About | All pages | Cluster Status | RSS Feed
Run software on the tty1 console instead of getty login on Ubuntu 14.04 and 16.04
Published: 10-04-2017 | Author: Remy van Elst | Text only version of this article
❗ This post is over seven years old. It may no longer be up to date. Opinions may have changed.
Recently I wanted to change the default login prompt on the tty1
console on an
OpenStack instance to automatically run htop
. Instead of logging in via the
console, I wanted it to start up htop
right away and nothing else. Ubuntu
14.04 uses init
and Ubuntu 16.04 uses systemd. Both ways are shown in this
tutorial.
Recently I removed all Google Ads from this site due to their invasive tracking, as well as Google Analytics. Please, if you found this content useful, consider a small donation using any of the options below:
I'm developing an open source monitoring app called Leaf Node Monitoring, for windows, linux & android. Go check it out!
Consider sponsoring me on Github. It means the world to me if you show your appreciation and you'll help pay the server costs.
You can also sponsor me by getting a Digital Ocean VPS. With this referral link you'll get $200 credit for 60 days. Spend $25 after your credit expires and I'll get $25!
Here's what the default login prompt on the console looks:
And here is the result, htop
running without ever logging in:
Do note that you loose the ability to login via the regular console this way.
ssh
is your only means of access. Do note that the software is run as root. If
you for example want to run vim
you also can escape to a shell. htop
as far
as I know doesn't allow command execution.
On Ubuntu 14.04, edit the following file:
vim /etc/init/tty1.conf
Replace:
exec /sbin/getty -8 38400 tty1
with:
exec /usr/bin/htop </dev/tty1 >/dev/tty1 2>&1
Use full paths and make sure output and input are redirected (`</dev/tty1
/dev/tty1 2>&1`).
On Ubuntu 16.04 stuff changes due to systemd
. No longer can you use output
redirection, this is now all handled via systemd
. Create an override folder
for the getty@tty1
service first:
mkdir /etc/systemd/system/getty@tty1.service.d/
Edit the override file:
vim /etc/systemd/system/getty@tty1.service.d/override.conf
Place the following:
[Service]
ExecStart=
ExecStart=-/usr/bin/htop
StandardInput=tty
StandardOutput=tty
Now reload the unit files and restart the service. htop
should appear on your
prompt:
systemctl daemon-reload; systemctl restart getty@tty1.service
Or just do a reboot
.
As a bonus, you can also install hollywood
:
apt-get install tmux hollywood # fill your console with Hollywood melodrama technobabble
and set that up to autorun on the console. Use the following in the systemd
file otherwise byobu
will complain about wrong permissions on your homefolder:
/usr/bin/sudo -H /usr/bin/hollywood
Much fun:
Tags: console , htop , systemd , tty , tutorials