# [[Set Linux startup mode using systemd]]
_Created: 2025-12-19_ | #linux #systemd | [[010 System Administration MOC|System Administration]]
## Find the current mode
```shell-session
$ systemctl get-default
graphical.target
```
Could be `graphical.target` or `multi-user.target`
`graphical.target` is mostly `multi-user.target` itself, with the addition of starting the display manager and a couple of desktop helper services.
```shell-session
$ systemctl list-dependencies graphical.target | head -n 10
graphical.target
● ├─accounts-daemon.service
● ├─lightdm.service
○ ├─nvmefc-boot-connections.service
○ ├─nvmf-autoconnect.service
× ├─openipmi.service
● ├─udisks2.service
● └─multi-user.target
● ├─avahi-daemon.service
● ├─console-setup.service
```
## Switch temporarily to a different mode
Without making the bootup configuration permanent, we can temporarily switch current mode. If you were in graphical mode earlier at the terminal, this will switch you to the text terminal mode.
```bash
sudo systemctl isolate multi-user.target
```
Note: If you were typing this into a graphical terminal at the console, the screen might go blank because the display manager shuts down. You might need to press Alt+F1 to find a text terminal.
## Configure the default boot up mode
```shell-session
$ sudo systemctl set-default multi-user.target
Removed '/etc/systemd/system/default.target'.
Created symlink '/etc/systemd/system/default.target' → '/usr/lib/systemd/system/multi-user.target'.
```
To confirm:
```shell-session
$ systemctl get-default
multi-user.target
```
This command just finds the target of a special symlink that decides the boot up default.
```shell-session
$ ls -al /etc/systemd/system/default.target
lrwxrwxrwx 1 root root 41 Dec 19 08:58 /etc/systemd/system/default.target -> /usr/lib/systemd/system/multi-user.target
```
## References
- [How to switch between the CLI and GUI on a Linux server](https://www.redhat.com/en/blog/configure-systemd-startup-targets)(redhat.com)
- [systemctl man page](https://manpages.debian.org/stretch/systemd/systemctl.1.en.html) (debian.org)