Non-graphical boot with systemd
Open a terminal and (as root) run:
systemctl set-default multi-user.target
or with --force
systemctl set-default -f multi-user.target
to overwrite any existing conflicting symlinks1.
Double-check with:
systemctl get-default
Another way is to add the following parameter to your kernel boot line:
systemd.unit=multi-user.target
In /etc/systemd/system
you'll find a symlink, default.target
. Currently this points to /usr/lib/systemd/system/graphical.target
(you can see this with readlink default.target
.
As root (or via sudo), delete the symlink and replace it:
rm default.target
ln -s /usr/lib/systemd/system/multi-user.target default.target
Double check that with type default.target
. It should say "symbolic link to...", not "broken symbolic link to..." in which case you typed the target wrong, start again. Also double check you got the name right, default.target
-- all this is important to having the system reboot properly.
You can now reboot and go to console instead of a display manager. To change back to a GUI login, reverse the process above.
KDM
has a bug where it will ignore the multi-user.target
target when using systemd
.
You still need to set the multi-user.target
as mentioned in the answers above. But for some reason KDE
will ignore that even when it is correctly set and still run at boot :/ .
Here is the work around that I found that eventually did the trick. Add the following to your kernel command line parameters:
systemd.mask=kdm.service
I edited /etc/default/grub
and changed the GRUB_CMDLINE_LINUX_DEFAULT
line to read as follows:
GRUB_CMDLINE_LINUX_DEFAULT="quiet systemd.mask=kdm.service"
After this change update grub
:
update-grub
Now after a reboot the system displays a console login prompt rather than starting X and KDE
.