# Broke my Display Manager SDDM to LightDm

**URL:** <https://forum.endeavouros.com/t/broke-my-display-manager-sddm-to-lightdm/57031>\
**Category:** General system\
**Created:** [June 21, 2024, 12:39pm UTC](https://forum.endeavouros.com/t/broke-my-display-manager-sddm-to-lightdm/57031 "2024-06-21T12:39:02Z")\
**Posts on this page:** 18\
**Page:** 1

<div class="post-metadata">

**Author:** ![Ganimede](https://forum.endeavouros.com/user_avatar/forum.endeavouros.com/ganimede/32/95343_2.png) [@Ganimede](https://forum.endeavouros.com/u/Ganimede)\
**Post date:** [June 21, 2024, 12:39pm UTC](https://forum.endeavouros.com/t/broke-my-display-manager-sddm-to-lightdm/57031/1 "2024-06-21T12:39:02Z")

</div>

Hello,

I’m currently tinkering with my RPI4b where I installed EOS-ARM. On the original Installation I used KDE as DE, but decided to switch to XFCE. Now I decided to remove some of the KDE components.  
One Issue came up when SDDM lost it’s theming, and as SDDM seemed a little overhead on XFCE I uninstalled it and installed lightdm instead.

Now I also installed lightdm-gtk-greeter and disables the sddm.service and enabled lightdm.service but at that point I already received warnings, as lightdm did not set up a configuration.

So I attempted to configure it manually with partial success. After some attempts lightdm shows up on boot and allows me to log in, but does not make it to the desktop session jet.  
I struggle to configure the session.

This is my current `lightdm.config`

> **/etc/lightdm/lightdm.config**
>
> ```auto
> # General configuration
> #
> # start-default-seat = True to always start one seat if none are defined in the configuration
> # greeter-user = User to run greeter as
> # minimum-display-number = Minimum display number to use for X servers
> # minimum-vt = First VT to run displays on
> # lock-memory = True to prevent memory from being paged to disk
> # user-authority-in-system-dir = True if session authority should be in the system location
> # guest-account-script = Script to be run to setup guest account
> # logind-check-graphical = True to on start seats that are marked as graphical by logind
> # log-directory = Directory to log information to
> # run-directory = Directory to put running state in
> # cache-directory = Directory to cache to
> # sessions-directory = Directory to find sessions
> # remote-sessions-directory = Directory to find remote sessions
> # greeters-directory = Directory to find greeters
> # backup-logs = True to move add a .old suffix to old log files when opening new ones
> # dbus-service = True if LightDM provides a D-Bus service to control it
> #
> [LightDM]
> #start-default-seat=true
> #greeter-user=lightdm
> #minimum-display-number=0
> #minimum-vt=7 # Setting this to a value < 7 implies security issues, see FS#46799
> #lock-memory=true
> #user-authority-in-system-dir=false
> #guest-account-script=guest-account
> logind-check-graphical=true
> #log-directory=/var/log/lightdm
> run-directory=/run/lightdm
> #cache-directory=/var/cache/lightdm
> #sessions-directory=/usr/share/lightdm/sessions:/usr/share/xsessions:/usr/share/wayland-sessions
> #remote-sessions-directory=/usr/share/lightdm/remote-sessions
> #greeters-directory=$XDG_DATA_DIRS/lightdm/greeters:$XDG_DATA_DIRS/xgreeters
> #backup-logs=true
> #dbus-service=true
> 
> #
> # Seat configuration
> #
> # Seat configuration is matched against the seat name glob in the section, for example:
> # [Seat:*] matches all seats and is applied first.
> # [Seat:seat0] matches the seat named "seat0".
> # [Seat:seat-thin-client*] matches all seats that have names that start with "seat-thin-client".
> #
> # type = Seat type (local, xremote)
> # pam-service = PAM service to use for login
> # pam-autologin-service = PAM service to use for autologin
> # pam-greeter-service = PAM service to use for greeters
> # xserver-command = X server command to run (can also contain arguments e.g. X -special-option)
> # xmir-command = Xmir server command to run (can also contain arguments e.g. Xmir -special-option)
> # xserver-config = Config file to pass to X server
> # xserver-layout = Layout to pass to X server
> # xserver-allow-tcp = True if TCP/IP connections are allowed to this X server
> # xserver-share = True if the X server is shared for both greeter and session
> # xserver-hostname = Hostname of X server (only for type=xremote)
> # xserver-display-number = Display number of X server (only for type=xremote)
> # xdmcp-manager = XDMCP manager to connect to (implies xserver-allow-tcp=true)
> # xdmcp-port = XDMCP UDP/IP port to communicate on
> # xdmcp-key = Authentication key to use for XDM-AUTHENTICATION-1 (stored in keys.conf)
> # greeter-session = Session to load for greeter
> # greeter-hide-users = True to hide the user list
> # greeter-allow-guest = True if the greeter should show a guest login option
> # greeter-show-manual-login = True if the greeter should offer a manual login option
> # greeter-show-remote-login = True if the greeter should offer a remote login option
> # user-session = Session to load for users
> # allow-user-switching = True if allowed to switch users
> # allow-guest = True if guest login is allowed
> # guest-session = Session to load for guests (overrides user-session)
> # session-wrapper = Wrapper script to run session with
> # greeter-wrapper = Wrapper script to run greeter with
> # guest-wrapper = Wrapper script to run guest sessions with
> # display-setup-script = Script to run when starting a greeter session (runs as root)
> # display-stopped-script = Script to run after stopping the display server (runs as root)
> # greeter-setup-script = Script to run when starting a greeter (runs as root)
> # session-setup-script = Script to run when starting a user session (runs as root)
> # session-cleanup-script = Script to run when quitting a user session (runs as root)
> # autologin-guest = True to log in as guest by default
> # autologin-user = User to log in with by default (overrides autologin-guest)
> # autologin-user-timeout = Number of seconds to wait before loading default user
> # autologin-session = Session to load for automatic login (overrides user-session)
> # autologin-in-background = True if autologin session should not be immediately activated
> # exit-on-failure = True if the daemon should exit if this seat fails
> #
> [Seat:*]
> #type=local
> #pam-service=lightdm
> #pam-autologin-service=lightdm-autologin
> #pam-greeter-service=lightdm-greeter
> #xserver-command=X
> #xmir-command=Xmir
> #xserver-config=
> #xserver-layout=
> #xserver-allow-tcp=false
> #xserver-share=true
> #xserver-hostname=
> #xserver-display-number=
> #xdmcp-manager=
> #xdmcp-port=177
> #xdmcp-key=
> greeter-session=lightdm-gtk-greeter
> #greeter-hide-users=false
> #greeter-allow-guest=true
> #greeter-show-manual-login=false
> #greeter-show-remote-login=true
> #user-session=default
> #allow-user-switching=true
> #allow-guest=true
> #guest-session=
> session-wrapper=/etc/lightdm/Xsession
> #greeter-wrapper=
> #guest-wrapper=
> #display-setup-script=
> #display-stopped-script=
> #greeter-setup-script=
> #session-setup-script=
> #session-cleanup-script=
> #autologin-guest=false
> autologin-user=sgr
> #autologin-user-timeout=0
> #autologin-in-background=false
> #autologin-session=
> #exit-on-failure=false
> 
> #
> # XDMCP Server configuration
> #
> # enabled = True if XDMCP connections should be allowed
> # port = UDP/IP port to listen for connections on
> # listen-address = Host/address to listen for XDMCP connections (use all addresses if not present)
> # key = Authentication key to use for XDM-AUTHENTICATION-1 or blank to not use authentication (stored in key>
> # hostname = Hostname to report to XDMCP clients (defaults to system hostname if unset)
> #
> # The authentication key is a 56 bit DES key specified in hex as 0xnnnnnnnnnnnnnn. Alternatively
> # it can be a word and the first 7 characters are used as the key.
> #
> [XDMCPServer]
> #enabled=false
> #port=177
> #listen-address=
> #key=
> #hostname=
> 
> #
> # VNC Server configuration
> #
> # enabled = True if VNC connections should be allowed
> # command = Command to run Xvnc server with
> # port = TCP/IP port to listen for connections on
> # listen-address = Host/address to listen for VNC connections (use all addresses if not present)
> # width = Width of display to use
> # height = Height of display to use
> # depth = Color depth of display to use
> #
> [VNCServer]
> enabled=false
> #command=Xvnc
> #port=5900
> #listen-address=
> #width=1024
> #height=768
> #depth=8
> 
> ```

Test mode will result in a loop of these 5 lines

> **lightdm --test-mode --debug**
>
> ```auto
> DEBUG: Seat seat0: Failed to start session, starting greeter
> DEBUG: Seat seat0: Creating greeter session
> DEBUG: Seat seat0: Creating display server of type wayland
> DEBUG: Seat seat0: Display server ready, starting sessions authentication
> CRITICAL: sessions_real_start: assertion 'priv->pid == 0' failed
> 
> ```

So it seems the session is not set up, and the display server is set up wrong. XFCE to my understanding utilizes X11 not wayland.

---

<div class="post-metadata">

**Author:** ![Stefax2001](https://forum.endeavouros.com/letter_avatar_proxy/v4/letter/s/91b2a8/32.png) [@Stefax2001](https://forum.endeavouros.com/u/Stefax2001)\
**Post date:** [June 21, 2024, 3:06pm UTC](https://forum.endeavouros.com/t/broke-my-display-manager-sddm-to-lightdm/57031/2 "2024-06-21T15:06:42Z")

</div>

Check if you have anything in this directory `/usr/share/xsessions/`  
if there is nothing xfce related create new desktop entry named `xfce.desktop` with following content

> **Content**
>
> ```auto
> [Desktop Entry]
> Version=1.0
> Name=Xfce Session
> Comment=Use this session to run Xfce as your desktop environment
> Exec=startxfce4
> Icon=
> Type=Application
> DesktopNames=XFCE
> 
> ```

then go to your `lightdm.conf` and change `#user-session=default ` to `user-session=xfce`. Dont forget to uncomment this line.

---

<div class="post-metadata">

**Author:** ![Pudge](https://forum.endeavouros.com/user_avatar/forum.endeavouros.com/pudge/32/17155_2.png) [@Pudge](https://forum.endeavouros.com/u/Pudge)\
**Post date:** [June 21, 2024, 3:53pm UTC](https://forum.endeavouros.com/t/broke-my-display-manager-sddm-to-lightdm/57031/3 "2024-06-21T15:53:55Z")

</div>

If EnOS had originally set up lightdm, it would have used lightdm-slick-greeter as default and not lightdm-gtk-greeter. There is nothing wrong with lightdm-gtk-greeter, but slick-greeter is what was chosen as default for EnOS  
.  
If lightdm-slick-greeter is installed, in the EnOS repo, is a package

```auto
sudo pacman -Sy eos-settings-xfce4 

```

Installing that package _should_ set up the EnOS theming, but since sddm was originally installed that might mess with things. Go to

> **[repo/endeavouros/aarch64 at master · endeavouros-team/repo](https://github.com/endeavouros-team/repo/tree/master/endeavouros/aarch64)**
>
> Contribute to endeavouros-team/repo development by creating an account on GitHub.

scroll down and notice there is a

```auto
eos-settings-xxxx

```

for every DE that is supported, plus the i3wm Window Manager.

There is also a Topic that covers basic theming, etc for lightdm-slick-greeter.

> [@Want to experiment with Lightdm slick greeter?](https://forum.endeavouros.com/t/want-to-experiment-with-lightdm-slick-greeter/298):
>
> By default, EndeavourOS uses LightDM for the log-in, and uses the lightdm-gtk-greeter. There is absolutely nothing wrong with lightdm-gtk-greeter, but if you’re like me and just have to tinker around, here is how to play around with lightdm-slick-greeter. Open a terminal window, and as root install lightdm-slick-greeter and lightdm-settings from the AUR using yay # yay -S lightdm-slick-greeter Tell it to erase compiler only dependencies so it cleans up after itself. # yay -S lightdm-setting…

None of this is necessary, but it will give you something to tinker with. 🤓

Pudge

---

<div class="post-metadata">

**Author:** ![Pudge](https://forum.endeavouros.com/user_avatar/forum.endeavouros.com/pudge/32/17155_2.png) [@Pudge](https://forum.endeavouros.com/u/Pudge)\
**Post date:** [June 21, 2024, 4:08pm UTC](https://forum.endeavouros.com/t/broke-my-display-manager-sddm-to-lightdm/57031/4 "2024-06-21T16:08:49Z")

</div>

Speaking of EnOS theming, go to

> <https://github.com/endeavouros-team/calamares/blob/calamares/data/eos/modules/packagechooser.conf>

and scroll down to this section (lines 269 thru 283) for XFCE

```auto
netinstall:
        name: XFCE4-Desktop
        description: "XFCE4 - lightweight desktop fast and low on system resources, visually appealing and user friendly."
        selected: true
        critical: true
        subgroups:
            - name: "EndeavourOS settings"
              description: "Unselect to install vanilla."
              selected: true
              packages:
                - arc-gtk-theme-eos
                - eos-lightdm-slick-theme
                - eos-qogir-icons
                - eos-settings-xfce4
                - endeavouros-xfce4-terminal-colors

```

so for the case of XFCE4, installing these packages  
arc-gtk-theme-eos  
eos-lightdm-slick-theme  
eos-qogir-icons  
eos-settings-xfce4  
endeavouros-xfce4-terminal-colors  
eos-settings-xfce4  
should yield the EnOS default settings.

Pudge

---

<div class="post-metadata">

**Author:** ![Ganimede](https://forum.endeavouros.com/user_avatar/forum.endeavouros.com/ganimede/32/95343_2.png) [@Ganimede](https://forum.endeavouros.com/u/Ganimede)\
**Post date:** [June 21, 2024, 4:12pm UTC](https://forum.endeavouros.com/t/broke-my-display-manager-sddm-to-lightdm/57031/5 "2024-06-21T16:12:46Z")

</div>

Thx for replying.

I have a `xfce.desktop` file in `/usr/share/xsessions/` alongside a `plasmax11.desktop` file.

I removed the `plasmax11.desktop` file as I uninstalled plasma anyway.  
I changed the `user-session=xfce` as well.

Unfortunately with or without the `user-session=` things got worse.  
If i reboot the system sometimes wont go down properly.  
If or if not lightdm shows up on reboot feels random. If it shows up the login ends in a black-screen with a cursor.  
So I only gain control by switching tty.

tty1 last entrys are

> **tty1**
>
> ```auto
> ...
> [OK] Started Authorisation Manager.
> [OK] Started Light Display Manager.
> [OK] Reached target Graphical Interface.
> [OK] Reached target User and Group Name Lookups.
> Starting Accounts Service...
> [OK] Started Accounts Service.
> 
> ```

The randomness in my understanding suggests a race condition which I hoped had been resolved with the `logind-check-graphical=true` parameter, but seem mistaken.

I could just roll back, as I just created an image of the whole system last night. But I’d like to figure this out if someone could assist me as this is an opportunity to learn a lot.

---

<div class="post-metadata">

**Author:** ![Ganimede](https://forum.endeavouros.com/user_avatar/forum.endeavouros.com/ganimede/32/95343_2.png) [@Ganimede](https://forum.endeavouros.com/u/Ganimede)\
**Post date:** [June 21, 2024, 4:19pm UTC](https://forum.endeavouros.com/t/broke-my-display-manager-sddm-to-lightdm/57031/6 "2024-06-21T16:19:21Z")

</div>

Thx @Pudge that’s a lot of great info I will work through for sure.

Just for now my focus is to make it work at all. The theming might come later.

---

<div class="post-metadata">

**Author:** ![Stefax2001](https://forum.endeavouros.com/letter_avatar_proxy/v4/letter/s/91b2a8/32.png) [@Stefax2001](https://forum.endeavouros.com/u/Stefax2001)\
**Post date:** [June 21, 2024, 5:23pm UTC](https://forum.endeavouros.com/t/broke-my-display-manager-sddm-to-lightdm/57031/7 "2024-06-21T17:23:48Z")

</div>

post `journalctl -b -0` output from boot where lightdm didn’t show up.

also `/var/log/lightdm/lightdm.log`might be useful.

---

<div class="post-metadata">

**Author:** ![Ganimede](https://forum.endeavouros.com/user_avatar/forum.endeavouros.com/ganimede/32/95343_2.png) [@Ganimede](https://forum.endeavouros.com/u/Ganimede)\
**Post date:** [June 21, 2024, 7:08pm UTC](https://forum.endeavouros.com/t/broke-my-display-manager-sddm-to-lightdm/57031/8 "2024-06-21T19:08:48Z")

</div>

This is a huge log. I have no clue what to look for. It actually is to long to be posted here (extend character limit). First it looked like it is all the logs since first install combined. Then I realiised there is a reboot in the log and it swaps system time.

> **First Timeswap: journalctl -b -0**
>
> ```Jun
> Jun 19 20:52:09 pi systemd[1]: Finished Create System Files and Directories.
> Jun 19 20:52:09 pi systemd[1]: First Boot Wizard was skipped because of an unmet condition check (ConditionFirstBoot=yes).
> Jun 19 20:52:09 pi systemd[1]: First Boot Complete was skipped because of an unmet condition check (ConditionFirstBoot=yes).
> Jun 19 20:52:09 pi systemd[1]: Starting Rebuild Journal Catalog...
> Jun 19 20:52:09 pi systemd[1]: Save Transient machine-id to Disk was skipped because of an unmet condition check (ConditionPathIsMountPoint=/etc/machine-id).
> Jun 19 20:52:09 pi systemd[1]: Starting Network Time Synchronization...
> Jun 19 20:52:09 pi systemd[1]: Starting Record System Boot/Shutdown in UTMP...
> Jun 19 20:52:09 pi systemd[1]: Finished Record System Boot/Shutdown in UTMP.
> Jun 19 20:52:09 pi systemd[1]: Finished Rebuild Journal Catalog.
> Jun 19 20:52:09 pi systemd[1]: Finished Rebuild Dynamic Linker Cache.
> Jun 19 20:52:09 pi systemd[1]: Starting Update is Completed...
> Jun 21 17:58:32 pi systemd-timesyncd[480]: System clock time unset or jumped backwards, restored from recorded timestamp: Fri 2024-06-21 17:58:32 CEST
> Jun 21 17:58:32 pi systemd[1]: Started Network Time Synchronization.
> Jun 21 17:58:32 pi systemd[1]: Reached target System Time Set.
> Jun 21 17:58:32 pi systemd[1]: Finished Update is Completed.
> Jun 21 17:58:32 pi systemd[1]: Reached target System Initialization.
> Jun 21 17:58:32 pi systemd[1]: Started Refresh existing PGP keys of archlinux-keyring regularly.
> Jun 21 17:58:32 pi systemd[1]: Started Daily rotation of log files.
> 
> ```

Then it seems to reboot within the log

> **Second Timeswap: journalctl -b -0**
>
> ```auto
> Jun 21 19:27:35 pi systemd[798]: Listening on PipeWire Multimedia System Sockets.
> Jun 21 19:27:35 pi systemd[798]: Listening on D-Bus User Message Bus Socket.
> Jun 21 19:27:35 pi systemd[798]: Reached target Sockets.
> Jun 21 19:27:35 pi systemd[798]: Reached target Basic System.
> Jun 21 19:27:35 pi systemd[1]: Started User Manager for UID 1000.
> Jun 21 19:27:35 pi systemd[1]: Started Session 2 of User sgr.
> Jun 21 19:27:35 pi systemd[798]: Starting Update XDG user dir configuration...
> Jun 21 19:27:35 pi systemd[798]: Finished Update XDG user dir configuration.
> Jun 21 19:27:35 pi systemd[798]: Reached target Main User Target.
> Jun 21 19:27:35 pi systemd[798]: Startup finished in 390ms.
> Jun 21 19:42:49 pi systemd[1]: home-sgr-tmp.mount: Deactivated successfully.
> Jun 19 20:52:06 pi kernel: Booting Linux on physical CPU 0x0000000000 [0x410fd083]
> Jun 19 20:52:06 pi kernel: Linux version 6.6.34-1-rpi (builduser@leming) (aarch64-unknown-linux-gnu-gcc (GCC) 14.1.1 20240507, GNU ld (GNU Binutils) 2.42.0) #1 SMP PREEMPT Wed Jun 19 05:47:29 MDT 2024
> Jun 19 20:52:06 pi kernel: KASLR enabled
> Jun 19 20:52:06 pi kernel: random: crng init done
> Jun 19 20:52:06 pi kernel: Machine model: Raspberry Pi 4 Model B Rev 1.4
> Jun 19 20:52:06 pi kernel: efi: UEFI not found.
> 
> ```

and later has the Timeswap again

> **Third Timeswap: journalctl -b -0**
>
> ```auto
> Jun 19 20:52:08 pi systemd[1]: Starting Virtual Console Setup...
> Jun 19 20:52:08 pi systemd[1]: Started Load/Save RF Kill Switch Status.
> Jun 19 20:52:08 pi systemd[1]: Finished Virtual Console Setup.
> Jun 19 20:52:08 pi systemd[1]: Finished Create System Files and Directories.
> Jun 19 20:52:08 pi systemd[1]: First Boot Wizard was skipped because of an unmet condition check (ConditionFirstBoot=yes).
> Jun 19 20:52:08 pi systemd[1]: First Boot Complete was skipped because of an unmet condition check (ConditionFirstBoot=yes).
> Jun 19 20:52:08 pi systemd[1]: Rebuild Journal Catalog was skipped because of an unmet condition check (ConditionNeedsUpdate=/var).
> Jun 19 20:52:08 pi systemd[1]: Save Transient machine-id to Disk was skipped because of an unmet condition check (ConditionPathIsMountPoint=/etc/machine-id).
> Jun 19 20:52:08 pi systemd[1]: Starting Network Time Synchronization...
> Jun 19 20:52:08 pi systemd[1]: Update is Completed was skipped because no trigger condition checks were met.
> Jun 19 20:52:08 pi systemd[1]: Starting Record System Boot/Shutdown in UTMP...
> Jun 19 20:52:08 pi systemd[1]: Finished Record System Boot/Shutdown in UTMP.
> Jun 21 20:28:43 pi systemd-timesyncd[478]: System clock time unset or jumped backwards, restored from recorded timestamp: Fri 2024-06-21 20:28:43 CEST
> Jun 21 20:28:43 pi systemd[1]: Started Network Time Synchronization.
> Jun 21 20:28:43 pi systemd[1]: Reached target System Initialization.
> Jun 21 20:28:43 pi systemd[1]: Started Daily Cleanup of Temporary Directories.
> Jun 21 20:28:43 pi systemd[1]: Reached target System Time Set.
> Jun 21 20:28:43 pi systemd[1]: Started Refresh existing PGP keys of archlinux-keyring regularly.
> Jun 21 20:28:43 pi systemd[1]: Started Daily rotation of log files.
> Jun 21 20:28:43 pi systemd[1]: Started Discard unused packages weekly.
> Jun 21 20:28:43 pi systemd[1]: Started Daily verification of password and group files.
> Jun 21 20:28:43 pi systemd[1]: Started Daily locate database update.
> Jun 21 20:28:43 pi systemd[1]: Reached target Timer Units.
> Jun 21 20:28:43 pi systemd[1]: Listening on D-Bus System Message Bus Socket.
> Jun 21 20:28:43 pi systemd[1]: Listening on GnuPG network certificate management daemon for /etc/pacman.d/gnupg.
> 
> ```

I checked for the `/var/log/lightdm/lightdm.log` but there is none. I enabled the `config` entry to enforce the right path, but still nothing after several reboots (activated `log.backup` too).

Regarding the instability if lightdm showing up. I booted at least 10 times and it seems to come up reliably now.

---

<div class="post-metadata">

**Author:** ![Stefax2001](https://forum.endeavouros.com/letter_avatar_proxy/v4/letter/s/91b2a8/32.png) [@Stefax2001](https://forum.endeavouros.com/u/Stefax2001)\
**Post date:** [June 22, 2024, 8:11am UTC](https://forum.endeavouros.com/t/broke-my-display-manager-sddm-to-lightdm/57031/9 "2024-06-22T08:11:11Z")

</div>

So lightdm is now showing up and letting you log in, but xfce is not starting?

Lets check if xfce will start without dm. Reboot run `sudo systemctl stop lightdm.service` then `startxfce4` If this doesn’t start xfce then lightdm probably has nothing to do with this problem.

---

<div class="post-metadata">

**Author:** ![Ganimede](https://forum.endeavouros.com/user_avatar/forum.endeavouros.com/ganimede/32/95343_2.png) [@Ganimede](https://forum.endeavouros.com/u/Ganimede)\
**Post date:** [June 22, 2024, 2:25pm UTC](https://forum.endeavouros.com/t/broke-my-display-manager-sddm-to-lightdm/57031/10 "2024-06-22T14:25:23Z")

</div>

That’s a very helpful step to figure out whats going on.

So on my fist attempt, I tried to log in with `lightdm`. Had the black-screen with cursor. Switched to tty2 and used those commands, it would tell me that `xfce4` is already running and if not so I should remove a `.lock` file.

I instead did a reboot and switched to tty2 before attempting to log in and with `startxfce4` the xfce-desktop comes up just fine.

---

<div class="post-metadata">

**Author:** ![Ganimede](https://forum.endeavouros.com/user_avatar/forum.endeavouros.com/ganimede/32/95343_2.png) [@Ganimede](https://forum.endeavouros.com/u/Ganimede)\
**Post date:** [June 22, 2024, 3:29pm UTC](https://forum.endeavouros.com/t/broke-my-display-manager-sddm-to-lightdm/57031/11 "2024-06-22T15:29:34Z")

</div>

Ok, I figured out why i could not access `lightdm.log`. User has no read permission on that folder.

> **lightdm.log**
>
> ```auto
> [+0.00s] DEBUG: Logging to /var/log/lightdm/lightdm.log
> [+0.00s] DEBUG: Starting Light Display Manager 1.32.0, UID=0 PID=552
> [+0.00s] DEBUG: Loading configuration dirs from /usr/share/lightdm/lightdm.conf.d
> [+0.00s] DEBUG: Loading configuration dirs from /usr/local/share/lightdm/lightdm.conf.d
> [+0.00s] DEBUG: Loading configuration dirs from /etc/xdg/lightdm/lightdm.conf.d
> [+0.00s] DEBUG: Loading configuration from /etc/lightdm/lightdm.conf
> [+0.00s] DEBUG: Registered seat module local
> [+0.00s] DEBUG: Registered seat module xremote
> [+0.00s] DEBUG: Using D-Bus name org.freedesktop.DisplayManager
> [+0.00s] DEBUG: _g_io_module_get_default: Found default implementation local (GLocalVfs) for ‘gio-vfs’
> [+0.01s] DEBUG: Using cross-namespace EXTERNAL authentication (this will deadlock if server is GDBus < 2.73.3)
> [+0.01s] DEBUG: Monitoring logind for seats
> [+0.01s] DEBUG: New seat added from logind: seat0
> [+0.01s] DEBUG: Seat seat0: Loading properties from config section Seat:*
> [+0.01s] DEBUG: Seat seat0 has property CanMultiSession=no
> [+0.01s] DEBUG: Seat seat0: Starting
> [+0.01s] DEBUG: Seat seat0: Creating greeter session
> [+0.01s] DEBUG: Seat seat0: Creating display server of type x
> [+0.01s] DEBUG: Could not run plymouth --ping: Failed to execute child process “plymouth” (No such file or directory)
> [+0.01s] DEBUG: Using VT 7
> [+0.01s] DEBUG: Seat seat0: Starting local X display on VT 7
> [+0.01s] DEBUG: XServer 0: Logging to /var/log/lightdm/x-0.log
> [+0.01s] DEBUG: XServer 0: Writing X server authority to /run/lightdm/root/:0
> [+0.01s] DEBUG: XServer 0: Launching X Server
> [+0.01s] DEBUG: Launching process 560: /usr/bin/X :0 -seat seat0 -auth /run/lightdm/root/:0 -nolisten tcp vt7 -novtswitch
> [+0.02s] DEBUG: XServer 0: Waiting for ready signal from X server :0
> [+0.02s] DEBUG: Acquired bus name org.freedesktop.DisplayManager
> [+0.02s] DEBUG: Registering seat with bus path /org/freedesktop/DisplayManager/Seat0
> [+0.18s] DEBUG: Loading users from org.freedesktop.Accounts
> [+0.18s] DEBUG: User /org/freedesktop/Accounts/User1000 added
> [+1.80s] DEBUG: Got signal 10 from process 560
> [+1.80s] DEBUG: XServer 0: Got signal from X server :0
> [+1.80s] DEBUG: XServer 0: Connecting to XServer :0
> [+1.88s] DEBUG: Seat seat0: Display server ready, starting session authentication
> [+1.88s] DEBUG: Session pid=577: Started with service 'lightdm-greeter', username 'lightdm'
> [+1.93s] DEBUG: Session pid=577: Authentication complete with return value 0: Success
> [+1.93s] DEBUG: Seat seat0: Session authenticated, running command
> [+1.93s] DEBUG: Session pid=577: Running command /usr/bin/lightdm-gtk-greeter
> [+1.93s] DEBUG: Creating shared data directory /var/lib/lightdm-data/lightdm
> [+1.93s] DEBUG: Session pid=577: Logging to /var/log/lightdm/seat0-greeter.log
> [+2.67s] DEBUG: Activating VT 7
> [+2.67s] DEBUG: Activating login1 session c1
> [+2.67s] DEBUG: Seat seat0 changes active session to c1
> [+2.67s] DEBUG: Session c1 is already active
> [+3.24s] DEBUG: Greeter connected version=1.32.0 api=1 resettable=false
> [+4.00s] DEBUG: Greeter start authentication for sgr
> [+4.01s] DEBUG: Session pid=615: Started with service 'lightdm', username 'sgr'
> [+4.20s] DEBUG: Session pid=615: Got 1 message(s) from PAM
> [+4.20s] DEBUG: Prompt greeter with 1 message(s)
> [+8.62s] DEBUG: Continue authentication
> [+8.83s] DEBUG: Session pid=615: Authentication complete with return value 0: Success
> [+8.83s] DEBUG: Authenticate result for user sgr: Success
> [+8.83s] DEBUG: User sgr authorized
> [+8.91s] DEBUG: Greeter requests session plasma
> [+8.91s] DEBUG: Seat seat0: Creating display server of type wayland
> [+8.91s] DEBUG: Using VT 8
> [+8.91s] DEBUG: Seat seat0: Display server ready, running session
> [+8.91s] DEBUG: Registering session with bus path /org/freedesktop/DisplayManager/Session0
> [+8.92s] DEBUG: Session pid=615: Running command /etc/lightdm/Xsession /usr/lib/plasma-dbus-run-session-if-needed /usr/bin/startplasma-wayland
> [+8.92s] DEBUG: Creating shared data directory /var/lib/lightdm-data/sgr
> [+8.92s] DEBUG: Session pid=615: Logging to .xsession-errors
> [+9.66s] DEBUG: Activating VT 8
> [+9.94s] DEBUG: Seat seat0: Stopping greeter
> [+9.94s] DEBUG: Terminating login1 session c1
> [+9.94s] DEBUG: Session pid=577: Sending SIGTERM
> [+9.94s] DEBUG: Activating login1 session 2
> [+9.94s] DEBUG: Seat seat0 changes active session to 2
> [+9.94s] DEBUG: Session 2 is already active
> [+10.01s] DEBUG: Greeter closed communication channel
> [+10.01s] DEBUG: Session pid=577: Exited with return value 0
> [+10.01s] DEBUG: Seat seat0: Session stopped
> [+10.01s] DEBUG: Seat seat0: Stopping display server, no sessions require it
> [+10.01s] DEBUG: Sending signal 15 to process 560
> [+10.08s] DEBUG: Process 560 exited with return value 0
> [+10.08s] DEBUG: XServer 0: X server stopped
> [+10.08s] DEBUG: Releasing VT 7
> [+10.08s] DEBUG: XServer 0: Removing X server authority /run/lightdm/root/:0
> [+10.08s] DEBUG: Seat seat0: Display server stopped
> 
> ```

This reveals, that for some reason `lightdm` try’s to start `plasma` instead of `xfce`.

I checked `/usr/share/xsessions` again but it only contains the `xfce.desktop` file.

---

<div class="post-metadata">

**Author:** ![Ganimede](https://forum.endeavouros.com/user_avatar/forum.endeavouros.com/ganimede/32/95343_2.png) [@Ganimede](https://forum.endeavouros.com/u/Ganimede)\
**Post date:** [June 22, 2024, 3:34pm UTC](https://forum.endeavouros.com/t/broke-my-display-manager-sddm-to-lightdm/57031/12 "2024-06-22T15:34:59Z")

</div>

In `/etc/lightdm/lightdm.conf` I edited the line

```auto
sessions-directory=/usr/share/xsessions #/usr/share/lightdm/sessions:/usr/share/wayland-sessions

```

to ensure that directory gets checked for the `.desktop` files, still `lightdm` attempts to start `plasma`.

for the line

```auto
user-session=xfce

```

I tried both `user-session=xfce` and `user-session=xfce4` but it does not seem to have any effect.

---

<div class="post-metadata">

**Author:** ![Ganimede](https://forum.endeavouros.com/user_avatar/forum.endeavouros.com/ganimede/32/95343_2.png) [@Ganimede](https://forum.endeavouros.com/u/Ganimede)\
**Post date:** [June 22, 2024, 4:03pm UTC](https://forum.endeavouros.com/t/broke-my-display-manager-sddm-to-lightdm/57031/13 "2024-06-22T16:03:39Z")

</div>

Working trough [Arch-Wiki for LightDm](https://wiki.archlinux.org/title/LightDM#)

Can’t find `Xprofile` in `home` or `ect`.

I changed the `~/.dmrc` to refer to xfce instead of plasma, but still lightdm attempts to find the plasma config.

---

<div class="post-metadata">

**Author:** ![Pudge](https://forum.endeavouros.com/user_avatar/forum.endeavouros.com/pudge/32/17155_2.png) [@Pudge](https://forum.endeavouros.com/u/Pudge)\
**Post date:** [June 22, 2024, 4:14pm UTC](https://forum.endeavouros.com/t/broke-my-display-manager-sddm-to-lightdm/57031/14 "2024-06-22T16:14:41Z")

</div>

Looks like you are having a good learning experience. By all means, keep it up.

The cleanest way to run multiple DEs on an ARM device is to install one DE per uSD card. It takes less than a minute to swap uSD cards and they are fairly cheap.

I do this a lot as part of my tinkering with ARM. Most uSD come with a SD to uSD converter. This converter has room to label the SD converter with the DE name.

When you have totally decided which DE is the one for you, then think about installing it on a USB 3 SSD.

> [@Ganimede](#):
>
> I tried both `user-session=xfce` and `user-session=xfce4` but it does not seem to have any

From the xfce Archlinux WiKi section 3.3.5

```auto
The files specifying the default window manager are found in the following locations:

* `~/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-session.xml` - per user
* `/etc/xdg/xfce4/xfconf/xfce-perchannel-xml/xfce4-session.xml` - systemwide

The default window manager for the user can be set easily using *xfconf-query*:

$ xfconf-query -c xfce4-session -p /sessions/Failsafe/Client0_Command -t string -sa xfsettingsd
$ xfconf-query -c xfce4-session -p /sessions/Failsafe/Client1_Command -t string -sa *wm_name*

```

Also, make sure only one Desktop manager is enabled at a time. Lightdm or sddm.

HTH  
Pudge

---

<div class="post-metadata">

**Author:** ![Ganimede](https://forum.endeavouros.com/user_avatar/forum.endeavouros.com/ganimede/32/95343_2.png) [@Ganimede](https://forum.endeavouros.com/u/Ganimede)\
**Post date:** [June 22, 2024, 6:10pm UTC](https://forum.endeavouros.com/t/broke-my-display-manager-sddm-to-lightdm/57031/15 "2024-06-22T18:10:59Z")

</div>

> [@Pudge](#):
>
> Looks like you are having a good learning experience.

Thx, every progress in understanding is a reward in itself. But there is a lot of frustration as well not being able to figure things out and getting stuck.

> [@Pudge](#):
>
> When you have totally decided which DE is the one for you, then think about installing it on a USB 3 SSD.

This install already moved to a USB drive. I created an `image` with `dd` and moved it. Good to have a backup and the sd-card got a fresh install with xfce right from the start. Still I want to figure this out.  
I don’t think the `xfconf-query` can help me right now as lightdm still attempts to start plasma. I already removed `plasma` and `sddm` from the system so of cuz that attempt is futile.

> **lightdm.log**
>
> ```auto
> [+0.00s] DEBUG: Logging to /var/log/lightdm/lightdm.log
> [+0.00s] DEBUG: Starting Light Display Manager 1.32.0, UID=0 PID=550
> [+0.00s] DEBUG: Loading configuration dirs from /usr/share/lightdm/lightdm.conf.d
> [+0.00s] DEBUG: Loading configuration dirs from /usr/local/share/lightdm/lightdm.conf.d
> [+0.00s] DEBUG: Loading configuration dirs from /etc/xdg/lightdm/lightdm.conf.d
> [+0.00s] DEBUG: Loading configuration from /etc/lightdm/lightdm.conf
> [+0.00s] DEBUG: Registered seat module local
> [+0.00s] DEBUG: Registered seat module xremote
> [+0.00s] DEBUG: Using D-Bus name org.freedesktop.DisplayManager
> [+0.00s] DEBUG: _g_io_module_get_default: Found default implementation local (GLocalVfs) for ‘gio-vfs’
> [+0.00s] DEBUG: Using cross-namespace EXTERNAL authentication (this will deadlock if server is GDBus < 2.73.3)
> [+0.01s] DEBUG: Monitoring logind for seats
> [+0.01s] DEBUG: New seat added from logind: seat0
> [+0.01s] DEBUG: Seat seat0: Loading properties from config section Seat:*
> [+0.01s] DEBUG: Seat seat0 has property CanMultiSession=no
> [+0.01s] DEBUG: Seat seat0: Starting
> [+0.01s] DEBUG: Seat seat0: Creating greeter session
> [+0.01s] DEBUG: Seat seat0: Creating display server of type x
> [+0.01s] DEBUG: Could not run plymouth --ping: Failed to execute child process “plymouth” (No such file or directory)
> [+0.01s] DEBUG: Using VT 7
> [+0.01s] DEBUG: Seat seat0: Starting local X display on VT 7
> [+0.01s] DEBUG: XServer 0: Logging to /var/log/lightdm/x-0.log
> [+0.01s] DEBUG: XServer 0: Writing X server authority to /run/lightdm/root/:0
> [+0.01s] DEBUG: XServer 0: Launching X Server
> [+0.01s] DEBUG: Launching process 560: /usr/bin/X :0 -seat seat0 -auth /run/lightdm/root/:0 -nolisten tcp vt7 -novtswitch
> [+0.01s] DEBUG: XServer 0: Waiting for ready signal from X server :0
> [+0.01s] DEBUG: Acquired bus name org.freedesktop.DisplayManager
> [+0.01s] DEBUG: Registering seat with bus path /org/freedesktop/DisplayManager/Seat0
> [+0.19s] DEBUG: Loading users from org.freedesktop.Accounts
> [+0.19s] DEBUG: User /org/freedesktop/Accounts/User1000 added
> [+1.80s] DEBUG: Got signal 10 from process 560
> [+1.80s] DEBUG: XServer 0: Got signal from X server :0
> [+1.80s] DEBUG: XServer 0: Connecting to XServer :0
> [+1.97s] DEBUG: Seat seat0: Display server ready, starting session authentication
> [+1.97s] DEBUG: Session pid=577: Started with service 'lightdm-greeter', username 'lightdm'
> [+2.02s] DEBUG: Session pid=577: Authentication complete with return value 0: Success
> [+2.02s] DEBUG: Seat seat0: Session authenticated, running command
> [+2.02s] DEBUG: Session pid=577: Running command /usr/bin/lightdm-gtk-greeter
> [+2.02s] DEBUG: Creating shared data directory /var/lib/lightdm-data/lightdm
> [+2.02s] DEBUG: Session pid=577: Logging to /var/log/lightdm/seat0-greeter.log
> [+2.69s] DEBUG: Activating VT 7
> [+2.69s] DEBUG: Activating login1 session c1
> [+2.69s] DEBUG: Seat seat0 changes active session to c1
> [+2.69s] DEBUG: Session c1 is already active
> [+3.25s] DEBUG: Greeter connected version=1.32.0 api=1 resettable=false
> [+3.95s] DEBUG: Greeter start authentication for sgr
> [+3.95s] DEBUG: Session pid=615: Started with service 'lightdm', username 'sgr'
> [+4.15s] DEBUG: Session pid=615: Got 1 message(s) from PAM
> [+4.15s] DEBUG: Prompt greeter with 1 message(s)
> [+9.08s] DEBUG: Continue authentication
> [+9.36s] DEBUG: Session pid=615: Authentication complete with return value 0: Success
> [+9.36s] DEBUG: Authenticate result for user sgr: Success
> [+9.36s] DEBUG: User sgr authorized
> [+9.43s] DEBUG: Greeter requests default session
> [+9.43s] DEBUG: Seat seat0: Failed to find session configuration plasma
> [+9.43s] DEBUG: Seat seat0: Can't find session 'plasma'
> [+9.44s] DEBUG: Greeter start authentication for sgr
> [+9.44s] DEBUG: Session pid=627: Started with service 'lightdm', username 'sgr'
> [+9.62s] DEBUG: Session pid=627: Got 1 message(s) from PAM
> [+9.62s] DEBUG: Prompt greeter with 1 message(s)
> [+13.68s] DEBUG: Continue authentication
> [+13.89s] DEBUG: Session pid=627: Authentication complete with return value 0: Success
> [+13.89s] DEBUG: Authenticate result for user sgr: Success
> [+13.89s] DEBUG: User sgr authorized
> [+13.96s] DEBUG: Greeter requests default session
> [+13.96s] DEBUG: Seat seat0: Failed to find session configuration plasma
> [+13.96s] DEBUG: Seat seat0: Can't find session 'plasma'
> [+13.97s] DEBUG: Greeter start authentication for sgr
> [+13.97s] DEBUG: Session pid=634: Started with service 'lightdm', username 'sgr'
> [+14.14s] DEBUG: Session pid=634: Got 1 message(s) from PAM
> [+14.14s] DEBUG: Prompt greeter with 1 message(s)
> [+19.05s] DEBUG: Seat seat0 changes active session to
> [+24.31s] DEBUG: Seat seat0 changes active session to 2
> 
> ```

I just can’t figure out why lightdm is still going for plasma 🤔

---

<div class="post-metadata">

**Author:** ![Ganimede](https://forum.endeavouros.com/user_avatar/forum.endeavouros.com/ganimede/32/95343_2.png) [@Ganimede](https://forum.endeavouros.com/u/Ganimede)\
**Post date:** [June 22, 2024, 9:35pm UTC](https://forum.endeavouros.com/t/broke-my-display-manager-sddm-to-lightdm/57031/16 "2024-06-22T21:35:49Z")

</div>

Ok, I kind of gave up.  
`sudo pacman -Rc lightdm`  
after reinstalling everything just worked. I could not pinpoint the difference in configuration.

I marked one of @Stefax2001 post’s as solution as his input was most relevant to dig deeper and make me understand things.

---

<div class="post-metadata">

**Author:** ![Stefax2001](https://forum.endeavouros.com/letter_avatar_proxy/v4/letter/s/91b2a8/32.png) [@Stefax2001](https://forum.endeavouros.com/u/Stefax2001)\
**Post date:** [June 22, 2024, 9:40pm UTC](https://forum.endeavouros.com/t/broke-my-display-manager-sddm-to-lightdm/57031/17 "2024-06-22T21:40:42Z")

</div>

> `[+8.91s] DEBUG: Greeter requests session plasma`

I have feeling that `lightdm-gtk-greeter` was causing problems here, there is a option in `lightdm-gtk-greeter.conf`

> # Session:# default-session = session manager to be started when none has been selected by the user and no one is set as last used (unset by default)

if its not set gtk-greeter is probably checking for last used DE for your user saved in `~/.dmrc`

---

<div class="post-metadata">

**Author:** ![system](https://forum.endeavouros.com/uploads/default/original/2X/9/9ea52f9fd5ef8e609e593c362d61a36295f48be8.png) [@system](https://forum.endeavouros.com/u/system)\
**Post date:** [June 24, 2024, 9:41pm UTC](https://forum.endeavouros.com/t/broke-my-display-manager-sddm-to-lightdm/57031/18 "2024-06-24T21:41:22Z")

</div>

This topic was automatically closed 2 days after the last reply. New replies are no longer allowed.
