You are not logged in.
Hi all, I am currently installing arch for the first time on a lenovo thinkpad. I got everything installed and set up off of the usb, grub is good to go, I'm hooked up to an ethernet cable and have a connection, etc, currently using a user with sudo privileges.
I'm trying to get a KDE plasma desktop set up to run, and this is what I've done to do that:
sudo pacman -S plasma sddm
sudo pacman -S konsole kate firefox
sudo systemctl enable sddm
The problem is on the last step, where it returns:
"The unit files have no installation config (WantedBy=, RequiredBy=,
. . .
for template units). This means they are not meant to be enabled or disabled using systemctl.
. . ."
(let me know if you want the full text of the output, I just tried to include the highlights)
"sudo systemctl enable sddm.service" gives the same output. From what I could tell looking at the sddm page of the wiki, it appears that the file "/usr/lib/sddm/sddm.conf.d/default.conf" should have the default configuration in it, and it doesn't really require any setting up; it's already ready to go. Inspecting the file with nano, it has plenty of stuff in it and none of it looks too unexpected. under [General], the variables GreeterEnvironment, InputMethod, and Namespaces are all unasigned (e.g. "GreeterEnvironment=") which strikes me as odd, but that's about it. There are similar unassigned values under [Theme] and [Users].
The command sddm --example-config prints a bunch of stuff to the terminal, but
sudo sddm --example-config > /usr/lib/sddm/sddm.conf.d/default.conf
returns
"-bash /usr/lib/sddm/sddm.conf.d/default.conf: Permission denied."
I'm not really sure where to go from here. I wasn't able to find anything on the arch or KDE subreddits or the Debian wiki either, and I would really like to have my laptop up and running again within the next couple of days so I don't have to do all of my work on this rpi5. Any help would be greatly appreciated!
Last edited by EnolaNekasrof (2024-06-23 16:35:26)
Offline
What are the outputs of
file /etc/systemd/system/display-manager.service
cat /usr/lib/systemd/system/sddm.service
Cheers,
"Before Enlightenment chop wood, carry water. After Enlightenment chop wood, carry water." -- Zen proverb
Offline
What are the outputs of
file /etc/systemd/system/display-manager.service cat /usr/lib/systemd/system/sddm.service
Cheers,
file /etc/systemd/display-manager.service
returns No such file or directory. I tried
ls /etc/systemd
,
and there is no display manager listed there.
cat /usr/lib/systemd/sddm.service
returns
[Unit]
Description=Simple Desktop Display Manager
Documentation=man:sddm(1) man:sddm.conf(5)
Conflicts=getty@tty1.service
After=systemd-user-sessions.service getty@tty1.service plymouth-quit.service systemd-logind.service
PartOf=graphical.target
StartLimitIntervalSec=30
StartLimitBurst=2
[Service]
ExecStart=usr/bin/sddm
Restart=always
[Install]
Alias=display-manager.service
edit to add: there is a display-manager.service under "ls /systemd/system", and "file /etc/systemd/system/display-manager.service" returns "symbolic link to /usr/lib/systemd/system/sddm.service"
Last edited by EnolaNekasrof (2024-06-23 05:26:21)
Offline
So...
"file /etc/systemd/system/display-manager.service" returns "symbolic link to /usr/lib/systemd/system/sddm.service"
... and the unit file exists at /usr/lib/systemd/sddm.service? Or at /usr/lib/systemd/system/sddm.service?
What is the output of
$ systemctl status sddm
Cheers,
====================
Edit - Is this the response when you enable the service?
$ sudo systemctl enable sddm
Created symlink '/etc/systemd/system/display-manager.service' → '/usr/lib/systemd/system/sddm.service'.
The unit files have no installation config (WantedBy=, RequiredBy=, UpheldBy=,
Also=, or Alias= settings in the [Install] section, and DefaultInstance= for
template units). This means they are not meant to be enabled or disabled using systemctl.
Possible reasons for having these kinds of units are:
• A unit may be statically enabled by being symlinked from another unit's
.wants/, .requires/, or .upholds/ directory.
• A unit's purpose may be to act as a helper for some other unit which has
a requirement dependency on it.
• A unit may be started when needed via activation (socket, path, timer,
D-Bus, udev, scripted systemctl call, ...).
• In case of template units, the unit is meant to be enabled with some
instance name specified.
Last edited by dakota (2024-06-23 06:23:29)
"Before Enlightenment chop wood, carry water. After Enlightenment chop wood, carry water." -- Zen proverb
Offline
So...
"file /etc/systemd/system/display-manager.service" returns "symbolic link to /usr/lib/systemd/system/sddm.service"
... and the unit file exists at /usr/lib/systemd/sddm.service? Or at /usr/lib/systemd/system/sddm.service?
What is the output of
$ systemctl status sddm
Cheers,
====================
Edit - Is this the response when you enable the service?
$ sudo systemctl enable sddm Created symlink '/etc/systemd/system/display-manager.service' → '/usr/lib/systemd/system/sddm.service'. The unit files have no installation config (WantedBy=, RequiredBy=, UpheldBy=, Also=, or Alias= settings in the [Install] section, and DefaultInstance= for template units). This means they are not meant to be enabled or disabled using systemctl. Possible reasons for having these kinds of units are: • A unit may be statically enabled by being symlinked from another unit's .wants/, .requires/, or .upholds/ directory. • A unit's purpose may be to act as a helper for some other unit which has a requirement dependency on it. • A unit may be started when needed via activation (socket, path, timer, D-Bus, udev, scripted systemctl call, ...). • In case of template units, the unit is meant to be enabled with some instance name specified.
I don't fully understand what a unit file is yet, but based on the outputs, I would assume that the unit file is at /usr/lib/systemd/system/sddm.service, since trying to access sddm.service at /usr/lib/systemd returns that the file doesn't exist.
The output of
$ systemctl status sddm
is
o sddm.service - Simple Desktop Display Manager
Loaded: loaded (/usr/lib/systemd/system/sddm.service; enabled; preset: disabled)
Active: inactive (dead)
Docs: man:sddm(1)
man:sddm.conf(5)
And yes, that is the exact output that I got when running
(sudo) systemctl enable sddm(.service)
(Parentheses in previous code indicate things that can be present or absent with no effect on the output)
Last edited by EnolaNekasrof (2024-06-23 06:40:42)
Offline
I think this is a regression in systemd and already fixed upstream, see https://gitlab.archlinux.org/archlinux/ … /issues/32 and https://github.com/systemd/systemd/comm … 86aa75ebb9
Offline
@EnolaNekasrof - a couple of things to think about...
When quoting, you do not need to include the entire post. Streamlining the quote makes the thread more readable.
If the type of unit file is not specified, systemctl assumes .service. So, systemctl enable sddm is equivalent to systemctl enable sddm.service
Pay attention to your paths: /etc/systemd/display-manager.service is not the same as /etc/systemd/system/display-manager.service (see post #3)
systemctl status sddm indicates that the service is running and there are no errors. Have you tried rebooting?
As gromit points out, this may have already been resolved upstream, but other users have been having trouble with sddm lately with different symptoms. In my case, when I installed sddm last night, my system completely froze after logging in. I switched to a different TTY, removed the package and rebooted (because it was late and I didn't feel like troubleshooting further).
Cheers,
"Before Enlightenment chop wood, carry water. After Enlightenment chop wood, carry water." -- Zen proverb
Offline
@dakota
My bad; I'm somewhat new to internet forums, so my apologies for any bad formatting, etc, etc. I'm working on it though. I restarted my computer this morning, and plasma is now working as expected, so I'm feeling a bit dumb for having not tried that simple fix lol.
And @gromit, thanks for the information. I don't fully understand all of that yet, but it should be a good jumping-off point to fill in my lack of understanding about why this happened.
Thanks for the help, both of you!
Offline
...my apologies for any bad formatting, etc, etc.
No problem.
Also note:
sudo sddm --example-config > /usr/lib/sddm/sddm.conf.d/default.conf
returns "-bash /usr/lib/sddm/sddm.conf.d/default.conf: Permission denied."
I'm not sure where you got that, but I wouldn't expect it to work. Typically, you don't edit configuration files in /usr/lib, but copy those file somewhere else and edit them there (either to /etc or maybe in your home directory, depending).
In the case of sddm:
The default configuration file for SDDM can be found at /usr/lib/sddm/sddm.conf.d/default.conf. For any changes, create configuration file(s) in /etc/sddm.conf.d/.
Cheers,
"Before Enlightenment chop wood, carry water. After Enlightenment chop wood, carry water." -- Zen proverb
Offline