Setting alternative getty service on Ubuntu with systemd
Reading time: 20 – 34 minutesThere is an a curses app called wicd-curses which uses a service called wicd, thanks to that app is possible to setup networking configuration for wired and wireless networks using a ncurses environment.
The purpose of the next cookbook is get the wicd-curses running on tty1 after the Ubuntu boots; allowing a console user configure networking settings without login in the system. After installing the wicd-curses package we have the daemon running. The first thing to do is ensure that systemd is taking take of the service:
systemctl enable wicd.service
Next we have to stop the service that launch getty on tty1 when the system boots:
systemctl disable getty@tty1.service
Now it’s time to define configuration file for our service /etc/systemd/system/wicd-boot.service:
[Unit] Description=WICD ncurses on tty After=wicd.service [Service] Type=simple StandardInput=tty StandardOutput=tty RemainAfterExit=yes ExecStart=/usr/bin/wicd-curses Restart=always RestartSec=2 [Install] WantedBy=multi-user.target
Finally enable wicd-boot.service is required:
systemctl enable wicd-boot.service
Try new configuration is possible without reboot just doing:
systemctl daemon-reload systemctl restart wicd-boot.service # check if the service is running with systemctl status wicd-boot.service
On other tty consoles we also have getty but not in tty1 where we have the wicd-curses interface. When we reboot the system we have the same behavior. Before finish the email I want to mention two helping references:
- Arch linux forum: how autostart Interactive program at boot before tty appears
- systemd man page