How To Change Default runlevel in Debian 10 / Debian 9

0

In Debian 10 / Debian 9, systemd uses targets instead of run-levels. The /etc/inittab file is no longer used by systemd to change run levels.

This post will help you to set up the default runlevel in Debian 10 / Debian 9.

Change Default runlevel

The Default runlevel can be set either by using the systemctl command or making a symbolic link of runlevel targets file to the default target file.

Method 1

Let’s check the current run level by using the following command.

sudo systemctl get-default

Output:

graphical.target

Before changing the default runlevel, check out the available targets.

sudo systemctl list-units --type=target

The output will look like below:

UNIT                   LOAD   ACTIVE SUB    DESCRIPTION
basic.target           loaded active active Basic System
cryptsetup.target      loaded active active Encrypted Volumes
getty.target           loaded active active Login Prompts
graphical.target       loaded active active Graphical Interface
local-fs-pre.target    loaded active active Local File Systems (Pre)
local-fs.target        loaded active active Local File Systems
multi-user.target      loaded active active Multi-User System
network-online.target  loaded active active Network is Online
network.target         loaded active active Network
nss-user-lookup.target loaded active active User and Group Name Lookups
paths.target           loaded active active Paths
remote-fs.target       loaded active active Remote File Systems
slices.target          loaded active active Slices
sockets.target         loaded active active Sockets
sound.target           loaded active active Sound Card
swap.target            loaded active active Swap
sysinit.target         loaded active active System Initialization
time-sync.target       loaded active active System Time Synchronized
timers.target          loaded active active Timers

LOAD   = Reflects whether the unit definition was properly loaded.
ACTIVE = The high-level unit activation state, i.e. generalization of SUB.
SUB    = The low-level unit activation state, values depend on unit type.

Issue the following command to change the default runlevel to runlevel 3 (nothing but a multi-user.target).

sudo systemctl set-default multi-user.target

Confirm the default runlevel.

sudo systemctl get-default

Output:

multi-user.target

Reboot and check it out.

sudo reboot

Method 2

In the previous method, we made the runlevel 3 as the default runlevel. You can also confirm that using the following command.

sudo systemctl get-default

Output:

multi-user.target

For a demo, issue the following command to make runlevel 5 as the default runlevel.

sudo ln -sf /lib/systemd/system/runlevel5.target /etc/systemd/system/default.target

OR

sudo ln -sf /lib/systemd/system/graphical.target /etc/systemd/system/default.target

Again check the current level. Now the default runlevel is the graphical mode(runlevel 5).

sudo systemctl get-default

Output:

graphical.target

Reboot the machine and check it out.

sudo reboot

Conclusion

That’s All. I hope this helped you. We welcome your comments.

You might also like