Linux/Runlevel/Default

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

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.

# systemctl get-default
graphical.target

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

# systemctl list-units --type=target
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).

# systemctl set-default multi-user.target

Confirm the default runlevel.

# systemctl get-default
multi-user.target

Reboot and check it out.

# 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.

#systemctl get-default
multi-user.target

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

# ln -sf /lib/systemd/system/runlevel5.target /etc/systemd/system/default.target
OR
# 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).

# systemctl get-default
graphical.target

Reboot the machine and check it out.

# reboot

Links

Weblinks