elementary / greeter

Login and Lock Screen greeter for elementary OS and Pantheon, using LightDM

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Greeter loop when using multiseat

mpmaghribi opened this issue · comments

What Happened?

The greeter enters a loop where it flashes the login screen for about 1-2 seconds and immediately goes back to showing the startup logs when multi-seat is used with two different GPU and one monitor for each GPU.

Steps to Reproduce

  1. Setup multi-seat using loginctl by following ArchWiki
  2. Configure lightdm using the config based on ArchWiki:

`➜ cat /etc/lightdm/lightdm.conf
[LightDM]
run-directory=/run/lightdm

[Seat:*]
#greeter-session=lightdm-gtk-greeter
greeter-session=io.elementary.greeter
greeter-hide-users=false
#session-wrapper=/etc/lightdm/Xsession

[Seat:seat0]
xserver-command=/usr/bin/X :0
xserver-layout=seat0

[Seat:seat-1]
xserver-command=/usr/bin/X :1 -keeptty
xserver-layout=seat-1`

Expected Behavior

Greeter lets you log in for each seat

Workaround:
Use replace greeter-session in lightdm.conf with lightdm-gtk-greeter

OS Version

6.x (Odin)

Software Version

Latest release (I have run all updates)

Log Output

➜ sudo cat /var/log/lightdm/lightdm.log
[+0.00s] DEBUG: Logging to /var/log/lightdm/lightdm.log
[+0.00s] DEBUG: Starting Light Display Manager 1.30.0, UID=0 PID=31528
[+0.00s] DEBUG: Loading configuration dirs from /usr/share/lightdm/lightdm.conf.d
[+0.00s] DEBUG: Loading configuration from /usr/share/lightdm/lightdm.conf.d/40-io.elementary.greeter.conf
[+0.00s] DEBUG: Loading configuration from /usr/share/lightdm/lightdm.conf.d/50-disable-guest.conf
[+0.00s] DEBUG: Loading configuration from /usr/share/lightdm/lightdm.conf.d/50-disable-log-backup.conf
[+0.00s] DEBUG: Loading configuration from /usr/share/lightdm/lightdm.conf.d/50-greeter-wrapper.conf
[+0.00s] DEBUG: Loading configuration from /usr/share/lightdm/lightdm.conf.d/50-guest-wrapper.conf
[+0.00s] DEBUG: Loading configuration from /usr/share/lightdm/lightdm.conf.d/50-xserver-command.conf
[+0.00s] DEBUG: Loading configuration from /usr/share/lightdm/lightdm.conf.d/60-lightdm-gtk-greeter.conf
[+0.00s] DEBUG: Loading configuration dirs from /usr/local/share/lightdm/lightdm.conf.d
[+0.00s] DEBUG: Loading configuration dirs from /var/lib/flatpak/exports/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.01s] DEBUG: _g_io_module_get_default: Found default implementation local (GLocalVfs) for ‘gio-vfs’
[+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: Loading properties from config section Seat:seat0
[+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: posix_spawn avoided (fd close requested) 
[+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 31533: /usr/bin/X :0 :0 -layout seat0 -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: New seat added from logind: seat-1
[+0.01s] DEBUG: Seat seat-1: Loading properties from config section Seat:*
[+0.01s] DEBUG: Seat seat-1: Loading properties from config section Seat:seat-1
[+0.01s] DEBUG: Seat seat-1 has property CanMultiSession=no
[+0.01s] DEBUG: Seat seat-1: Starting
[+0.01s] DEBUG: Seat seat-1: Creating greeter session
[+0.01s] DEBUG: Seat seat-1: Creating display server of type x
[+0.01s] DEBUG: Seat seat-1: Starting local X display
[+0.01s] DEBUG: XServer 1: Logging to /var/log/lightdm/x-1.log
[+0.01s] DEBUG: XServer 1: Writing X server authority to /run/lightdm/root/:1
[+0.01s] DEBUG: XServer 1: Launching X Server
[+0.01s] DEBUG: Launching process 31534: /usr/bin/X :1 -keeptty :1 -layout seat-1 -seat seat-1 -auth /run/lightdm/root/:1 -nolisten tcp
[+0.01s] DEBUG: XServer 1: Waiting for ready signal from X server :1
[+0.01s] DEBUG: Acquired bus name org.freedesktop.DisplayManager
[+0.01s] DEBUG: Registering seat with bus path /org/freedesktop/DisplayManager/Seat0
[+0.01s] DEBUG: Registering seat with bus path /org/freedesktop/DisplayManager/Seat1
[+0.01s] DEBUG: Loading users from org.freedesktop.Accounts
[+0.01s] DEBUG: User /org/freedesktop/Accounts/User1002 added
[+0.02s] DEBUG: User /org/freedesktop/Accounts/User1000 added
[+0.03s] DEBUG: User /org/freedesktop/Accounts/User1003 added
[+0.03s] DEBUG: User /org/freedesktop/Accounts/User1001 added
[+0.03s] DEBUG: posix_spawn avoided (automatic reaping requested) (fd close requested) 
[+0.64s] DEBUG: Got signal 10 from process 31534
[+0.64s] DEBUG: XServer 1: Got signal from X server :1
[+0.64s] DEBUG: XServer 1: Connecting to XServer :1
[+0.69s] DEBUG: posix_spawn avoided (fd close requested) (child_setup specified) 
[+0.69s] DEBUG: Seat seat-1: Display server ready, starting session authentication
[+0.69s] DEBUG: Session: Not setting XDG_VTNR
[+0.69s] DEBUG: Session pid=31557: Started with service 'lightdm-greeter', username 'lightdm'
[+0.69s] DEBUG: Got signal 10 from process 31533
[+0.69s] DEBUG: XServer 0: Got signal from X server :0
[+0.69s] DEBUG: XServer 0: Connecting to XServer :0
[+0.69s] DEBUG: posix_spawn avoided (fd close requested) (child_setup specified) 
[+0.69s] DEBUG: Seat seat0: Display server ready, starting session authentication
[+0.69s] DEBUG: Session pid=31559: Started with service 'lightdm-greeter', username 'lightdm'
[+0.72s] DEBUG: Session pid=31557: Authentication complete with return value 0: Success
[+0.72s] DEBUG: Seat seat-1: Session authenticated, running command
[+0.72s] DEBUG: Session pid=31557: Not setting XDG_VTNR
[+0.72s] DEBUG: Session pid=31557: Running command /usr/lib/lightdm/lightdm-greeter-session /usr/sbin/io.elementary.greeter
[+0.72s] DEBUG: Creating shared data directory /var/lib/lightdm-data/lightdm
[+0.72s] DEBUG: Session pid=31557: Logging to /var/log/lightdm/seat-1-greeter.log
[+0.74s] DEBUG: Activating login1 session c369
[+0.74s] DEBUG: Session pid=31559: Authentication complete with return value 0: Success
[+0.74s] DEBUG: Seat seat0: Session authenticated, running command
[+0.74s] DEBUG: Session pid=31559: Running command /usr/lib/lightdm/lightdm-greeter-session /usr/sbin/io.elementary.greeter
[+0.74s] DEBUG: Creating shared data directory /var/lib/lightdm-data/lightdm
[+0.74s] DEBUG: Session pid=31559: Logging to /var/log/lightdm/seat0-greeter.log
[+0.76s] DEBUG: Activating VT 7
[+0.76s] DEBUG: Activating login1 session c370
[+0.76s] DEBUG: Seat seat-1 changes active session to c369
[+0.76s] DEBUG: Session c369 is already active
[+0.76s] DEBUG: Seat seat0 changes active session to c370
[+0.76s] DEBUG: Session c370 is already active
[+0.94s] DEBUG: Greeter connected version=1.30.0 api=1 resettable=false
[+0.98s] DEBUG: Greeter connected version=1.30.0 api=1 resettable=false
[+1.54s] DEBUG: Greeter start authentication for userone
[+1.54s] DEBUG: Session pid=31645: Started with service 'lightdm', username 'userone'
[+1.55s] DEBUG: Session pid=31645: Got 1 message(s) from PAM
[+1.55s] DEBUG: Prompt greeter with 1 message(s)
[+1.57s] DEBUG: Greeter start authentication for usertwo
[+1.57s] DEBUG: Session: Not setting XDG_VTNR
[+1.57s] DEBUG: Session pid=31647: Started with service 'lightdm', username 'usertwo'
[+1.58s] DEBUG: Session pid=31647: Got 1 message(s) from PAM
[+1.58s] DEBUG: Prompt greeter with 1 message(s)
[+1.93s] DEBUG: Greeter closed communication channel
[+1.93s] DEBUG: Session pid=31559: Exited with return value 0
[+1.93s] DEBUG: Seat seat0: Session stopped
[+1.93s] DEBUG: Seat seat0: Stopping; failed to start a greeter
[+1.93s] DEBUG: Seat seat0: Stopping
[+1.93s] DEBUG: Seat seat0: Stopping display server
[+1.93s] DEBUG: Sending signal 15 to process 31533
[+1.93s] DEBUG: Seat seat0: Stopping session
[+1.93s] DEBUG: Session pid=31645: Sending SIGTERM
[+1.93s] DEBUG: Session pid=31645: Terminated with signal 15
[+1.93s] DEBUG: Session: Failed during authentication
[+1.93s] DEBUG: Seat seat0: Session stopped
[+2.25s] DEBUG: Process 31533 exited with return value 0
[+2.25s] DEBUG: XServer 0: X server stopped
[+2.25s] DEBUG: Releasing VT 7
[+2.25s] DEBUG: XServer 0: Removing X server authority /run/lightdm/root/:0
[+2.25s] DEBUG: Seat seat0: Display server stopped
[+2.25s] DEBUG: Seat seat0: Stopped
[+2.25s] DEBUG: Required seat has stopped
[+2.25s] DEBUG: Stopping display manager
[+2.25s] DEBUG: Seat seat-1: Stopping
[+2.25s] DEBUG: Seat seat-1: Stopping display server
[+2.25s] DEBUG: Sending signal 15 to process 31534
[+2.25s] DEBUG: Seat seat-1: Stopping session
[+2.25s] DEBUG: Terminating login1 session c369
[+2.26s] DEBUG: Session pid=31557: Sending SIGTERM
[+2.26s] DEBUG: Seat seat-1: Stopping session
[+2.26s] DEBUG: Session pid=31647: Sending SIGTERM
[+2.26s] DEBUG: Session pid=31557: Exited with return value 0
[+2.26s] DEBUG: Seat seat-1: Session stopped
[+2.26s] DEBUG: Session pid=31647: Terminated with signal 15
[+2.26s] DEBUG: Session: Failed during authentication
[+2.26s] DEBUG: Seat seat-1: Session stopped
[+2.27s] DEBUG: Seat seat0 changes active session to 
[+2.29s] DEBUG: Seat seat-1 changes active session to 
[+2.40s] DEBUG: Process 31534 exited with return value 0
[+2.40s] DEBUG: XServer 1: X server stopped
[+2.40s] DEBUG: XServer 1: Removing X server authority /run/lightdm/root/:1
[+2.40s] DEBUG: Seat seat-1: Display server stopped
[+2.40s] DEBUG: Seat seat-1: Stopped
[+2.40s] DEBUG: Display manager stopped
[+2.40s] DEBUG: Stopping daemon
[+2.41s] DEBUG: Exiting with return value 1


➜ sudo cat /var/log/lightdm/seat-1-greeter.log
(io.elementary.greeter:8471): Handy-WARNING **: 21:51:52.561: Failed to load icon: Unrecognized image file format

(io.elementary.greeter:8471): Handy-WARNING **: 21:51:52.561: Failed to load icon: Unrecognized image file format

(io.elementary.greeter:8471): Handy-WARNING **: 21:51:52.561: Failed to load icon: Unrecognized image file format

(io.elementary.greeter:8471): Handy-WARNING **: 21:51:52.562: Failed to load icon: Unrecognized image file format

** (io.elementary.greeter:8471): CRITICAL **: 21:51:52.731: MainWindow.vala:358: prompt: `Password: ' (1)

(io.elementary.greeter:8471): Gtk-CRITICAL **: 21:51:52.825: gtk_style_context_add_provider: assertion 'GTK_IS_STYLE_CONTEXT (context)' failed

(io.elementary.greeter:8471): Gtk-CRITICAL **: 21:51:52.873: gtk_style_context_add_provider: assertion 'GTK_IS_STYLE_CONTEXT (context)' failed
Gdk-Message: 21:51:53.173: io.elementary.greeter: Fatal IO error 11 (Resource temporarily unavailable) on X server :1.

Hardware Info

Seat0:
Radeon HD 5430 using radeon driver
HP 24" monitor via HDMI

Seat-1:
Intel HD Graphics 2500 using i915 driver
Samsung 21" LCD TV via HDMI

Other:
RX 570 (used for gpu-passthrough to windows 10 VM) + HP 24" monitor (same monitor used for seat0) via Display Port

seems to be the same issue as #568 and #578 ?