How to permanently switch over to runlevel 3 on 20.04.x LTS

I deployed new 20.04.x LTS systems and now I would like to cut all of that TTY7 stuff and move to runlevel 3 instead (multiuser+network).

Before, I used to do this:

But now, this doesn't seem to be working anymore:

$ sudo systemctl isolate multi-user.target
$ sudo systemctl enable multi-user.target
The unit files have no installation config (WantedBy=, RequiredBy=, Also=,
Alias= settings in the [Install] section, and DefaultInstance= for template
units). This means they are not meant to be enabled using systemctl.
 
Possible reasons for having this kind of units are:
• A unit may be statically enabled by being symlinked from another unit's
  .wants/ or .requires/ directory.
• A unit's purpose may be to act as a helper for some other unit which has
  a requirement dependency on it.
• A unit may be started when needed via activation (socket, path, timer,
  D-Bus, udev, scripted systemctl call, ...).
• In case of template units, the unit is meant to be enabled with some
  instance name specified.
$

So what would be the "official method" if one wishes to totally scrap GUI when using 20.04. LTS?

The systemctl isolate is temporary way.

To make it permanent you have to use systemctl set-default as shown below:

sudo systemctl set-default multi-user.target

and reboot.

To revert graphical session use

sudo systemctl set-default graphical.target

For details you can check man systemctl .

1 Like

You could modify /etc/default/grub

comment this line: GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
uncomment this line: GRUB_TERMINAL=console

reboot

@pavlos_kairis

Thank you very much guys