When working with systemd, you will work with targets. A target is a group of services.
Some targets are isolatable and that means that you can use them as a state that your system should be in.
There's four of them that you should know.
These are Emergency target, Rescue Target, Multi User target, and Graphical target, where emergency and rescue are only used
if you need to fix something. Multi user is the typical state that the server without GUI is starting
in, and graphical target is what your workstation is starting in if it uses a graphical desktop.
In this target, different units are started and you can use systemctl list dependencies
on the target to see the contents and the dependencies of the systemd targets.
That makes it crystal clear what exactly is started within the target.
You can use systemctl getdefault to check your current default target. And if ever you
want to change you use systemctlsetdefault to set a different target as a default.
Let's analyze what these dependencies are all about.
So I'm starting with the systemctl. What was it again? It lets you
Tab completion. Do you see that all these commands that are automatically displayed?
Well, I'm going to make that get default and use tab completion to automatic automatically completed. So my default is
the graphical target. So if I want to know what's going on in my target, I'm using systemctl list dependencies.
And there I can show in my default target, that's a graphical target. I can see everything that is
started nicely indicated with these green dots or white dots, where green means it is currently running, white means
it's not currently running, and if you would see red, then that means that something has gone wrong.
Here you can see what exactly is happening to get your system into a certain state.