0

I use Manjaro linux. After an update, when I boot, journalctl says the system reached graphical target, but it starts up in tty1 cli, and I need to type startx to start the kde gui, and then 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.cnf 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)<philm@manjaro.org>" 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 ?

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

Wants=display-manager.service

To check your default systemd target:

systemctl get-default
graphical.target

# 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
[Unit]
Description=LXDM (Lightweight X11 Display Manager)
#Documentation=man:lxdm(8)
Conflicts=getty@tty1.service
After=systemd-user-sessions.service getty@tty1.service plymouth-quit.service livesys-late.service
#Conflicts=plymouth-quit.service

[Service]
ExecStart=/usr/sbin/lxdm
Restart=always
IgnoreSIGPIPE=no
#BusName=org.freedesktop.lxdm

[Install]
Alias=display-manager.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.

0

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

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.