I use Manjaro Linux and after an update, when I boot, journalctl says the system reached graphical target, but it starts up in tty1 and I need to type startx to start the KDE. Then I type my password again in a kdewallet popup, to connect to wifi.

After that, everything works fine. In Manjaro, the gui starts in tty1, while in other distros, it usually starts in tty7.

I tried setting the default to graphical.target with the systemctl command, and by editing grub menu by replacing the quit parameter by systemd.unit=graphical.target, but it still starts up in the tty1 session.

I also tried adding a custom entry in the grub menu, but that does not help either.

To add this to the grub menu:

  • copy the first grub menu entry from /boot/grub/grub.cfg into the file /etc/grub.d/40_custom

  • replace the quit command by systemd.unit=graphical.target

  • change the menuentry title and run sudo update-grub

Any ideas on how to get the system to start normal again. I posed the question in the Manjaro forum a week ago, but there is no reply.

I suppose it will be faster to just re-install, but I am curious why this happens, and how to correct it.

Thanks for the tips. I found that ssdm is installed but not active, it is masked.

When I try to re-install it, I get this error:

    sudo pacman -S sddm

    warning: sddm-0.19.0-2.2 is up to date -- reinstalling
    error: sddm: signature from "Philip Müller (Called Little)<[email protected]>" is invalid
    :: File /var/cache/pacman/pkg/sddm-0.19.0-2.2-x86_64.pkg.tar.zst is corrupted (invalid or corrupted package (PGP signature)).
    Do you want to delete it? [Y/n] 
    error: failed to commit transaction (invalid or corrupted package (PGP signature))
    Errors occurred, no packages were upgraded.
    [marc@ass ~]$ systemctl enable sddm.service
    Failed to enable unit: Unit file /usr/lib/systemd/system/sddm.service is masked.

When I look for /usr/lib/systemd/system/sddm.service, I see that it is empty.

Am I correct that there is some kind of packaging error, and that due to the corrupted package, the system blocked it from starting ? If the package is corrupt, should not more people have this problem ?

Should I wait some time for the package to get repaired, or should I uninstall it and install another greeter like lightdm ?

2 Answers 2

  1. /etc/systemd/system/default.target pointing to /usr/lib/systemd/system/graphical.target must contain:


To check your default systemd target:

systemctl get-default

# ls -l /etc/systemd/system/default.target
lrwxrwxrwx. 1 root root 40 Jan 1  2020 /etc/systemd/system/default.target -> /usr/lib/systemd/system/graphical.target
  1. /etc/systemd/system/display-manager.service symlink pointing to an actual Display Manager unit must exist, in my case it's /usr/lib/systemd/system/lxdm.service.

To check it:

ls -l /etc/systemd/system/display-manager.service
lrwxrwxrwx. 1 root root 36 Jan 1  2020 /etc/systemd/system/display-manager.service -> /usr/lib/systemd/system/lxdm.service

# cat /usr/lib/systemd/system/lxdm.service
Description=LXDM (Lightweight X11 Display Manager)
[email protected]
After=systemd-user-sessions.service [email protected] plymouth-quit.service livesys-late.service



If these two requirements are met, you must have a graphical display manager on boot.

Most likely you'd want to have SDDM installed as it's a preferred DM for KDE. Here's how you can install/reenable it.


Setting graphical.target does not automatically put you in a graphical session. What it does is to ensure that when you boot your system, all programs/services that are expected to be running in the graphical.target target are run.

When you enable a service, you are are adding that service to some target (multi-user, graphical, etc). In what particular target depends on the configuration of that unit.

You need to enable some program so that when the system enters the graphical target it will take care of starting a graphical session.

Normally, this program is a Display Manager. Make sure you have some installed on you system. If you are using KDE, you might prefer using sddm. In my Arch system I would install it by running:

sudo pacman -S sddm

Then you need to enable that unit. To do so run

systemctl enable sddm.service

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .