Skip to main content

Raymii.org Logo (IEC resistor symbol)logo

Quis custodiet ipsos custodes?
Home | About | All pages | RSS Feed | Gopher

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


Table of Contents


Recently I wanted to change the default login prompt on the tty1 console on anOpenStack instance to automatically run htop. Instead of logging in via theconsole, I wanted it to start up htop right away and nothing else. Ubuntu14.04 uses init and Ubuntu 16.04 uses systemd. Both ways are shown in thistutorial.

If you like this article, consider sponsoring me by trying out a Digital OceanVPS. With this link you'll get $100 credit for 60 days). (referral link)

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. Ifyou for example want to run vim you also can escape to a shell. htop as faras 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 outputredirection, this is now all handled via systemd. Create an override folderfor 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/htopStandardInput=ttyStandardOutput=tty

Now reload the unit files and restart the service. htop should appear on yourprompt:

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 systemdfile 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