Broke my Display Manager SDDM to LightDm

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
# 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
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.

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
[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.

1 Like

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

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

scroll down and notice there is a

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.

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

Pudge

1 Like

Speaking of EnOS theming, go to

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

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

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
...
[ 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.

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.

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

also /var/log/lightdm/lightdm.logmight be useful.

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 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
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
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.

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.

1 Like

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.

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

lightdm.log
[+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.

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

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

user-session=xfce

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

Working trough Arch-Wiki for 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.

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.

From the xfce Archlinux WiKi section 3.3.5

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

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.

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
[+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 :thinking:

1 Like

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.

2 Likes

[+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

1 Like

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