test-user-renamed-invalid \
test-keyboard-layout \
test-no-keyboard-layout \
- test-default-keyboard-layout \
- test-keyboard-variants \
test-language \
test-no-language \
test-language-no-accounts-service \
scripts/cred-error.conf \
scripts/cred-expired.conf \
scripts/cred-unavail.conf \
- scripts/default-keyboard-layout.conf \
scripts/denied.conf \
scripts/expired.conf \
scripts/greeter-fail-start.conf \
scripts/home-dir-on-authenticate.conf \
scripts/home-dir-on-session.conf \
scripts/keyboard-layout.conf \
- scripts/keyboard-variants.conf \
scripts/language.conf \
scripts/language-no-accounts-service.conf \
scripts/lock-seat.conf \
[LightDM]
guest-account-script=false
-minimum-display-number=50
[SeatDefaults]
autologin-guest=true
#?RUNNER DAEMON-START
# X server starts
-#?XSERVER-50 START
-#?XSERVER-50 INDICATE-READY
+#?XSERVER-0 START
+#?XSERVER-0 INDICATE-READY
# LightDM connects to X server
-#?XSERVER-50 ACCEPT-CONNECT
+#?XSERVER-0 ACCEPT-CONNECT
# (guest account attempts to start and fails)
# Greeter starts
-#?GREETER-X-50 START
-#?XSERVER-50 ACCEPT-CONNECT
-#?GREETER-X-50 CONNECT-XSERVER
-#?GREETER-X-50 CONNECT-TO-DAEMON
-#?GREETER-X-50 CONNECTED-TO-DAEMON
+#?GREETER-X-0 START
+#?XSERVER-0 ACCEPT-CONNECT
+#?GREETER-X-0 CONNECT-XSERVER
+#?GREETER-X-0 CONNECT-TO-DAEMON
+#?GREETER-X-0 CONNECTED-TO-DAEMON
# Cleanup
#?*STOP-DAEMON
-#?GREETER-X-50 TERMINATE SIGNAL=15
-#?XSERVER-50 TERMINATE SIGNAL=15
+#?GREETER-X-0 TERMINATE SIGNAL=15
+#?XSERVER-0 TERMINATE SIGNAL=15
#?RUNNER DAEMON-EXIT STATUS=0
# Check automatically logs in guest while keeping a greeter up
#
-[LightDM]
-minimum-display-number=50
-
[SeatDefaults]
autologin-guest=true
autologin-in-background=true
#?RUNNER DAEMON-START
# Greeter starts
-#?XSERVER-50 START
-#?XSERVER-50 INDICATE-READY
-#?XSERVER-50 ACCEPT-CONNECT
-#?GREETER-X-50 START
-#?XSERVER-50 ACCEPT-CONNECT
-#?GREETER-X-50 CONNECT-XSERVER
-#?GREETER-X-50 CONNECT-TO-DAEMON
-#?GREETER-X-50 CONNECTED-TO-DAEMON
+#?XSERVER-0 START
+#?XSERVER-0 INDICATE-READY
+#?XSERVER-0 ACCEPT-CONNECT
+#?GREETER-X-0 START
+#?XSERVER-0 ACCEPT-CONNECT
+#?GREETER-X-0 CONNECT-XSERVER
+#?GREETER-X-0 CONNECT-TO-DAEMON
+#?GREETER-X-0 CONNECTED-TO-DAEMON
# Guest session starts
-#?XSERVER-51 START
-#?XSERVER-51 INDICATE-READY
-#?XSERVER-51 ACCEPT-CONNECT
+#?XSERVER-1 START
+#?XSERVER-1 INDICATE-READY
+#?XSERVER-1 ACCEPT-CONNECT
#?GUEST-ACCOUNT ADD USERNAME=guest-.*
-#?SESSION-X-51 START USER=guest-.*
-#?XSERVER-51 ACCEPT-CONNECT
-#?SESSION-X-51 CONNECT-XSERVER
+#?SESSION-X-1 START USER=guest-.*
+#?XSERVER-1 ACCEPT-CONNECT
+#?SESSION-X-1 CONNECT-XSERVER
# Cleanup
#?*STOP-DAEMON
-#?GREETER-X-50 TERMINATE SIGNAL=15
-#?XSERVER-50 TERMINATE SIGNAL=15
-#?SESSION-X-51 TERMINATE SIGNAL=15
-#?XSERVER-51 TERMINATE SIGNAL=15
+#?GREETER-X-0 TERMINATE SIGNAL=15
+#?XSERVER-0 TERMINATE SIGNAL=15
+#?SESSION-X-1 TERMINATE SIGNAL=15
+#?XSERVER-1 TERMINATE SIGNAL=15
#?GUEST-ACCOUNT REMOVE USERNAME=guest-.*
#?RUNNER DAEMON-EXIT STATUS=0
# Check automatically logs in default user
#
-[LightDM]
-minimum-display-number=50
-
[SeatDefaults]
autologin-guest=true
#?RUNNER DAEMON-START
# X server starts
-#?XSERVER-50 START
-#?XSERVER-50 INDICATE-READY
+#?XSERVER-0 START
+#?XSERVER-0 INDICATE-READY
# LightDM connects to X server
-#?XSERVER-50 ACCEPT-CONNECT
+#?XSERVER-0 ACCEPT-CONNECT
# Guest account created
#?GUEST-ACCOUNT ADD USERNAME=guest-.*
# Guest session starts
-#?SESSION-X-50 START USER=guest-.*
-#?XSERVER-50 ACCEPT-CONNECT
-#?SESSION-X-50 CONNECT-XSERVER
+#?SESSION-X-0 START USER=guest-.*
+#?XSERVER-0 ACCEPT-CONNECT
+#?SESSION-X-0 CONNECT-XSERVER
# Logout of session
-#?*SESSION-X-50 LOGOUT
+#?*SESSION-X-0 LOGOUT
# X server stops
-#?XSERVER-50 TERMINATE SIGNAL=15
+#?XSERVER-0 TERMINATE SIGNAL=15
# Guest account removed
#?GUEST-ACCOUNT REMOVE USERNAME=guest-.*
# X server starts
-#?XSERVER-50 START
-#?XSERVER-50 INDICATE-READY
+#?XSERVER-0 START
+#?XSERVER-0 INDICATE-READY
# LightDM connects to X server
-#?XSERVER-50 ACCEPT-CONNECT
+#?XSERVER-0 ACCEPT-CONNECT
# Greeter starts
-#?GREETER-X-50 START
-#?XSERVER-50 ACCEPT-CONNECT
-#?GREETER-X-50 CONNECT-XSERVER
-#?GREETER-X-50 CONNECT-TO-DAEMON
-#?GREETER-X-50 CONNECTED-TO-DAEMON
+#?GREETER-X-0 START
+#?XSERVER-0 ACCEPT-CONNECT
+#?GREETER-X-0 CONNECT-XSERVER
+#?GREETER-X-0 CONNECT-TO-DAEMON
+#?GREETER-X-0 CONNECTED-TO-DAEMON
# Cleanup
#?*STOP-DAEMON
-#?GREETER-X-50 TERMINATE SIGNAL=15
-#?XSERVER-50 TERMINATE SIGNAL=15
+#?GREETER-X-0 TERMINATE SIGNAL=15
+#?XSERVER-0 TERMINATE SIGNAL=15
#?RUNNER DAEMON-EXIT STATUS=0
# Check automatically logs in default user
#
-[LightDM]
-minimum-display-number=50
-
[SeatDefaults]
autologin-guest=true
autologin-user-timeout=1
#?RUNNER DAEMON-START
# X server starts
-#?XSERVER-50 START
-#?XSERVER-50 INDICATE-READY
+#?XSERVER-0 START
+#?XSERVER-0 INDICATE-READY
# LightDM connects to X server
-#?XSERVER-50 ACCEPT-CONNECT
+#?XSERVER-0 ACCEPT-CONNECT
# Greeter starts
-#?GREETER-X-50 START
-#?XSERVER-50 ACCEPT-CONNECT
-#?GREETER-X-50 CONNECT-XSERVER
-#?GREETER-X-50 CONNECT-TO-DAEMON
-#?GREETER-X-50 CONNECTED-TO-DAEMON
+#?GREETER-X-0 START
+#?XSERVER-0 ACCEPT-CONNECT
+#?GREETER-X-0 CONNECT-XSERVER
+#?GREETER-X-0 CONNECT-TO-DAEMON
+#?GREETER-X-0 CONNECTED-TO-DAEMON
# Autologin timer expires
-#?GREETER-X-50 AUTOLOGIN-TIMER-EXPIRED
+#?GREETER-X-0 AUTOLOGIN-TIMER-EXPIRED
# Trigger autologin
-#?*GREETER-X-50 AUTHENTICATE-AUTOLOGIN
-#?GREETER-X-50 AUTHENTICATION-COMPLETE AUTHENTICATED=TRUE
-#?*GREETER-X-50 START-SESSION
-#?GREETER-X-50 TERMINATE SIGNAL=15
+#?*GREETER-X-0 AUTHENTICATE-AUTOLOGIN
+#?GREETER-X-0 AUTHENTICATION-COMPLETE AUTHENTICATED=TRUE
+#?*GREETER-X-0 START-SESSION
+#?GREETER-X-0 TERMINATE SIGNAL=15
# Guest account created
#?GUEST-ACCOUNT ADD USERNAME=guest-.*
# Guest session starts
-#?SESSION-X-50 START USER=guest-.*
-#?XSERVER-50 ACCEPT-CONNECT
-#?SESSION-X-50 CONNECT-XSERVER
+#?SESSION-X-0 START USER=guest-.*
+#?XSERVER-0 ACCEPT-CONNECT
+#?SESSION-X-0 CONNECT-XSERVER
# Cleanup
#?*STOP-DAEMON
-#?SESSION-X-50 TERMINATE SIGNAL=15
-#?XSERVER-50 TERMINATE SIGNAL=15
+#?SESSION-X-0 TERMINATE SIGNAL=15
+#?XSERVER-0 TERMINATE SIGNAL=15
#?GUEST-ACCOUNT REMOVE USERNAME=guest-.*
#?RUNNER DAEMON-EXIT STATUS=0
# Check automatically logs in default user
#
-[LightDM]
-minimum-display-number=50
-
[SeatDefaults]
autologin-guest=true
#?RUNNER DAEMON-START
# X server starts
-#?XSERVER-50 START
-#?XSERVER-50 INDICATE-READY
+#?XSERVER-0 START
+#?XSERVER-0 INDICATE-READY
# LightDM connects to X server
-#?XSERVER-50 ACCEPT-CONNECT
+#?XSERVER-0 ACCEPT-CONNECT
# Guest account created
#?GUEST-ACCOUNT ADD USERNAME=guest-.*
# Guest session starts
-#?SESSION-X-50 START USER=guest-.*
-#?XSERVER-50 ACCEPT-CONNECT
-#?SESSION-X-50 CONNECT-XSERVER
+#?SESSION-X-0 START USER=guest-.*
+#?XSERVER-0 ACCEPT-CONNECT
+#?SESSION-X-0 CONNECT-XSERVER
# Cleanup
#?*STOP-DAEMON
-#?SESSION-X-50 TERMINATE SIGNAL=15
-#?XSERVER-50 TERMINATE SIGNAL=15
+#?SESSION-X-0 TERMINATE SIGNAL=15
+#?XSERVER-0 TERMINATE SIGNAL=15
#?GUEST-ACCOUNT REMOVE USERNAME=guest.*
#?RUNNER DAEMON-EXIT STATUS=0
# Check automatically logs in default user while keeping a greeter up
#
-[LightDM]
-minimum-display-number=50
-
[SeatDefaults]
autologin-user=have-password1
autologin-in-background=true
#?RUNNER DAEMON-START
# Greeter starts
-#?XSERVER-50 START
-#?XSERVER-50 INDICATE-READY
-#?XSERVER-50 ACCEPT-CONNECT
-#?GREETER-X-50 START
-#?XSERVER-50 ACCEPT-CONNECT
-#?GREETER-X-50 CONNECT-XSERVER
-#?GREETER-X-50 CONNECT-TO-DAEMON
-#?GREETER-X-50 CONNECTED-TO-DAEMON
+#?XSERVER-0 START
+#?XSERVER-0 INDICATE-READY
+#?XSERVER-0 ACCEPT-CONNECT
+#?GREETER-X-0 START
+#?XSERVER-0 ACCEPT-CONNECT
+#?GREETER-X-0 CONNECT-XSERVER
+#?GREETER-X-0 CONNECT-TO-DAEMON
+#?GREETER-X-0 CONNECTED-TO-DAEMON
# Autologin user starts
-#?XSERVER-51 START
-#?XSERVER-51 INDICATE-READY
-#?XSERVER-51 ACCEPT-CONNECT
-#?SESSION-X-51 START USER=have-password1
-#?XSERVER-51 ACCEPT-CONNECT
-#?SESSION-X-51 CONNECT-XSERVER
+#?XSERVER-1 START
+#?XSERVER-1 INDICATE-READY
+#?XSERVER-1 ACCEPT-CONNECT
+#?SESSION-X-1 START USER=have-password1
+#?XSERVER-1 ACCEPT-CONNECT
+#?SESSION-X-1 CONNECT-XSERVER
# Cleanup
#?*STOP-DAEMON
-#?GREETER-X-50 TERMINATE SIGNAL=15
-#?XSERVER-50 TERMINATE SIGNAL=15
-#?SESSION-X-51 TERMINATE SIGNAL=15
-#?XSERVER-51 TERMINATE SIGNAL=15
+#?GREETER-X-0 TERMINATE SIGNAL=15
+#?XSERVER-0 TERMINATE SIGNAL=15
+#?SESSION-X-1 TERMINATE SIGNAL=15
+#?XSERVER-1 TERMINATE SIGNAL=15
#?RUNNER DAEMON-EXIT STATUS=0
# Check autologin fails if invalid session configured and returns to greeter
#
-[LightDM]
-minimum-display-number=50
-
[SeatDefaults]
autologin-user=have-password1
user-session=invalid
#?RUNNER DAEMON-START
# X server starts
-#?XSERVER-50 START
-#?XSERVER-50 INDICATE-READY
+#?XSERVER-0 START
+#?XSERVER-0 INDICATE-READY
# LightDM connects to X server
-#?XSERVER-50 ACCEPT-CONNECT
+#?XSERVER-0 ACCEPT-CONNECT
# (session fails to start)
# Greeter starts
-#?GREETER-X-50 START
-#?XSERVER-50 ACCEPT-CONNECT
-#?GREETER-X-50 CONNECT-XSERVER
-#?GREETER-X-50 CONNECT-TO-DAEMON
-#?GREETER-X-50 CONNECTED-TO-DAEMON
+#?GREETER-X-0 START
+#?XSERVER-0 ACCEPT-CONNECT
+#?GREETER-X-0 CONNECT-XSERVER
+#?GREETER-X-0 CONNECT-TO-DAEMON
+#?GREETER-X-0 CONNECTED-TO-DAEMON
# Cleanup
#?*STOP-DAEMON
-#?GREETER-X-50 TERMINATE SIGNAL=15
-#?XSERVER-50 TERMINATE SIGNAL=15
+#?GREETER-X-0 TERMINATE SIGNAL=15
+#?XSERVER-0 TERMINATE SIGNAL=15
#?RUNNER DAEMON-EXIT STATUS=0
# Check automatically logs in default user
#
-[LightDM]
-minimum-display-number=50
-
[SeatDefaults]
autologin-user=invalid
#?RUNNER DAEMON-START
# X server starts
-#?XSERVER-50 START
-#?XSERVER-50 INDICATE-READY
+#?XSERVER-0 START
+#?XSERVER-0 INDICATE-READY
# LightDM connects to X server
-#?XSERVER-50 ACCEPT-CONNECT
+#?XSERVER-0 ACCEPT-CONNECT
# (fails to start session for invalid user)
# Greeter starts
-#?GREETER-X-50 START
-#?XSERVER-50 ACCEPT-CONNECT
-#?GREETER-X-50 CONNECT-XSERVER
-#?GREETER-X-50 CONNECT-TO-DAEMON
-#?GREETER-X-50 CONNECTED-TO-DAEMON
+#?GREETER-X-0 START
+#?XSERVER-0 ACCEPT-CONNECT
+#?GREETER-X-0 CONNECT-XSERVER
+#?GREETER-X-0 CONNECT-TO-DAEMON
+#?GREETER-X-0 CONNECTED-TO-DAEMON
# Cleanup
#?*STOP-DAEMON
-#?GREETER-X-50 TERMINATE SIGNAL=15
-#?XSERVER-50 TERMINATE SIGNAL=15
+#?GREETER-X-0 TERMINATE SIGNAL=15
+#?XSERVER-0 TERMINATE SIGNAL=15
#?RUNNER DAEMON-EXIT STATUS=0
# Check logging out after autologin returns to greeter and doesn't autologin again
#
-[LightDM]
-minimum-display-number=50
-
[SeatDefaults]
autologin-user=have-password1
#?RUNNER DAEMON-START
# X server starts
-#?XSERVER-50 START
-#?XSERVER-50 INDICATE-READY
+#?XSERVER-0 START
+#?XSERVER-0 INDICATE-READY
# LightDM connects to X server
-#?XSERVER-50 ACCEPT-CONNECT
+#?XSERVER-0 ACCEPT-CONNECT
# Autologin session starts
-#?SESSION-X-50 START USER=have-password1
-#?XSERVER-50 ACCEPT-CONNECT
-#?SESSION-X-50 CONNECT-XSERVER
+#?SESSION-X-0 START USER=have-password1
+#?XSERVER-0 ACCEPT-CONNECT
+#?SESSION-X-0 CONNECT-XSERVER
# Logout session
-#?*SESSION-X-50 LOGOUT
+#?*SESSION-X-0 LOGOUT
# X server stops
-#?XSERVER-50 TERMINATE SIGNAL=15
+#?XSERVER-0 TERMINATE SIGNAL=15
# X server starts
-#?XSERVER-50 START
-#?XSERVER-50 INDICATE-READY
+#?XSERVER-0 START
+#?XSERVER-0 INDICATE-READY
# LightDM connects to X server
-#?XSERVER-50 ACCEPT-CONNECT
+#?XSERVER-0 ACCEPT-CONNECT
# Greeter starts
-#?GREETER-X-50 START
-#?XSERVER-50 ACCEPT-CONNECT
-#?GREETER-X-50 CONNECT-XSERVER
-#?GREETER-X-50 CONNECT-TO-DAEMON
-#?GREETER-X-50 CONNECTED-TO-DAEMON
+#?GREETER-X-0 START
+#?XSERVER-0 ACCEPT-CONNECT
+#?GREETER-X-0 CONNECT-XSERVER
+#?GREETER-X-0 CONNECT-TO-DAEMON
+#?GREETER-X-0 CONNECTED-TO-DAEMON
# Wait in case the greeter tries to log in immediately
#?*WAIT
# Cleanup
#?*STOP-DAEMON
-#?GREETER-X-50 TERMINATE SIGNAL=15
-#?XSERVER-50 TERMINATE SIGNAL=15
+#?GREETER-X-0 TERMINATE SIGNAL=15
+#?XSERVER-0 TERMINATE SIGNAL=15
#?RUNNER DAEMON-EXIT STATUS=0
# Check automatic login stops if a password change is required
#
-[LightDM]
-minimum-display-number=50
-
[SeatDefaults]
autologin-user=new-authtok
#?RUNNER DAEMON-START
# X server starts
-#?XSERVER-50 START
-#?XSERVER-50 INDICATE-READY
+#?XSERVER-0 START
+#?XSERVER-0 INDICATE-READY
# LightDM connects to X server
-#?XSERVER-50 ACCEPT-CONNECT
+#?XSERVER-0 ACCEPT-CONNECT
# (Session fails)
# Greeter starts
-#?GREETER-X-50 START
-#?XSERVER-50 ACCEPT-CONNECT
-#?GREETER-X-50 CONNECT-XSERVER
-#?GREETER-X-50 CONNECT-TO-DAEMON
-#?GREETER-X-50 CONNECTED-TO-DAEMON
+#?GREETER-X-0 START
+#?XSERVER-0 ACCEPT-CONNECT
+#?GREETER-X-0 CONNECT-XSERVER
+#?GREETER-X-0 CONNECT-TO-DAEMON
+#?GREETER-X-0 CONNECTED-TO-DAEMON
# Cleanup
#?*STOP-DAEMON
-#?GREETER-X-50 TERMINATE SIGNAL=15
-#?XSERVER-50 TERMINATE SIGNAL=15
+#?GREETER-X-0 TERMINATE SIGNAL=15
+#?XSERVER-0 TERMINATE SIGNAL=15
#?RUNNER DAEMON-EXIT STATUS=0
# Check automatic login stops if an account prompts for a password
#
-[LightDM]
-minimum-display-number=50
-
[SeatDefaults]
autologin-user=always-password
#?RUNNER DAEMON-START
# X server starts
-#?XSERVER-50 START
-#?XSERVER-50 INDICATE-READY
+#?XSERVER-0 START
+#?XSERVER-0 INDICATE-READY
# LightDM connects to X server
-#?XSERVER-50 ACCEPT-CONNECT
+#?XSERVER-0 ACCEPT-CONNECT
# (Session fails)
# Greeter starts
-#?GREETER-X-50 START
-#?XSERVER-50 ACCEPT-CONNECT
-#?GREETER-X-50 CONNECT-XSERVER
-#?GREETER-X-50 CONNECT-TO-DAEMON
-#?GREETER-X-50 CONNECTED-TO-DAEMON
+#?GREETER-X-0 START
+#?XSERVER-0 ACCEPT-CONNECT
+#?GREETER-X-0 CONNECT-XSERVER
+#?GREETER-X-0 CONNECT-TO-DAEMON
+#?GREETER-X-0 CONNECTED-TO-DAEMON
# Cleanup
#?*STOP-DAEMON
-#?GREETER-X-50 TERMINATE SIGNAL=15
-#?XSERVER-50 TERMINATE SIGNAL=15
+#?GREETER-X-0 TERMINATE SIGNAL=15
+#?XSERVER-0 TERMINATE SIGNAL=15
#?RUNNER DAEMON-EXIT STATUS=0
# Check automatically logs in and picks correct session
#
-[LightDM]
-minimum-display-number=50
-
[SeatDefaults]
autologin-user=have-session
#?RUNNER DAEMON-START
# X server starts
-#?XSERVER-50 START
-#?XSERVER-50 INDICATE-READY
+#?XSERVER-0 START
+#?XSERVER-0 INDICATE-READY
# LightDM connects to X server
-#?XSERVER-50 ACCEPT-CONNECT
+#?XSERVER-0 ACCEPT-CONNECT
# Session starts
-#?SESSION-X-50 START NAME=alternative USER=have-session
-#?XSERVER-50 ACCEPT-CONNECT
-#?SESSION-X-50 CONNECT-XSERVER
+#?SESSION-X-0 START NAME=alternative USER=have-session
+#?XSERVER-0 ACCEPT-CONNECT
+#?SESSION-X-0 CONNECT-XSERVER
# Cleanup
#?*STOP-DAEMON
-#?SESSION-X-50 TERMINATE SIGNAL=15
-#?XSERVER-50 TERMINATE SIGNAL=15
+#?SESSION-X-0 TERMINATE SIGNAL=15
+#?XSERVER-0 TERMINATE SIGNAL=15
#?RUNNER DAEMON-EXIT STATUS=0
# Check if session crashes then returned to greeter
#
-[LightDM]
-minimum-display-number=50
-
[SeatDefaults]
autologin-user=have-password1
#?RUNNER DAEMON-START
# X server starts
-#?XSERVER-50 START
-#?XSERVER-50 INDICATE-READY
+#?XSERVER-0 START
+#?XSERVER-0 INDICATE-READY
# LightDM connects to X server
-#?XSERVER-50 ACCEPT-CONNECT
+#?XSERVER-0 ACCEPT-CONNECT
# Session starts
-#?SESSION-X-50 START USER=have-password1
-#?XSERVER-50 ACCEPT-CONNECT
-#?SESSION-X-50 CONNECT-XSERVER
+#?SESSION-X-0 START USER=have-password1
+#?XSERVER-0 ACCEPT-CONNECT
+#?SESSION-X-0 CONNECT-XSERVER
# Crash session
-#?*SESSION-X-50 CRASH
+#?*SESSION-X-0 CRASH
# X server stops
-#?XSERVER-50 TERMINATE SIGNAL=15
+#?XSERVER-0 TERMINATE SIGNAL=15
# X server starts
-#?XSERVER-50 START
-#?XSERVER-50 INDICATE-READY
+#?XSERVER-0 START
+#?XSERVER-0 INDICATE-READY
# LightDM connects to X server
-#?XSERVER-50 ACCEPT-CONNECT
+#?XSERVER-0 ACCEPT-CONNECT
# Greeter starts
-#?GREETER-X-50 START
-#?XSERVER-50 ACCEPT-CONNECT
-#?GREETER-X-50 CONNECT-XSERVER
-#?GREETER-X-50 CONNECT-TO-DAEMON
-#?GREETER-X-50 CONNECTED-TO-DAEMON
+#?GREETER-X-0 START
+#?XSERVER-0 ACCEPT-CONNECT
+#?GREETER-X-0 CONNECT-XSERVER
+#?GREETER-X-0 CONNECT-TO-DAEMON
+#?GREETER-X-0 CONNECTED-TO-DAEMON
# Cleanup
#?*STOP-DAEMON
-#?GREETER-X-50 TERMINATE SIGNAL=15
-#?XSERVER-50 TERMINATE SIGNAL=15
+#?GREETER-X-0 TERMINATE SIGNAL=15
+#?XSERVER-0 TERMINATE SIGNAL=15
#?RUNNER DAEMON-EXIT STATUS=0
# Check automatic login stops if an account can't open a session
#
-[LightDM]
-minimum-display-number=50
-
[SeatDefaults]
autologin-user=session-error
#?RUNNER DAEMON-START
# X server starts
-#?XSERVER-50 START
-#?XSERVER-50 INDICATE-READY
+#?XSERVER-0 START
+#?XSERVER-0 INDICATE-READY
# LightDM connects to X server
-#?XSERVER-50 ACCEPT-CONNECT
+#?XSERVER-0 ACCEPT-CONNECT
# (Session fails)
# X server stops
-#?XSERVER-50 TERMINATE SIGNAL=15
+#?XSERVER-0 TERMINATE SIGNAL=15
# X server starts
-#?XSERVER-50 START
-#?XSERVER-50 INDICATE-READY
+#?XSERVER-0 START
+#?XSERVER-0 INDICATE-READY
# LightDM connects to X server
-#?XSERVER-50 ACCEPT-CONNECT
+#?XSERVER-0 ACCEPT-CONNECT
# Greeter starts
-#?GREETER-X-50 START
-#?XSERVER-50 ACCEPT-CONNECT
-#?GREETER-X-50 CONNECT-XSERVER
-#?GREETER-X-50 CONNECT-TO-DAEMON
-#?GREETER-X-50 CONNECTED-TO-DAEMON
+#?GREETER-X-0 START
+#?XSERVER-0 ACCEPT-CONNECT
+#?GREETER-X-0 CONNECT-XSERVER
+#?GREETER-X-0 CONNECT-TO-DAEMON
+#?GREETER-X-0 CONNECTED-TO-DAEMON
# Cleanup
#?*STOP-DAEMON
-#?GREETER-X-50 TERMINATE SIGNAL=15
-#?XSERVER-50 TERMINATE SIGNAL=15
+#?GREETER-X-0 TERMINATE SIGNAL=15
+#?XSERVER-0 TERMINATE SIGNAL=15
#?RUNNER DAEMON-EXIT STATUS=0
# Check automatically logs in default user with timeout and in-background set
#
-[LightDM]
-minimum-display-number=50
-
[SeatDefaults]
autologin-user=have-password1
autologin-user-timeout=1
#?RUNNER DAEMON-START
# Greeter starts
-#?XSERVER-50 START
-#?XSERVER-50 INDICATE-READY
-#?XSERVER-50 ACCEPT-CONNECT
-#?GREETER-X-50 START
-#?XSERVER-50 ACCEPT-CONNECT
-#?GREETER-X-50 CONNECT-XSERVER
-#?GREETER-X-50 CONNECT-TO-DAEMON
-#?GREETER-X-50 CONNECTED-TO-DAEMON
+#?XSERVER-0 START
+#?XSERVER-0 INDICATE-READY
+#?XSERVER-0 ACCEPT-CONNECT
+#?GREETER-X-0 START
+#?XSERVER-0 ACCEPT-CONNECT
+#?GREETER-X-0 CONNECT-XSERVER
+#?GREETER-X-0 CONNECT-TO-DAEMON
+#?GREETER-X-0 CONNECTED-TO-DAEMON
# Guest session starts
-#?XSERVER-51 START
-#?XSERVER-51 INDICATE-READY
-#?XSERVER-51 ACCEPT-CONNECT
-#?SESSION-X-51 START USER=have-password1
-#?XSERVER-51 ACCEPT-CONNECT
-#?SESSION-X-51 CONNECT-XSERVER
+#?XSERVER-1 START
+#?XSERVER-1 INDICATE-READY
+#?XSERVER-1 ACCEPT-CONNECT
+#?SESSION-X-1 START USER=have-password1
+#?XSERVER-1 ACCEPT-CONNECT
+#?SESSION-X-1 CONNECT-XSERVER
-#?GREETER-X-50 AUTOLOGIN-TIMER-EXPIRED
-#?*GREETER-X-50 AUTHENTICATE-AUTOLOGIN
-#?GREETER-X-50 AUTHENTICATION-COMPLETE USERNAME=have-password1 AUTHENTICATED=TRUE
-#?*GREETER-X-50 START-SESSION
-#?GREETER-X-50 TERMINATE SIGNAL=15
+#?GREETER-X-0 AUTOLOGIN-TIMER-EXPIRED
+#?*GREETER-X-0 AUTHENTICATE-AUTOLOGIN
+#?GREETER-X-0 AUTHENTICATION-COMPLETE USERNAME=have-password1 AUTHENTICATED=TRUE
+#?*GREETER-X-0 START-SESSION
+#?GREETER-X-0 TERMINATE SIGNAL=15
# Cleanup
#?*STOP-DAEMON
-#?XSERVER-50 TERMINATE SIGNAL=15
-#?SESSION-X-51 TERMINATE SIGNAL=15
-#?XSERVER-51 TERMINATE SIGNAL=15
+#?XSERVER-0 TERMINATE SIGNAL=15
+#?SESSION-X-1 TERMINATE SIGNAL=15
+#?XSERVER-1 TERMINATE SIGNAL=15
#?RUNNER DAEMON-EXIT STATUS=0
# Check automatically logs in default user
#
-[LightDM]
-minimum-display-number=50
-
[SeatDefaults]
autologin-user=have-password1
autologin-user-timeout=1
#?RUNNER DAEMON-START
# X server starts
-#?XSERVER-50 START
-#?XSERVER-50 INDICATE-READY
+#?XSERVER-0 START
+#?XSERVER-0 INDICATE-READY
# LightDM connects to X server
-#?XSERVER-50 ACCEPT-CONNECT
+#?XSERVER-0 ACCEPT-CONNECT
# Greeter starts
-#?GREETER-X-50 START
-#?XSERVER-50 ACCEPT-CONNECT
-#?GREETER-X-50 CONNECT-XSERVER
-#?GREETER-X-50 CONNECT-TO-DAEMON
-#?GREETER-X-50 CONNECTED-TO-DAEMON
+#?GREETER-X-0 START
+#?XSERVER-0 ACCEPT-CONNECT
+#?GREETER-X-0 CONNECT-XSERVER
+#?GREETER-X-0 CONNECT-TO-DAEMON
+#?GREETER-X-0 CONNECTED-TO-DAEMON
# Autologin timer expires
-#?GREETER-X-50 AUTOLOGIN-TIMER-EXPIRED
+#?GREETER-X-0 AUTOLOGIN-TIMER-EXPIRED
# Trigger autologin
-#?*GREETER-X-50 AUTHENTICATE-AUTOLOGIN
-#?GREETER-X-50 AUTHENTICATION-COMPLETE USERNAME=have-password1 AUTHENTICATED=TRUE
-#?*GREETER-X-50 START-SESSION
-#?GREETER-X-50 TERMINATE SIGNAL=15
+#?*GREETER-X-0 AUTHENTICATE-AUTOLOGIN
+#?GREETER-X-0 AUTHENTICATION-COMPLETE USERNAME=have-password1 AUTHENTICATED=TRUE
+#?*GREETER-X-0 START-SESSION
+#?GREETER-X-0 TERMINATE SIGNAL=15
# Session starts
-#?SESSION-X-50 START USER=have-password1
-#?XSERVER-50 ACCEPT-CONNECT
-#?SESSION-X-50 CONNECT-XSERVER
+#?SESSION-X-0 START USER=have-password1
+#?XSERVER-0 ACCEPT-CONNECT
+#?SESSION-X-0 CONNECT-XSERVER
# Cleanup
#?*STOP-DAEMON
-#?SESSION-X-50 TERMINATE SIGNAL=15
-#?XSERVER-50 TERMINATE SIGNAL=15
+#?SESSION-X-0 TERMINATE SIGNAL=15
+#?XSERVER-0 TERMINATE SIGNAL=15
#?RUNNER DAEMON-EXIT STATUS=0
# Check LightDM returns to the greeter if the X server crashes inside a session
#
-[LightDM]
-minimum-display-number=50
-
[SeatDefaults]
autologin-user=have-password1
#?RUNNER DAEMON-START
# XServer starts
-#?XSERVER-50 START
-#?XSERVER-50 INDICATE-READY
+#?XSERVER-0 START
+#?XSERVER-0 INDICATE-READY
# LightDM connects to X server
-#?XSERVER-50 ACCEPT-CONNECT
+#?XSERVER-0 ACCEPT-CONNECT
# Session starts
-#?SESSION-X-50 START USER=have-password1
-#?XSERVER-50 ACCEPT-CONNECT
-#?SESSION-X-50 CONNECT-XSERVER
+#?SESSION-X-0 START USER=have-password1
+#?XSERVER-0 ACCEPT-CONNECT
+#?SESSION-X-0 CONNECT-XSERVER
# Crash X server
-#?*XSERVER-50 CRASH
+#?*XSERVER-0 CRASH
# User session is terminated
-#?SESSION-X-50 TERMINATE SIGNAL=15
+#?SESSION-X-0 TERMINATE SIGNAL=15
# X server restarts
-#?XSERVER-50 START
-#?XSERVER-50 INDICATE-READY
-#?XSERVER-50 ACCEPT-CONNECT
+#?XSERVER-0 START
+#?XSERVER-0 INDICATE-READY
+#?XSERVER-0 ACCEPT-CONNECT
# Greeter starts
-#?GREETER-X-50 START
-#?XSERVER-50 ACCEPT-CONNECT
-#?GREETER-X-50 CONNECT-XSERVER
-#?GREETER-X-50 CONNECT-TO-DAEMON
-#?GREETER-X-50 CONNECTED-TO-DAEMON
+#?GREETER-X-0 START
+#?XSERVER-0 ACCEPT-CONNECT
+#?GREETER-X-0 CONNECT-XSERVER
+#?GREETER-X-0 CONNECT-TO-DAEMON
+#?GREETER-X-0 CONNECTED-TO-DAEMON
#?*STOP-DAEMON
-#?GREETER-X-50 TERMINATE SIGNAL=15
-#?XSERVER-50 TERMINATE SIGNAL=15
+#?GREETER-X-0 TERMINATE SIGNAL=15
+#?XSERVER-0 TERMINATE SIGNAL=15
#?RUNNER DAEMON-EXIT STATUS=0
# Check automatically logs in default user
#
-[LightDM]
-minimum-display-number=50
-
[SeatDefaults]
autologin-user=have-password1
#?RUNNER DAEMON-START
# X server starts
-#?XSERVER-50 START
-#?XSERVER-50 INDICATE-READY
+#?XSERVER-0 START
+#?XSERVER-0 INDICATE-READY
# LightDM connects to X server
-#?XSERVER-50 ACCEPT-CONNECT
+#?XSERVER-0 ACCEPT-CONNECT
# Session starts
-#?SESSION-X-50 START USER=have-password1
-#?XSERVER-50 ACCEPT-CONNECT
-#?SESSION-X-50 CONNECT-XSERVER
+#?SESSION-X-0 START USER=have-password1
+#?XSERVER-0 ACCEPT-CONNECT
+#?SESSION-X-0 CONNECT-XSERVER
# Cleanup
#?*STOP-DAEMON
-#?SESSION-X-50 TERMINATE SIGNAL=15
-#?XSERVER-50 TERMINATE SIGNAL=15
+#?SESSION-X-0 TERMINATE SIGNAL=15
+#?XSERVER-0 TERMINATE SIGNAL=15
#?RUNNER DAEMON-EXIT STATUS=0
# Check can cancel authentication
#
-[LightDM]
-minimum-display-number=50
-
#?RUNNER DAEMON-START
# X server starts
-#?XSERVER-50 START
-#?XSERVER-50 INDICATE-READY
+#?XSERVER-0 START
+#?XSERVER-0 INDICATE-READY
# LightDM connects to X server
-#?XSERVER-50 ACCEPT-CONNECT
+#?XSERVER-0 ACCEPT-CONNECT
# Greeter starts
-#?GREETER-X-50 START
-#?XSERVER-50 ACCEPT-CONNECT
-#?GREETER-X-50 CONNECT-XSERVER
-#?GREETER-X-50 CONNECT-TO-DAEMON
-#?GREETER-X-50 CONNECTED-TO-DAEMON
+#?GREETER-X-0 START
+#?XSERVER-0 ACCEPT-CONNECT
+#?GREETER-X-0 CONNECT-XSERVER
+#?GREETER-X-0 CONNECT-TO-DAEMON
+#?GREETER-X-0 CONNECTED-TO-DAEMON
# Start authentication
-#?*GREETER-X-50 AUTHENTICATE USERNAME=have-password1
-#?GREETER-X-50 SHOW-PROMPT TEXT="Password:"
+#?*GREETER-X-0 AUTHENTICATE USERNAME=have-password1
+#?GREETER-X-0 SHOW-PROMPT TEXT="Password:"
# Cancel authentication
-#?*GREETER-X-50 CANCEL-AUTHENTICATION
+#?*GREETER-X-0 CANCEL-AUTHENTICATION
# Start new authentication
-#?*GREETER-X-50 AUTHENTICATE USERNAME=have-password2
-#?GREETER-X-50 SHOW-PROMPT TEXT="Password:"
+#?*GREETER-X-0 AUTHENTICATE USERNAME=have-password2
+#?GREETER-X-0 SHOW-PROMPT TEXT="Password:"
# Cleanup
#?*STOP-DAEMON
-#?GREETER-X-50 TERMINATE SIGNAL=15
-#?XSERVER-50 TERMINATE SIGNAL=15
+#?GREETER-X-0 TERMINATE SIGNAL=15
+#?XSERVER-0 TERMINATE SIGNAL=15
#?RUNNER DAEMON-EXIT STATUS=0
# Check can change authentication
#
-[LightDM]
-minimum-display-number=50
-
#?RUNNER DAEMON-START
# X server starts
-#?XSERVER-50 START
-#?XSERVER-50 INDICATE-READY
+#?XSERVER-0 START
+#?XSERVER-0 INDICATE-READY
# LightDM connects to X server
-#?XSERVER-50 ACCEPT-CONNECT
+#?XSERVER-0 ACCEPT-CONNECT
# Greeter starts
-#?GREETER-X-50 START
-#?XSERVER-50 ACCEPT-CONNECT
-#?GREETER-X-50 CONNECT-XSERVER
-#?GREETER-X-50 CONNECT-TO-DAEMON
-#?GREETER-X-50 CONNECTED-TO-DAEMON
+#?GREETER-X-0 START
+#?XSERVER-0 ACCEPT-CONNECT
+#?GREETER-X-0 CONNECT-XSERVER
+#?GREETER-X-0 CONNECT-TO-DAEMON
+#?GREETER-X-0 CONNECTED-TO-DAEMON
# Start authentication
-#?*GREETER-X-50 AUTHENTICATE USERNAME=have-password1
-#?GREETER-X-50 SHOW-PROMPT TEXT="Password:"
+#?*GREETER-X-0 AUTHENTICATE USERNAME=have-password1
+#?GREETER-X-0 SHOW-PROMPT TEXT="Password:"
# Change user authentication
-#?*GREETER-X-50 AUTHENTICATE USERNAME=have-password2
-#?GREETER-X-50 SHOW-PROMPT TEXT="Password:"
+#?*GREETER-X-0 AUTHENTICATE USERNAME=have-password2
+#?GREETER-X-0 SHOW-PROMPT TEXT="Password:"
# Cleanup
#?*STOP-DAEMON
-#?GREETER-X-50 TERMINATE SIGNAL=15
-#?XSERVER-50 TERMINATE SIGNAL=15
+#?GREETER-X-0 TERMINATE SIGNAL=15
+#?XSERVER-0 TERMINATE SIGNAL=15
#?RUNNER DAEMON-EXIT STATUS=0
[test-runner-config]
disable-login1=true
-[LightDM]
-minimum-display-number=50
-
[SeatDefaults]
autologin-user=have-password1
#?RUNNER DAEMON-START
# X server starts
-#?XSERVER-50 START
-#?XSERVER-50 INDICATE-READY
+#?XSERVER-0 START
+#?XSERVER-0 INDICATE-READY
# LightDM connects to X server
-#?XSERVER-50 ACCEPT-CONNECT
+#?XSERVER-0 ACCEPT-CONNECT
# Session starts
-#?SESSION-X-50 START USER=have-password1
-#?XSERVER-50 ACCEPT-CONNECT
-#?SESSION-X-50 CONNECT-XSERVER
+#?SESSION-X-0 START USER=have-password1
+#?XSERVER-0 ACCEPT-CONNECT
+#?SESSION-X-0 CONNECT-XSERVER
# Check environment variable
-#?*SESSION-X-50 READ-ENV NAME=XDG_SESSION_COOKIE
-#?SESSION-X-50 READ-ENV NAME=XDG_SESSION_COOKIE VALUE=ck-cookie-x:50
+#?*SESSION-X-0 READ-ENV NAME=XDG_SESSION_COOKIE
+#?SESSION-X-0 READ-ENV NAME=XDG_SESSION_COOKIE VALUE=ck-cookie-x:0
# Cleanup
#?*STOP-DAEMON
-#?SESSION-X-50 TERMINATE SIGNAL=15
-#?XSERVER-50 TERMINATE SIGNAL=15
+#?SESSION-X-0 TERMINATE SIGNAL=15
+#?XSERVER-0 TERMINATE SIGNAL=15
#?RUNNER DAEMON-EXIT STATUS=0
# Check authentication crash on autologin is handled
#
-[LightDM]
-minimum-display-number=50
-
[SeatDefaults]
autologin-user=crash-authenticate
#?RUNNER DAEMON-START
# X server starts
-#?XSERVER-50 START
-#?XSERVER-50 INDICATE-READY
+#?XSERVER-0 START
+#?XSERVER-0 INDICATE-READY
# LightDM connects to X server
-#?XSERVER-50 ACCEPT-CONNECT
+#?XSERVER-0 ACCEPT-CONNECT
# (authentication crashes)
# Greeter starts
-#?GREETER-X-50 START
-#?XSERVER-50 ACCEPT-CONNECT
-#?GREETER-X-50 CONNECT-XSERVER
-#?GREETER-X-50 CONNECT-TO-DAEMON
-#?GREETER-X-50 CONNECTED-TO-DAEMON
+#?GREETER-X-0 START
+#?XSERVER-0 ACCEPT-CONNECT
+#?GREETER-X-0 CONNECT-XSERVER
+#?GREETER-X-0 CONNECT-TO-DAEMON
+#?GREETER-X-0 CONNECTED-TO-DAEMON
# Cleanup
#?*STOP-DAEMON
-#?GREETER-X-50 TERMINATE SIGNAL=15
-#?XSERVER-50 TERMINATE SIGNAL=15
+#?GREETER-X-0 TERMINATE SIGNAL=15
+#?XSERVER-0 TERMINATE SIGNAL=15
#?RUNNER DAEMON-EXIT STATUS=0
# Check automatic login stops if an account can't establish credentials
#
-[LightDM]
-minimum-display-number=50
-
[SeatDefaults]
autologin-user=cred-error
#?RUNNER DAEMON-START
# X server starts
-#?XSERVER-50 START
-#?XSERVER-50 INDICATE-READY
+#?XSERVER-0 START
+#?XSERVER-0 INDICATE-READY
# LightDM connects to X server
-#?XSERVER-50 ACCEPT-CONNECT
+#?XSERVER-0 ACCEPT-CONNECT
# (Session fails)
# X server stops
-#?XSERVER-50 TERMINATE SIGNAL=15
+#?XSERVER-0 TERMINATE SIGNAL=15
# X server starts
-#?XSERVER-50 START
-#?XSERVER-50 INDICATE-READY
+#?XSERVER-0 START
+#?XSERVER-0 INDICATE-READY
# LightDM connects to X server
-#?XSERVER-50 ACCEPT-CONNECT
+#?XSERVER-0 ACCEPT-CONNECT
# Greeter starts
-#?GREETER-X-50 START
-#?XSERVER-50 ACCEPT-CONNECT
-#?GREETER-X-50 CONNECT-XSERVER
-#?GREETER-X-50 CONNECT-TO-DAEMON
-#?GREETER-X-50 CONNECTED-TO-DAEMON
+#?GREETER-X-0 START
+#?XSERVER-0 ACCEPT-CONNECT
+#?GREETER-X-0 CONNECT-XSERVER
+#?GREETER-X-0 CONNECT-TO-DAEMON
+#?GREETER-X-0 CONNECTED-TO-DAEMON
# Cleanup
#?*STOP-DAEMON
-#?GREETER-X-50 TERMINATE SIGNAL=15
-#?XSERVER-50 TERMINATE SIGNAL=15
+#?GREETER-X-0 TERMINATE SIGNAL=15
+#?XSERVER-0 TERMINATE SIGNAL=15
#?RUNNER DAEMON-EXIT STATUS=0
# Check automatic login stops if an account has expired credentials
#
-[LightDM]
-minimum-display-number=50
-
[SeatDefaults]
autologin-user=cred-expired
#?RUNNER DAEMON-START
# X server starts
-#?XSERVER-50 START
-#?XSERVER-50 INDICATE-READY
+#?XSERVER-0 START
+#?XSERVER-0 INDICATE-READY
# LightDM connects to X server
-#?XSERVER-50 ACCEPT-CONNECT
+#?XSERVER-0 ACCEPT-CONNECT
# (Session fails)
# X server stops
-#?XSERVER-50 TERMINATE SIGNAL=15
+#?XSERVER-0 TERMINATE SIGNAL=15
# X server starts
-#?XSERVER-50 START
-#?XSERVER-50 INDICATE-READY
+#?XSERVER-0 START
+#?XSERVER-0 INDICATE-READY
# LightDM connects to X server
-#?XSERVER-50 ACCEPT-CONNECT
+#?XSERVER-0 ACCEPT-CONNECT
# Greeter starts
-#?GREETER-X-50 START
-#?XSERVER-50 ACCEPT-CONNECT
-#?GREETER-X-50 CONNECT-XSERVER
-#?GREETER-X-50 CONNECT-TO-DAEMON
-#?GREETER-X-50 CONNECTED-TO-DAEMON
+#?GREETER-X-0 START
+#?XSERVER-0 ACCEPT-CONNECT
+#?GREETER-X-0 CONNECT-XSERVER
+#?GREETER-X-0 CONNECT-TO-DAEMON
+#?GREETER-X-0 CONNECTED-TO-DAEMON
# Cleanup
#?*STOP-DAEMON
-#?GREETER-X-50 TERMINATE SIGNAL=15
-#?XSERVER-50 TERMINATE SIGNAL=15
+#?GREETER-X-0 TERMINATE SIGNAL=15
+#?XSERVER-0 TERMINATE SIGNAL=15
#?RUNNER DAEMON-EXIT STATUS=0
# Check automatic login stops if an account can't access credentials
#
-[LightDM]
-minimum-display-number=50
-
[SeatDefaults]
autologin-user=cred-unavail
#?RUNNER DAEMON-START
# X server starts
-#?XSERVER-50 START
-#?XSERVER-50 INDICATE-READY
+#?XSERVER-0 START
+#?XSERVER-0 INDICATE-READY
# LightDM connects to X server
-#?XSERVER-50 ACCEPT-CONNECT
+#?XSERVER-0 ACCEPT-CONNECT
# (Session fails)
# X server stops
-#?XSERVER-50 TERMINATE SIGNAL=15
+#?XSERVER-0 TERMINATE SIGNAL=15
# X server starts
-#?XSERVER-50 START
-#?XSERVER-50 INDICATE-READY
+#?XSERVER-0 START
+#?XSERVER-0 INDICATE-READY
# LightDM connects to X server
-#?XSERVER-50 ACCEPT-CONNECT
+#?XSERVER-0 ACCEPT-CONNECT
# Greeter starts
-#?GREETER-X-50 START
-#?XSERVER-50 ACCEPT-CONNECT
-#?GREETER-X-50 CONNECT-XSERVER
-#?GREETER-X-50 CONNECT-TO-DAEMON
-#?GREETER-X-50 CONNECTED-TO-DAEMON
+#?GREETER-X-0 START
+#?XSERVER-0 ACCEPT-CONNECT
+#?GREETER-X-0 CONNECT-XSERVER
+#?GREETER-X-0 CONNECT-TO-DAEMON
+#?GREETER-X-0 CONNECTED-TO-DAEMON
# Cleanup
#?*STOP-DAEMON
-#?GREETER-X-50 TERMINATE SIGNAL=15
-#?XSERVER-50 TERMINATE SIGNAL=15
+#?GREETER-X-0 TERMINATE SIGNAL=15
+#?XSERVER-0 TERMINATE SIGNAL=15
#?RUNNER DAEMON-EXIT STATUS=0
+++ /dev/null
-#
-# Check returns correct layout for a user
-#
-
-[LightDM]
-minimum-display-number=50
-
-[test-xserver-config]
-keyboard-layout=ara
-keyboard-variant=azerty
-
-#?RUNNER DAEMON-START
-
-# X server starts
-#?XSERVER-50 START
-#?XSERVER-50 INDICATE-READY
-
-# LightDM connects to X server
-#?XSERVER-50 ACCEPT-CONNECT
-
-# Greeter starts
-#?GREETER-X-50 START
-#?XSERVER-50 ACCEPT-CONNECT
-#?GREETER-X-50 CONNECT-XSERVER
-#?GREETER-X-50 CONNECT-TO-DAEMON
-#?GREETER-X-50 CONNECTED-TO-DAEMON
-
-# Correct layout is found
-#?*GREETER-X-50 LOG-LAYOUT
-#?XSERVER-50 ACCEPT-CONNECT
-#?GREETER-X-50 LOG-LAYOUT LAYOUT='ara azerty'
-
-# Cleanup
-#?*STOP-DAEMON
-#?GREETER-X-50 TERMINATE SIGNAL=15
-#?XSERVER-50 TERMINATE SIGNAL=15
-#?RUNNER DAEMON-EXIT STATUS=0
# Check automatic login stops if an account is denied access
#
-[LightDM]
-minimum-display-number=50
-
[SeatDefaults]
autologin-user=denied
#?RUNNER DAEMON-START
# X server starts
-#?XSERVER-50 START
-#?XSERVER-50 INDICATE-READY
+#?XSERVER-0 START
+#?XSERVER-0 INDICATE-READY
# LightDM connects to X server
-#?XSERVER-50 ACCEPT-CONNECT
+#?XSERVER-0 ACCEPT-CONNECT
# (Session fails)
# Greeter starts
-#?GREETER-X-50 START
-#?XSERVER-50 ACCEPT-CONNECT
-#?GREETER-X-50 CONNECT-XSERVER
-#?GREETER-X-50 CONNECT-TO-DAEMON
-#?GREETER-X-50 CONNECTED-TO-DAEMON
+#?GREETER-X-0 START
+#?XSERVER-0 ACCEPT-CONNECT
+#?GREETER-X-0 CONNECT-XSERVER
+#?GREETER-X-0 CONNECT-TO-DAEMON
+#?GREETER-X-0 CONNECTED-TO-DAEMON
# Cleanup
#?*STOP-DAEMON
-#?GREETER-X-50 TERMINATE SIGNAL=15
-#?XSERVER-50 TERMINATE SIGNAL=15
+#?GREETER-X-0 TERMINATE SIGNAL=15
+#?XSERVER-0 TERMINATE SIGNAL=15
#?RUNNER DAEMON-EXIT STATUS=0
# Check automatic login stops if an account is expired
#
-[LightDM]
-minimum-display-number=50
-
[SeatDefaults]
autologin-user=expired
#?RUNNER DAEMON-START
# X server starts
-#?XSERVER-50 START
-#?XSERVER-50 INDICATE-READY
+#?XSERVER-0 START
+#?XSERVER-0 INDICATE-READY
# LightDM connects to X server
-#?XSERVER-50 ACCEPT-CONNECT
+#?XSERVER-0 ACCEPT-CONNECT
# (Session fails)
# Greeter starts
-#?GREETER-X-50 START
-#?XSERVER-50 ACCEPT-CONNECT
-#?GREETER-X-50 CONNECT-XSERVER
-#?GREETER-X-50 CONNECT-TO-DAEMON
-#?GREETER-X-50 CONNECTED-TO-DAEMON
+#?GREETER-X-0 START
+#?XSERVER-0 ACCEPT-CONNECT
+#?GREETER-X-0 CONNECT-XSERVER
+#?GREETER-X-0 CONNECT-TO-DAEMON
+#?GREETER-X-0 CONNECTED-TO-DAEMON
# Cleanup
#?*STOP-DAEMON
-#?GREETER-X-50 TERMINATE SIGNAL=15
-#?XSERVER-50 TERMINATE SIGNAL=15
+#?GREETER-X-0 TERMINATE SIGNAL=15
+#?XSERVER-0 TERMINATE SIGNAL=15
#?RUNNER DAEMON-EXIT STATUS=0
# Check that LightDM quits when the greeter fails to start
#
-[LightDM]
-minimum-display-number=50
-
[test-greeter-config]
return-value=1
#?RUNNER DAEMON-START
# X server starts
-#?XSERVER-50 START
-#?XSERVER-50 INDICATE-READY
+#?XSERVER-0 START
+#?XSERVER-0 INDICATE-READY
# LightDM connects to X server
-#?XSERVER-50 ACCEPT-CONNECT
+#?XSERVER-0 ACCEPT-CONNECT
# Greeter fails to start
-#?GREETER-X-50 START
-#?GREETER-X-50 EXIT CODE=1
+#?GREETER-X-0 START
+#?GREETER-X-0 EXIT CODE=1
# X server stopped
-#?XSERVER-50 TERMINATE SIGNAL=15
+#?XSERVER-0 TERMINATE SIGNAL=15
# Daemon stops with error
#?RUNNER DAEMON-EXIT STATUS=1
# Check that LightDM quits when the greeter does not exist
#
-[LightDM]
-minimum-display-number=50
-
[test-greeter-config]
return-value=1
#?RUNNER DAEMON-START
# X server starts
-#?XSERVER-50 START
-#?XSERVER-50 INDICATE-READY
+#?XSERVER-0 START
+#?XSERVER-0 INDICATE-READY
# LightDM connects to X server
-#?XSERVER-50 ACCEPT-CONNECT
+#?XSERVER-0 ACCEPT-CONNECT
# Invalid greeter attempted, fails to start
# X server stopped
-#?XSERVER-50 TERMINATE SIGNAL=15
+#?XSERVER-0 TERMINATE SIGNAL=15
# Daemon stops with error
#?RUNNER DAEMON-EXIT STATUS=1
# Check X server crashing while running greeter returns to the greeter
#
-[LightDM]
-minimum-display-number=50
-
#?RUNNER DAEMON-START
# X server starts
-#?XSERVER-50 START
-#?XSERVER-50 INDICATE-READY
+#?XSERVER-0 START
+#?XSERVER-0 INDICATE-READY
# LightDM connects to X server
-#?XSERVER-50 ACCEPT-CONNECT
+#?XSERVER-0 ACCEPT-CONNECT
# Greeter starts
-#?GREETER-X-50 START
-#?XSERVER-50 ACCEPT-CONNECT
-#?GREETER-X-50 CONNECT-XSERVER
-#?GREETER-X-50 CONNECT-TO-DAEMON
-#?GREETER-X-50 CONNECTED-TO-DAEMON
+#?GREETER-X-0 START
+#?XSERVER-0 ACCEPT-CONNECT
+#?GREETER-X-0 CONNECT-XSERVER
+#?GREETER-X-0 CONNECT-TO-DAEMON
+#?GREETER-X-0 CONNECTED-TO-DAEMON
# Crash X server
-#?*XSERVER-50 CRASH
+#?*XSERVER-0 CRASH
# Greeter quits
-#?GREETER-X-50 TERMINATE SIGNAL=15
+#?GREETER-X-0 TERMINATE SIGNAL=15
# X server restarts
-#?XSERVER-50 START
-#?XSERVER-50 INDICATE-READY
+#?XSERVER-0 START
+#?XSERVER-0 INDICATE-READY
# LightDM connects to X server
-#?XSERVER-50 ACCEPT-CONNECT
+#?XSERVER-0 ACCEPT-CONNECT
# Greeter starts
-#?GREETER-X-50 START
-#?XSERVER-50 ACCEPT-CONNECT
-#?GREETER-X-50 CONNECT-XSERVER
-#?GREETER-X-50 CONNECT-TO-DAEMON
-#?GREETER-X-50 CONNECTED-TO-DAEMON
+#?GREETER-X-0 START
+#?XSERVER-0 ACCEPT-CONNECT
+#?GREETER-X-0 CONNECT-XSERVER
+#?GREETER-X-0 CONNECT-TO-DAEMON
+#?GREETER-X-0 CONNECTED-TO-DAEMON
# Cleanup
#?*STOP-DAEMON
-#?GREETER-X-50 TERMINATE SIGNAL=15
-#?XSERVER-50 TERMINATE SIGNAL=15
+#?GREETER-X-0 TERMINATE SIGNAL=15
+#?XSERVER-0 TERMINATE SIGNAL=15
#?RUNNER DAEMON-EXIT STATUS=0
# Check group membership is correctly set up
#
-[LightDM]
-minimum-display-number=50
-
[SeatDefaults]
autologin-user=group-member
#?RUNNER DAEMON-START
# X server starts
-#?XSERVER-50 START
-#?XSERVER-50 INDICATE-READY
+#?XSERVER-0 START
+#?XSERVER-0 INDICATE-READY
# LightDM connects to X server
-#?XSERVER-50 ACCEPT-CONNECT
+#?XSERVER-0 ACCEPT-CONNECT
# Session starts
-#?SESSION-X-50 START USER=group-member
-#?XSERVER-50 ACCEPT-CONNECT
-#?SESSION-X-50 CONNECT-XSERVER
+#?SESSION-X-0 START USER=group-member
+#?XSERVER-0 ACCEPT-CONNECT
+#?SESSION-X-0 CONNECT-XSERVER
# Check we belong to the group for our user and the special group set by PAM
-#?*SESSION-X-50 LIST-GROUPS
-#?SESSION-X-50 LIST-GROUPS GROUPS=group-member,test-group
+#?*SESSION-X-0 LIST-GROUPS
+#?SESSION-X-0 LIST-GROUPS GROUPS=group-member,test-group
# Cleanup
#?*STOP-DAEMON
-#?SESSION-X-50 TERMINATE SIGNAL=15
-#?XSERVER-50 TERMINATE SIGNAL=15
+#?SESSION-X-0 TERMINATE SIGNAL=15
+#?XSERVER-0 TERMINATE SIGNAL=15
#?RUNNER DAEMON-EXIT STATUS=0
# Check works for users who have their home directory created after authentication
#
-[LightDM]
-minimum-display-number=50
-
[SeatDefaults]
autologin-user=mount-home-dir
#?RUNNER DAEMON-START
# X server starts
-#?XSERVER-50 START
-#?XSERVER-50 INDICATE-READY
+#?XSERVER-0 START
+#?XSERVER-0 INDICATE-READY
# LightDM connects to X server
-#?XSERVER-50 ACCEPT-CONNECT
+#?XSERVER-0 ACCEPT-CONNECT
# Session starts
-#?SESSION-X-50 START USER=mount-home-dir
-#?XSERVER-50 ACCEPT-CONNECT
-#?SESSION-X-50 CONNECT-XSERVER
+#?SESSION-X-0 START USER=mount-home-dir
+#?XSERVER-0 ACCEPT-CONNECT
+#?SESSION-X-0 CONNECT-XSERVER
# Cleanup
#?*STOP-DAEMON
-#?SESSION-X-50 TERMINATE SIGNAL=15
-#?XSERVER-50 TERMINATE SIGNAL=15
+#?SESSION-X-0 TERMINATE SIGNAL=15
+#?XSERVER-0 TERMINATE SIGNAL=15
#?RUNNER DAEMON-EXIT STATUS=0
# Check works for users who have their home directory created when the session is opened
#
-[LightDM]
-minimum-display-number=50
-
[SeatDefaults]
autologin-user=make-home-dir
#?RUNNER DAEMON-START
# X server starts
-#?XSERVER-50 START
-#?XSERVER-50 INDICATE-READY
+#?XSERVER-0 START
+#?XSERVER-0 INDICATE-READY
# LightDM connects to X server
-#?XSERVER-50 ACCEPT-CONNECT
+#?XSERVER-0 ACCEPT-CONNECT
# Session starts
-#?SESSION-X-50 START USER=make-home-dir
-#?XSERVER-50 ACCEPT-CONNECT
-#?SESSION-X-50 CONNECT-XSERVER
+#?SESSION-X-0 START USER=make-home-dir
+#?XSERVER-0 ACCEPT-CONNECT
+#?SESSION-X-0 CONNECT-XSERVER
# Cleanup
#?*STOP-DAEMON
-#?SESSION-X-50 TERMINATE SIGNAL=15
-#?XSERVER-50 TERMINATE SIGNAL=15
+#?SESSION-X-0 TERMINATE SIGNAL=15
+#?XSERVER-0 TERMINATE SIGNAL=15
#?RUNNER DAEMON-EXIT STATUS=0
# Check returns correct layout for a user
#
-[LightDM]
-minimum-display-number=50
-
#?RUNNER DAEMON-START
# X server starts
-#?XSERVER-50 START
-#?XSERVER-50 INDICATE-READY
+#?XSERVER-0 START
+#?XSERVER-0 INDICATE-READY
# LightDM connects to X server
-#?XSERVER-50 ACCEPT-CONNECT
+#?XSERVER-0 ACCEPT-CONNECT
# Greeter starts
-#?GREETER-X-50 START
-#?XSERVER-50 ACCEPT-CONNECT
-#?GREETER-X-50 CONNECT-XSERVER
-#?GREETER-X-50 CONNECT-TO-DAEMON
-#?GREETER-X-50 CONNECTED-TO-DAEMON
+#?GREETER-X-0 START
+#?XSERVER-0 ACCEPT-CONNECT
+#?GREETER-X-0 CONNECT-XSERVER
+#?GREETER-X-0 CONNECT-TO-DAEMON
+#?GREETER-X-0 CONNECTED-TO-DAEMON
# Correct layout is found
-#?*GREETER-X-50 LOG-LAYOUT USERNAME=have-layout
-#?GREETER-X-50 LOG-LAYOUT USERNAME=have-layout LAYOUT='us'
-#?*GREETER-X-50 LOG-LAYOUT USERNAME=have-layouts
-#?GREETER-X-50 LOG-LAYOUT USERNAME=have-layouts LAYOUT='fr oss'
-#?*GREETER-X-50 LOG-LAYOUTS USERNAME=have-layouts
-#?GREETER-X-50 LOG-LAYOUTS USERNAME=have-layouts LAYOUT='fr oss'
-#?GREETER-X-50 LOG-LAYOUTS USERNAME=have-layouts LAYOUT='ru'
+#?*GREETER-X-0 LOG-LAYOUT USERNAME=have-layout
+#?GREETER-X-0 LOG-LAYOUT USERNAME=have-layout LAYOUT='us'
+#?*GREETER-X-0 LOG-LAYOUT USERNAME=have-layouts
+#?GREETER-X-0 LOG-LAYOUT USERNAME=have-layouts LAYOUT='fr oss'
+#?*GREETER-X-0 LOG-LAYOUTS USERNAME=have-layouts
+#?GREETER-X-0 LOG-LAYOUTS USERNAME=have-layouts LAYOUT='fr oss'
+#?GREETER-X-0 LOG-LAYOUTS USERNAME=have-layouts LAYOUT='ru'
# Cleanup
#?*STOP-DAEMON
-#?GREETER-X-50 TERMINATE SIGNAL=15
-#?XSERVER-50 TERMINATE SIGNAL=15
+#?GREETER-X-0 TERMINATE SIGNAL=15
+#?XSERVER-0 TERMINATE SIGNAL=15
#?RUNNER DAEMON-EXIT STATUS=0
+++ /dev/null
-#
-# Check returns variants as well as normal layouts
-#
-
-[LightDM]
-minimum-display-number=50
-
-#?RUNNER DAEMON-START
-
-# X server starts
-#?XSERVER-50 START
-#?XSERVER-50 INDICATE-READY
-
-# LightDM connects to X server
-#?XSERVER-50 ACCEPT-CONNECT
-
-# Greeter starts
-#?GREETER-X-50 START
-#?XSERVER-50 ACCEPT-CONNECT
-#?GREETER-X-50 CONNECT-XSERVER
-#?GREETER-X-50 CONNECT-TO-DAEMON
-#?GREETER-X-50 CONNECTED-TO-DAEMON
-
-# Correct layouts are found
-#?*GREETER-X-50 LOG-VARIANTS LAYOUT=fr
-#?XSERVER-50 ACCEPT-CONNECT
-#?GREETER-X-50 LOG-VARIANTS LAYOUT='fr'
-#?GREETER-X-50 LOG-VARIANTS LAYOUT='fr nodeadkeys'
-#?GREETER-X-50 LOG-VARIANTS LAYOUT='fr sundeadkeys'
-#?GREETER-X-50 LOG-VARIANTS LAYOUT='fr oss'
-#?GREETER-X-50 LOG-VARIANTS LAYOUT='fr oss_latin9'
-#?GREETER-X-50 LOG-VARIANTS LAYOUT='fr oss_nodeadkeys'
-#?GREETER-X-50 LOG-VARIANTS LAYOUT='fr oss_sundeadkeys'
-#?GREETER-X-50 LOG-VARIANTS LAYOUT='fr latin9'
-#?GREETER-X-50 LOG-VARIANTS LAYOUT='fr latin9_nodeadkeys'
-#?GREETER-X-50 LOG-VARIANTS LAYOUT='fr latin9_sundeadkeys'
-#?GREETER-X-50 LOG-VARIANTS LAYOUT='fr bepo'
-#?GREETER-X-50 LOG-VARIANTS LAYOUT='fr bepo_latin9'
-#?GREETER-X-50 LOG-VARIANTS LAYOUT='fr dvorak'
-#?GREETER-X-50 LOG-VARIANTS LAYOUT='fr mac'
-#?GREETER-X-50 LOG-VARIANTS LAYOUT='fr bre'
-#?GREETER-X-50 LOG-VARIANTS LAYOUT='fr oci'
-#?GREETER-X-50 LOG-VARIANTS LAYOUT='fr geo'
-
-# Cleanup
-#?*STOP-DAEMON
-#?GREETER-X-50 TERMINATE SIGNAL=15
-#?XSERVER-50 TERMINATE SIGNAL=15
-#?RUNNER DAEMON-EXIT STATUS=0
[test-runner-config]
disable-accounts-service=true
-[LightDM]
-minimum-display-number=50
-
#?RUNNER DAEMON-START
# X server starts
-#?XSERVER-50 START
-#?XSERVER-50 INDICATE-READY
+#?XSERVER-0 START
+#?XSERVER-0 INDICATE-READY
# LightDM connects to X server
-#?XSERVER-50 ACCEPT-CONNECT
+#?XSERVER-0 ACCEPT-CONNECT
# Greeter starts
-#?GREETER-X-50 START
-#?XSERVER-50 ACCEPT-CONNECT
-#?GREETER-X-50 CONNECT-XSERVER
-#?GREETER-X-50 CONNECT-TO-DAEMON
-#?GREETER-X-50 CONNECTED-TO-DAEMON
+#?GREETER-X-0 START
+#?XSERVER-0 ACCEPT-CONNECT
+#?GREETER-X-0 CONNECT-XSERVER
+#?GREETER-X-0 CONNECT-TO-DAEMON
+#?GREETER-X-0 CONNECTED-TO-DAEMON
# Correct layout is found
-#?*GREETER-X-50 LOG-LANGUAGE USERNAME=have-language
-#?GREETER-X-50 LOG-LANGUAGE USERNAME=have-language LANGUAGE=en_AU.utf8
+#?*GREETER-X-0 LOG-LANGUAGE USERNAME=have-language
+#?GREETER-X-0 LOG-LANGUAGE USERNAME=have-language LANGUAGE=en_AU.utf8
# Cleanup
#?*STOP-DAEMON
-#?GREETER-X-50 TERMINATE SIGNAL=15
-#?XSERVER-50 TERMINATE SIGNAL=15
+#?GREETER-X-0 TERMINATE SIGNAL=15
+#?XSERVER-0 TERMINATE SIGNAL=15
#?RUNNER DAEMON-EXIT STATUS=0
# Check returns correct language for a user
#
-[LightDM]
-minimum-display-number=50
-
#?RUNNER DAEMON-START
# X server starts
-#?XSERVER-50 START
-#?XSERVER-50 INDICATE-READY
+#?XSERVER-0 START
+#?XSERVER-0 INDICATE-READY
# LightDM connects to X server
-#?XSERVER-50 ACCEPT-CONNECT
+#?XSERVER-0 ACCEPT-CONNECT
# Greeter starts
-#?GREETER-X-50 START
-#?XSERVER-50 ACCEPT-CONNECT
-#?GREETER-X-50 CONNECT-XSERVER
-#?GREETER-X-50 CONNECT-TO-DAEMON
-#?GREETER-X-50 CONNECTED-TO-DAEMON
+#?GREETER-X-0 START
+#?XSERVER-0 ACCEPT-CONNECT
+#?GREETER-X-0 CONNECT-XSERVER
+#?GREETER-X-0 CONNECT-TO-DAEMON
+#?GREETER-X-0 CONNECTED-TO-DAEMON
# Correct layout is found
-#?*GREETER-X-50 LOG-LANGUAGE USERNAME=have-language
-#?GREETER-X-50 LOG-LANGUAGE USERNAME=have-language LANGUAGE=en_AU
+#?*GREETER-X-0 LOG-LANGUAGE USERNAME=have-language
+#?GREETER-X-0 LOG-LANGUAGE USERNAME=have-language LANGUAGE=en_AU
# Cleanup
#?*STOP-DAEMON
-#?GREETER-X-50 TERMINATE SIGNAL=15
-#?XSERVER-50 TERMINATE SIGNAL=15
+#?GREETER-X-0 TERMINATE SIGNAL=15
+#?XSERVER-0 TERMINATE SIGNAL=15
#?RUNNER DAEMON-EXIT STATUS=0
# Check can lock a seat from D-Bus and can return to it
#
-[LightDM]
-minimum-display-number=50
-
[SeatDefaults]
autologin-user=have-password1
#?RUNNER DAEMON-START
# X server starts
-#?XSERVER-50 START
-#?XSERVER-50 INDICATE-READY
+#?XSERVER-0 START
+#?XSERVER-0 INDICATE-READY
# LightDM connects to X server
-#?XSERVER-50 ACCEPT-CONNECT
+#?XSERVER-0 ACCEPT-CONNECT
# Session starts
-#?SESSION-X-50 START USER=have-password1
-#?XSERVER-50 ACCEPT-CONNECT
-#?SESSION-X-50 CONNECT-XSERVER
+#?SESSION-X-0 START USER=have-password1
+#?XSERVER-0 ACCEPT-CONNECT
+#?SESSION-X-0 CONNECT-XSERVER
# Lock the seat
-#?*SESSION-X-50 LOCK-SEAT
-#?SESSION-X-50 LOCK-SEAT
+#?*SESSION-X-0 LOCK-SEAT
+#?SESSION-X-0 LOCK-SEAT
# New X server starts
-#?XSERVER-51 START
-#?XSERVER-51 INDICATE-READY
+#?XSERVER-1 START
+#?XSERVER-1 INDICATE-READY
# LightDM connects to X server
-#?XSERVER-51 ACCEPT-CONNECT
+#?XSERVER-1 ACCEPT-CONNECT
# Greeter starts
-#?GREETER-X-51 START
-#?XSERVER-51 ACCEPT-CONNECT
-#?GREETER-X-51 CONNECT-XSERVER
-#?GREETER-X-51 CONNECT-TO-DAEMON
-#?GREETER-X-51 CONNECTED-TO-DAEMON
-#?GREETER-X-51 LOCK-HINT
+#?GREETER-X-1 START
+#?XSERVER-1 ACCEPT-CONNECT
+#?GREETER-X-1 CONNECT-XSERVER
+#?GREETER-X-1 CONNECT-TO-DAEMON
+#?GREETER-X-1 CONNECTED-TO-DAEMON
+#?GREETER-X-1 LOCK-HINT
# Login as existing user
-#?*GREETER-X-51 AUTHENTICATE USERNAME=have-password1
-#?GREETER-X-51 SHOW-PROMPT TEXT="Password:"
-#?*GREETER-X-51 RESPOND TEXT="password"
-#?GREETER-X-51 AUTHENTICATION-COMPLETE USERNAME=have-password1 AUTHENTICATED=TRUE
-#?*GREETER-X-51 START-SESSION
+#?*GREETER-X-1 AUTHENTICATE USERNAME=have-password1
+#?GREETER-X-1 SHOW-PROMPT TEXT="Password:"
+#?*GREETER-X-1 RESPOND TEXT="password"
+#?GREETER-X-1 AUTHENTICATION-COMPLETE USERNAME=have-password1 AUTHENTICATED=TRUE
+#?*GREETER-X-1 START-SESSION
# Greeter and X server stop
-#?GREETER-X-51 TERMINATE SIGNAL=15
-#?XSERVER-51 TERMINATE SIGNAL=15
+#?GREETER-X-1 TERMINATE SIGNAL=15
+#?XSERVER-1 TERMINATE SIGNAL=15
# Cleanup
#?*STOP-DAEMON
-#?SESSION-X-50 TERMINATE SIGNAL=15
-#?XSERVER-50 TERMINATE SIGNAL=15
+#?SESSION-X-0 TERMINATE SIGNAL=15
+#?XSERVER-0 TERMINATE SIGNAL=15
#?RUNNER DAEMON-EXIT STATUS=0
# Check can lock a seat from D-Bus
#
-[LightDM]
-minimum-display-number=50
-
[SeatDefaults]
autologin-user=have-password1
#?RUNNER DAEMON-START
# X server starts
-#?XSERVER-50 START
-#?XSERVER-50 INDICATE-READY
+#?XSERVER-0 START
+#?XSERVER-0 INDICATE-READY
# LightDM connects to X server
-#?XSERVER-50 ACCEPT-CONNECT
+#?XSERVER-0 ACCEPT-CONNECT
# Session starts
-#?SESSION-X-50 START USER=have-password1
-#?XSERVER-50 ACCEPT-CONNECT
-#?SESSION-X-50 CONNECT-XSERVER
+#?SESSION-X-0 START USER=have-password1
+#?XSERVER-0 ACCEPT-CONNECT
+#?SESSION-X-0 CONNECT-XSERVER
# Lock the seat
-#?*SESSION-X-50 LOCK-SEAT
-#?SESSION-X-50 LOCK-SEAT
+#?*SESSION-X-0 LOCK-SEAT
+#?SESSION-X-0 LOCK-SEAT
# New X server starts
-#?XSERVER-51 START
-#?XSERVER-51 INDICATE-READY
+#?XSERVER-1 START
+#?XSERVER-1 INDICATE-READY
# LightDM connects to X server
-#?XSERVER-51 ACCEPT-CONNECT
+#?XSERVER-1 ACCEPT-CONNECT
# Greeter starts
-#?GREETER-X-51 START
-#?XSERVER-51 ACCEPT-CONNECT
-#?GREETER-X-51 CONNECT-XSERVER
-#?GREETER-X-51 CONNECT-TO-DAEMON
-#?GREETER-X-51 CONNECTED-TO-DAEMON
-#?GREETER-X-51 LOCK-HINT
+#?GREETER-X-1 START
+#?XSERVER-1 ACCEPT-CONNECT
+#?GREETER-X-1 CONNECT-XSERVER
+#?GREETER-X-1 CONNECT-TO-DAEMON
+#?GREETER-X-1 CONNECTED-TO-DAEMON
+#?GREETER-X-1 LOCK-HINT
# Cleanup
#?*STOP-DAEMON
-#?SESSION-X-50 TERMINATE SIGNAL=15
-#?XSERVER-50 TERMINATE SIGNAL=15
-#?GREETER-X-51 TERMINATE SIGNAL=15
-#?XSERVER-51 TERMINATE SIGNAL=15
+#?SESSION-X-0 TERMINATE SIGNAL=15
+#?XSERVER-0 TERMINATE SIGNAL=15
+#?GREETER-X-1 TERMINATE SIGNAL=15
+#?XSERVER-1 TERMINATE SIGNAL=15
#?RUNNER DAEMON-EXIT STATUS=0
# Check can lock a session from D-Bus. The session has no password so check it doesn't automatically log back in
#
-[LightDM]
-minimum-display-number=50
-
[SeatDefaults]
autologin-user=no-password1
#?RUNNER DAEMON-START
# X server starts
-#?XSERVER-50 START
-#?XSERVER-50 INDICATE-READY
+#?XSERVER-0 START
+#?XSERVER-0 INDICATE-READY
# LightDM connects to X server
-#?XSERVER-50 ACCEPT-CONNECT
+#?XSERVER-0 ACCEPT-CONNECT
# Session starts
-#?SESSION-X-50 START USER=no-password1
-#?XSERVER-50 ACCEPT-CONNECT
-#?SESSION-X-50 CONNECT-XSERVER
+#?SESSION-X-0 START USER=no-password1
+#?XSERVER-0 ACCEPT-CONNECT
+#?SESSION-X-0 CONNECT-XSERVER
# Lock the session
-#?*SESSION-X-50 LOCK-SESSION
-#?SESSION-X-50 LOCK-SESSION
+#?*SESSION-X-0 LOCK-SESSION
+#?SESSION-X-0 LOCK-SESSION
# New X server starts
-#?XSERVER-51 START
-#?XSERVER-51 INDICATE-READY
+#?XSERVER-1 START
+#?XSERVER-1 INDICATE-READY
# LightDM connects to X server
-#?XSERVER-51 ACCEPT-CONNECT
+#?XSERVER-1 ACCEPT-CONNECT
# Greeter starts with session user selected
-#?GREETER-X-51 START
-#?XSERVER-51 ACCEPT-CONNECT
-#?GREETER-X-51 CONNECT-XSERVER
-#?GREETER-X-51 CONNECT-TO-DAEMON
-#?GREETER-X-51 CONNECTED-TO-DAEMON
-#?GREETER-X-51 SELECT-USER-HINT USERNAME=no-password1
-#?GREETER-X-51 LOCK-HINT
+#?GREETER-X-1 START
+#?XSERVER-1 ACCEPT-CONNECT
+#?GREETER-X-1 CONNECT-XSERVER
+#?GREETER-X-1 CONNECT-TO-DAEMON
+#?GREETER-X-1 CONNECTED-TO-DAEMON
+#?GREETER-X-1 SELECT-USER-HINT USERNAME=no-password1
+#?GREETER-X-1 LOCK-HINT
# Cleanup
#?*STOP-DAEMON
-#?SESSION-X-50 TERMINATE SIGNAL=15
-#?XSERVER-50 TERMINATE SIGNAL=15
-#?GREETER-X-51 TERMINATE SIGNAL=15
-#?XSERVER-51 TERMINATE SIGNAL=15
+#?SESSION-X-0 TERMINATE SIGNAL=15
+#?XSERVER-0 TERMINATE SIGNAL=15
+#?GREETER-X-1 TERMINATE SIGNAL=15
+#?XSERVER-1 TERMINATE SIGNAL=15
#?RUNNER DAEMON-EXIT STATUS=0
# Check can lock a session from D-Bus and can return to it
#
-[LightDM]
-minimum-display-number=50
-
[SeatDefaults]
autologin-user=have-password1
#?RUNNER DAEMON-START
# X server starts
-#?XSERVER-50 START
-#?XSERVER-50 INDICATE-READY
+#?XSERVER-0 START
+#?XSERVER-0 INDICATE-READY
# LightDM connects to X server
-#?XSERVER-50 ACCEPT-CONNECT
+#?XSERVER-0 ACCEPT-CONNECT
# Session starts
-#?SESSION-X-50 START USER=have-password1
-#?XSERVER-50 ACCEPT-CONNECT
-#?SESSION-X-50 CONNECT-XSERVER
+#?SESSION-X-0 START USER=have-password1
+#?XSERVER-0 ACCEPT-CONNECT
+#?SESSION-X-0 CONNECT-XSERVER
# Lock the session
-#?*SESSION-X-50 LOCK-SESSION
-#?SESSION-X-50 LOCK-SESSION
+#?*SESSION-X-0 LOCK-SESSION
+#?SESSION-X-0 LOCK-SESSION
# New X server starts
-#?XSERVER-51 START
-#?XSERVER-51 INDICATE-READY
+#?XSERVER-1 START
+#?XSERVER-1 INDICATE-READY
# LightDM connects to X server
-#?XSERVER-51 ACCEPT-CONNECT
+#?XSERVER-1 ACCEPT-CONNECT
# Greeter starts with session user selected
-#?GREETER-X-51 START
-#?XSERVER-51 ACCEPT-CONNECT
-#?GREETER-X-51 CONNECT-XSERVER
-#?GREETER-X-51 CONNECT-TO-DAEMON
-#?GREETER-X-51 CONNECTED-TO-DAEMON
-#?GREETER-X-51 SELECT-USER-HINT USERNAME=have-password1
-#?GREETER-X-51 LOCK-HINT
+#?GREETER-X-1 START
+#?XSERVER-1 ACCEPT-CONNECT
+#?GREETER-X-1 CONNECT-XSERVER
+#?GREETER-X-1 CONNECT-TO-DAEMON
+#?GREETER-X-1 CONNECTED-TO-DAEMON
+#?GREETER-X-1 SELECT-USER-HINT USERNAME=have-password1
+#?GREETER-X-1 LOCK-HINT
# Login as existing user
-#?*GREETER-X-51 AUTHENTICATE USERNAME=have-password1
-#?GREETER-X-51 SHOW-PROMPT TEXT="Password:"
-#?*GREETER-X-51 RESPOND TEXT="password"
-#?GREETER-X-51 AUTHENTICATION-COMPLETE USERNAME=have-password1 AUTHENTICATED=TRUE
-#?*GREETER-X-51 START-SESSION
+#?*GREETER-X-1 AUTHENTICATE USERNAME=have-password1
+#?GREETER-X-1 SHOW-PROMPT TEXT="Password:"
+#?*GREETER-X-1 RESPOND TEXT="password"
+#?GREETER-X-1 AUTHENTICATION-COMPLETE USERNAME=have-password1 AUTHENTICATED=TRUE
+#?*GREETER-X-1 START-SESSION
# Greeter and X server stop
-#?GREETER-X-51 TERMINATE SIGNAL=15
-#?XSERVER-51 TERMINATE SIGNAL=15
+#?GREETER-X-1 TERMINATE SIGNAL=15
+#?XSERVER-1 TERMINATE SIGNAL=15
# Cleanup
#?*STOP-DAEMON
-#?SESSION-X-50 TERMINATE SIGNAL=15
-#?XSERVER-50 TERMINATE SIGNAL=15
+#?SESSION-X-0 TERMINATE SIGNAL=15
+#?XSERVER-0 TERMINATE SIGNAL=15
#?RUNNER DAEMON-EXIT STATUS=0
# Check can lock a session from D-Bus
#
-[LightDM]
-minimum-display-number=50
-
[SeatDefaults]
autologin-user=have-password1
#?RUNNER DAEMON-START
# X server starts
-#?XSERVER-50 START
-#?XSERVER-50 INDICATE-READY
+#?XSERVER-0 START
+#?XSERVER-0 INDICATE-READY
# LightDM connects to X server
-#?XSERVER-50 ACCEPT-CONNECT
+#?XSERVER-0 ACCEPT-CONNECT
# Session starts
-#?SESSION-X-50 START USER=have-password1
-#?XSERVER-50 ACCEPT-CONNECT
-#?SESSION-X-50 CONNECT-XSERVER
+#?SESSION-X-0 START USER=have-password1
+#?XSERVER-0 ACCEPT-CONNECT
+#?SESSION-X-0 CONNECT-XSERVER
# Lock the session
-#?*SESSION-X-50 LOCK-SESSION
-#?SESSION-X-50 LOCK-SESSION
+#?*SESSION-X-0 LOCK-SESSION
+#?SESSION-X-0 LOCK-SESSION
# New X server starts
-#?XSERVER-51 START
-#?XSERVER-51 INDICATE-READY
+#?XSERVER-1 START
+#?XSERVER-1 INDICATE-READY
# LightDM connects to X server
-#?XSERVER-51 ACCEPT-CONNECT
+#?XSERVER-1 ACCEPT-CONNECT
# Greeter starts with session user selected
-#?GREETER-X-51 START
-#?XSERVER-51 ACCEPT-CONNECT
-#?GREETER-X-51 CONNECT-XSERVER
-#?GREETER-X-51 CONNECT-TO-DAEMON
-#?GREETER-X-51 CONNECTED-TO-DAEMON
-#?GREETER-X-51 SELECT-USER-HINT USERNAME=have-password1
-#?GREETER-X-51 LOCK-HINT
+#?GREETER-X-1 START
+#?XSERVER-1 ACCEPT-CONNECT
+#?GREETER-X-1 CONNECT-XSERVER
+#?GREETER-X-1 CONNECT-TO-DAEMON
+#?GREETER-X-1 CONNECTED-TO-DAEMON
+#?GREETER-X-1 SELECT-USER-HINT USERNAME=have-password1
+#?GREETER-X-1 LOCK-HINT
# Cleanup
#?*STOP-DAEMON
-#?SESSION-X-50 TERMINATE SIGNAL=15
-#?XSERVER-50 TERMINATE SIGNAL=15
-#?GREETER-X-51 TERMINATE SIGNAL=15
-#?XSERVER-51 TERMINATE SIGNAL=15
+#?SESSION-X-0 TERMINATE SIGNAL=15
+#?XSERVER-0 TERMINATE SIGNAL=15
+#?GREETER-X-1 TERMINATE SIGNAL=15
+#?XSERVER-1 TERMINATE SIGNAL=15
#?RUNNER DAEMON-EXIT STATUS=0
# Check returned to greeter when authentication crashes
#
-[LightDM]
-minimum-display-number=50
-
#?RUNNER DAEMON-START
# X server starts
-#?XSERVER-50 START
-#?XSERVER-50 INDICATE-READY
+#?XSERVER-0 START
+#?XSERVER-0 INDICATE-READY
# LightDM connects to X server
-#?XSERVER-50 ACCEPT-CONNECT
+#?XSERVER-0 ACCEPT-CONNECT
# Greeter starts
-#?GREETER-X-50 START
-#?XSERVER-50 ACCEPT-CONNECT
-#?GREETER-X-50 CONNECT-XSERVER
-#?GREETER-X-50 CONNECT-TO-DAEMON
-#?GREETER-X-50 CONNECTED-TO-DAEMON
+#?GREETER-X-0 START
+#?XSERVER-0 ACCEPT-CONNECT
+#?GREETER-X-0 CONNECT-XSERVER
+#?GREETER-X-0 CONNECT-TO-DAEMON
+#?GREETER-X-0 CONNECTED-TO-DAEMON
# Attempt to login, but authentication crashes
-#?*GREETER-X-50 AUTHENTICATE USERNAME=crash-authenticate
-#?GREETER-X-50 AUTHENTICATION-COMPLETE USERNAME=crash-authenticate AUTHENTICATED=FALSE
+#?*GREETER-X-0 AUTHENTICATE USERNAME=crash-authenticate
+#?GREETER-X-0 AUTHENTICATION-COMPLETE USERNAME=crash-authenticate AUTHENTICATED=FALSE
# Cleanup
#?*STOP-DAEMON
-#?GREETER-X-50 TERMINATE SIGNAL=15
-#?XSERVER-50 TERMINATE SIGNAL=15
+#?GREETER-X-0 TERMINATE SIGNAL=15
+#?XSERVER-0 TERMINATE SIGNAL=15
#?RUNNER DAEMON-EXIT STATUS=0
# Check can't login to guest if account disabled
#
-[LightDM]
-minimum-display-number=50
-
[SeatDefaults]
allow-guest=false
#?RUNNER DAEMON-START
# X server starts
-#?XSERVER-50 START
-#?XSERVER-50 INDICATE-READY
+#?XSERVER-0 START
+#?XSERVER-0 INDICATE-READY
# LightDM connects to X server
-#?XSERVER-50 ACCEPT-CONNECT
+#?XSERVER-0 ACCEPT-CONNECT
# Greeter starts
-#?GREETER-X-50 START
-#?XSERVER-50 ACCEPT-CONNECT
-#?GREETER-X-50 CONNECT-XSERVER
-#?GREETER-X-50 CONNECT-TO-DAEMON
-#?GREETER-X-50 CONNECTED-TO-DAEMON
+#?GREETER-X-0 START
+#?XSERVER-0 ACCEPT-CONNECT
+#?GREETER-X-0 CONNECT-XSERVER
+#?GREETER-X-0 CONNECT-TO-DAEMON
+#?GREETER-X-0 CONNECTED-TO-DAEMON
# Login as guest
-#?*GREETER-X-50 AUTHENTICATE-GUEST
-#?GREETER-X-50 AUTHENTICATION-COMPLETE AUTHENTICATED=FALSE
+#?*GREETER-X-0 AUTHENTICATE-GUEST
+#?GREETER-X-0 AUTHENTICATION-COMPLETE AUTHENTICATED=FALSE
# Cleanup
#?*STOP-DAEMON
-#?GREETER-X-50 TERMINATE SIGNAL=15
-#?XSERVER-50 TERMINATE SIGNAL=15
+#?GREETER-X-0 TERMINATE SIGNAL=15
+#?XSERVER-0 TERMINATE SIGNAL=15
#?RUNNER DAEMON-EXIT STATUS=0
[LightDM]
guest-account-script=false
-minimum-display-number=50
#?RUNNER DAEMON-START
# X server starts
-#?XSERVER-50 START
-#?XSERVER-50 INDICATE-READY
+#?XSERVER-0 START
+#?XSERVER-0 INDICATE-READY
# LightDM connects to X server
-#?XSERVER-50 ACCEPT-CONNECT
+#?XSERVER-0 ACCEPT-CONNECT
# Greeter starts
-#?GREETER-X-50 START
-#?XSERVER-50 ACCEPT-CONNECT
-#?GREETER-X-50 CONNECT-XSERVER
-#?GREETER-X-50 CONNECT-TO-DAEMON
-#?GREETER-X-50 CONNECTED-TO-DAEMON
+#?GREETER-X-0 START
+#?XSERVER-0 ACCEPT-CONNECT
+#?GREETER-X-0 CONNECT-XSERVER
+#?GREETER-X-0 CONNECT-TO-DAEMON
+#?GREETER-X-0 CONNECTED-TO-DAEMON
# Login as guest
-#?*GREETER-X-50 AUTHENTICATE-GUEST
-#?GREETER-X-50 AUTHENTICATION-COMPLETE AUTHENTICATED=TRUE
-#?*GREETER-X-50 START-SESSION
-#?GREETER-X-50 TERMINATE SIGNAL=15
+#?*GREETER-X-0 AUTHENTICATE-GUEST
+#?GREETER-X-0 AUTHENTICATION-COMPLETE AUTHENTICATED=TRUE
+#?*GREETER-X-0 START-SESSION
+#?GREETER-X-0 TERMINATE SIGNAL=15
# (guest account attempts to start and fails)
# X server stops
-#?XSERVER-50 TERMINATE SIGNAL=15
+#?XSERVER-0 TERMINATE SIGNAL=15
# X server starts
-#?XSERVER-50 START
-#?XSERVER-50 INDICATE-READY
+#?XSERVER-0 START
+#?XSERVER-0 INDICATE-READY
# LightDM connects to X server
-#?XSERVER-50 ACCEPT-CONNECT
+#?XSERVER-0 ACCEPT-CONNECT
# Greeter starts
-#?GREETER-X-50 START
-#?XSERVER-50 ACCEPT-CONNECT
-#?GREETER-X-50 CONNECT-XSERVER
-#?GREETER-X-50 CONNECT-TO-DAEMON
-#?GREETER-X-50 CONNECTED-TO-DAEMON
+#?GREETER-X-0 START
+#?XSERVER-0 ACCEPT-CONNECT
+#?GREETER-X-0 CONNECT-XSERVER
+#?GREETER-X-0 CONNECT-TO-DAEMON
+#?GREETER-X-0 CONNECTED-TO-DAEMON
# Cleanup
#?*STOP-DAEMON
-#?GREETER-X-50 TERMINATE SIGNAL=15
-#?XSERVER-50 TERMINATE SIGNAL=15
+#?GREETER-X-0 TERMINATE SIGNAL=15
+#?XSERVER-0 TERMINATE SIGNAL=15
#?RUNNER DAEMON-EXIT STATUS=0
# Check automatically logs in default user
#
-[LightDM]
-minimum-display-number=50
-
#?RUNNER DAEMON-START
# X server starts
-#?XSERVER-50 START
-#?XSERVER-50 INDICATE-READY
+#?XSERVER-0 START
+#?XSERVER-0 INDICATE-READY
# LightDM connects to X server
-#?XSERVER-50 ACCEPT-CONNECT
+#?XSERVER-0 ACCEPT-CONNECT
# Greeter starts
-#?GREETER-X-50 START
-#?XSERVER-50 ACCEPT-CONNECT
-#?GREETER-X-50 CONNECT-XSERVER
-#?GREETER-X-50 CONNECT-TO-DAEMON
-#?GREETER-X-50 CONNECTED-TO-DAEMON
+#?GREETER-X-0 START
+#?XSERVER-0 ACCEPT-CONNECT
+#?GREETER-X-0 CONNECT-XSERVER
+#?GREETER-X-0 CONNECT-TO-DAEMON
+#?GREETER-X-0 CONNECTED-TO-DAEMON
# Log in
-#?*GREETER-X-50 AUTHENTICATE-GUEST
-#?GREETER-X-50 AUTHENTICATION-COMPLETE AUTHENTICATED=TRUE
-#?*GREETER-X-50 START-SESSION
-#?GREETER-X-50 TERMINATE SIGNAL=15
+#?*GREETER-X-0 AUTHENTICATE-GUEST
+#?GREETER-X-0 AUTHENTICATION-COMPLETE AUTHENTICATED=TRUE
+#?*GREETER-X-0 START-SESSION
+#?GREETER-X-0 TERMINATE SIGNAL=15
# Guest account created
#?GUEST-ACCOUNT ADD USERNAME=guest-.*
# Guest session starts
-#?SESSION-X-50 START USER=guest-.*
-#?XSERVER-50 ACCEPT-CONNECT
-#?SESSION-X-50 CONNECT-XSERVER
+#?SESSION-X-0 START USER=guest-.*
+#?XSERVER-0 ACCEPT-CONNECT
+#?SESSION-X-0 CONNECT-XSERVER
# Logout of session
-#?*SESSION-X-50 LOGOUT
+#?*SESSION-X-0 LOGOUT
# X server stops
-#?XSERVER-50 TERMINATE SIGNAL=15
+#?XSERVER-0 TERMINATE SIGNAL=15
# Guest account removed
#?GUEST-ACCOUNT REMOVE USERNAME=guest-.*
# X server starts
-#?XSERVER-50 START
-#?XSERVER-50 INDICATE-READY
+#?XSERVER-0 START
+#?XSERVER-0 INDICATE-READY
# LightDM connects to X server
-#?XSERVER-50 ACCEPT-CONNECT
+#?XSERVER-0 ACCEPT-CONNECT
# Greeter starts
-#?GREETER-X-50 START
-#?XSERVER-50 ACCEPT-CONNECT
-#?GREETER-X-50 CONNECT-XSERVER
-#?GREETER-X-50 CONNECT-TO-DAEMON
-#?GREETER-X-50 CONNECTED-TO-DAEMON
+#?GREETER-X-0 START
+#?XSERVER-0 ACCEPT-CONNECT
+#?GREETER-X-0 CONNECT-XSERVER
+#?GREETER-X-0 CONNECT-TO-DAEMON
+#?GREETER-X-0 CONNECTED-TO-DAEMON
# Cleanup
#?*STOP-DAEMON
-#?GREETER-X-50 TERMINATE SIGNAL=15
-#?XSERVER-50 TERMINATE SIGNAL=15
+#?GREETER-X-0 TERMINATE SIGNAL=15
+#?XSERVER-0 TERMINATE SIGNAL=15
#?RUNNER DAEMON-EXIT STATUS=0
[LightDM]
guest-account-script=
-minimum-display-number=50
#?RUNNER DAEMON-START
# X server starts
-#?XSERVER-50 START
-#?XSERVER-50 INDICATE-READY
+#?XSERVER-0 START
+#?XSERVER-0 INDICATE-READY
# LightDM connects to X server
-#?XSERVER-50 ACCEPT-CONNECT
+#?XSERVER-0 ACCEPT-CONNECT
# Greeter starts
-#?GREETER-X-50 START
-#?XSERVER-50 ACCEPT-CONNECT
-#?GREETER-X-50 CONNECT-XSERVER
-#?GREETER-X-50 CONNECT-TO-DAEMON
-#?GREETER-X-50 CONNECTED-TO-DAEMON
+#?GREETER-X-0 START
+#?XSERVER-0 ACCEPT-CONNECT
+#?GREETER-X-0 CONNECT-XSERVER
+#?GREETER-X-0 CONNECT-TO-DAEMON
+#?GREETER-X-0 CONNECTED-TO-DAEMON
# Login as guest
-#?*GREETER-X-50 AUTHENTICATE-GUEST
-#?GREETER-X-50 AUTHENTICATION-COMPLETE AUTHENTICATED=FALSE
+#?*GREETER-X-0 AUTHENTICATE-GUEST
+#?GREETER-X-0 AUTHENTICATION-COMPLETE AUTHENTICATED=FALSE
# Cleanup
#?*STOP-DAEMON
-#?GREETER-X-50 TERMINATE SIGNAL=15
-#?XSERVER-50 TERMINATE SIGNAL=15
+#?GREETER-X-0 TERMINATE SIGNAL=15
+#?XSERVER-0 TERMINATE SIGNAL=15
#?RUNNER DAEMON-EXIT STATUS=0
# Check can login as guest (not prompted for password)
#
-[LightDM]
-minimum-display-number=50
-
#?RUNNER DAEMON-START
# X server starts
-#?XSERVER-50 START
-#?XSERVER-50 INDICATE-READY
+#?XSERVER-0 START
+#?XSERVER-0 INDICATE-READY
# LightDM connects to X server
-#?XSERVER-50 ACCEPT-CONNECT
+#?XSERVER-0 ACCEPT-CONNECT
# Greeter starts
-#?GREETER-X-50 START
-#?XSERVER-50 ACCEPT-CONNECT
-#?GREETER-X-50 CONNECT-XSERVER
-#?GREETER-X-50 CONNECT-TO-DAEMON
-#?GREETER-X-50 CONNECTED-TO-DAEMON
+#?GREETER-X-0 START
+#?XSERVER-0 ACCEPT-CONNECT
+#?GREETER-X-0 CONNECT-XSERVER
+#?GREETER-X-0 CONNECT-TO-DAEMON
+#?GREETER-X-0 CONNECTED-TO-DAEMON
# Login as guest
-#?*GREETER-X-50 AUTHENTICATE-GUEST
-#?GREETER-X-50 AUTHENTICATION-COMPLETE AUTHENTICATED=TRUE
-#?*GREETER-X-50 START-SESSION
-#?GREETER-X-50 TERMINATE SIGNAL=15
+#?*GREETER-X-0 AUTHENTICATE-GUEST
+#?GREETER-X-0 AUTHENTICATION-COMPLETE AUTHENTICATED=TRUE
+#?*GREETER-X-0 START-SESSION
+#?GREETER-X-0 TERMINATE SIGNAL=15
# Guest account created
#?GUEST-ACCOUNT ADD USERNAME=guest-.*
# Guest session starts
-#?SESSION-X-50 START USER=guest-.*
-#?XSERVER-50 ACCEPT-CONNECT
-#?SESSION-X-50 CONNECT-XSERVER
+#?SESSION-X-0 START USER=guest-.*
+#?XSERVER-0 ACCEPT-CONNECT
+#?SESSION-X-0 CONNECT-XSERVER
# Cleanup
#?*STOP-DAEMON
-#?SESSION-X-50 TERMINATE SIGNAL=15
-#?XSERVER-50 TERMINATE SIGNAL=15
+#?SESSION-X-0 TERMINATE SIGNAL=15
+#?XSERVER-0 TERMINATE SIGNAL=15
#?GUEST-ACCOUNT REMOVE USERNAME=guest-.*
#?RUNNER DAEMON-EXIT STATUS=0
# Check a PAM informational message on login is passed to a greeter
#
-[LightDM]
-minimum-display-number=50
-
#?RUNNER DAEMON-START
# X server starts
-#?XSERVER-50 START
-#?XSERVER-50 INDICATE-READY
+#?XSERVER-0 START
+#?XSERVER-0 INDICATE-READY
# LightDM connects to X server
-#?XSERVER-50 ACCEPT-CONNECT
+#?XSERVER-0 ACCEPT-CONNECT
# Greeter starts
-#?GREETER-X-50 START
-#?XSERVER-50 ACCEPT-CONNECT
-#?GREETER-X-50 CONNECT-XSERVER
-#?GREETER-X-50 CONNECT-TO-DAEMON
-#?GREETER-X-50 CONNECTED-TO-DAEMON
+#?GREETER-X-0 START
+#?XSERVER-0 ACCEPT-CONNECT
+#?GREETER-X-0 CONNECT-XSERVER
+#?GREETER-X-0 CONNECT-TO-DAEMON
+#?GREETER-X-0 CONNECTED-TO-DAEMON
# Log into account and see an informational prompt
-#?*GREETER-X-50 AUTHENTICATE USERNAME=info-prompt
-#?GREETER-X-50 SHOW-MESSAGE TEXT="Welcome to LightDM"
-#?GREETER-X-50 SHOW-PROMPT TEXT="Password:"
+#?*GREETER-X-0 AUTHENTICATE USERNAME=info-prompt
+#?GREETER-X-0 SHOW-MESSAGE TEXT="Welcome to LightDM"
+#?GREETER-X-0 SHOW-PROMPT TEXT="Password:"
# Respond with password and check response is correctly handled
-#?*GREETER-X-50 RESPOND TEXT="password"
-#?GREETER-X-50 AUTHENTICATION-COMPLETE USERNAME=info-prompt AUTHENTICATED=TRUE
+#?*GREETER-X-0 RESPOND TEXT="password"
+#?GREETER-X-0 AUTHENTICATION-COMPLETE USERNAME=info-prompt AUTHENTICATED=TRUE
# Cleanup
#?*STOP-DAEMON
-#?GREETER-X-50 TERMINATE SIGNAL=15
-#?XSERVER-50 TERMINATE SIGNAL=15
+#?GREETER-X-0 TERMINATE SIGNAL=15
+#?XSERVER-0 TERMINATE SIGNAL=15
#?RUNNER DAEMON-EXIT STATUS=0
# Check can login
#
-[LightDM]
-minimum-display-number=50
-
#?RUNNER DAEMON-START
# X server starts
-#?XSERVER-50 START
-#?XSERVER-50 INDICATE-READY
+#?XSERVER-0 START
+#?XSERVER-0 INDICATE-READY
# LightDM connects to X server
-#?XSERVER-50 ACCEPT-CONNECT
+#?XSERVER-0 ACCEPT-CONNECT
# Greeter starts
-#?GREETER-X-50 START
-#?XSERVER-50 ACCEPT-CONNECT
-#?GREETER-X-50 CONNECT-XSERVER
-#?GREETER-X-50 CONNECT-TO-DAEMON
-#?GREETER-X-50 CONNECTED-TO-DAEMON
+#?GREETER-X-0 START
+#?XSERVER-0 ACCEPT-CONNECT
+#?GREETER-X-0 CONNECT-XSERVER
+#?GREETER-X-0 CONNECT-TO-DAEMON
+#?GREETER-X-0 CONNECTED-TO-DAEMON
# Log into an account with a password
-#?*GREETER-X-50 AUTHENTICATE USERNAME=have-password1
-#?GREETER-X-50 SHOW-PROMPT TEXT="Password:"
-#?*GREETER-X-50 RESPOND TEXT="password"
-#?GREETER-X-50 AUTHENTICATION-COMPLETE USERNAME=have-password1 AUTHENTICATED=TRUE
-#?*GREETER-X-50 START-SESSION SESSION=invalid
-#?GREETER-X-50 TERMINATE SIGNAL=15
+#?*GREETER-X-0 AUTHENTICATE USERNAME=have-password1
+#?GREETER-X-0 SHOW-PROMPT TEXT="Password:"
+#?*GREETER-X-0 RESPOND TEXT="password"
+#?GREETER-X-0 AUTHENTICATION-COMPLETE USERNAME=have-password1 AUTHENTICATED=TRUE
+#?*GREETER-X-0 START-SESSION SESSION=invalid
+#?GREETER-X-0 TERMINATE SIGNAL=15
# X server stops, the session is invalid
-#?XSERVER-50 TERMINATE SIGNAL=15
+#?XSERVER-0 TERMINATE SIGNAL=15
# X server restarts
-#?XSERVER-50 START
-#?XSERVER-50 INDICATE-READY
+#?XSERVER-0 START
+#?XSERVER-0 INDICATE-READY
# LightDM connects to X server
-#?XSERVER-50 ACCEPT-CONNECT
+#?XSERVER-0 ACCEPT-CONNECT
# Greeter starts
-#?GREETER-X-50 START
-#?XSERVER-50 ACCEPT-CONNECT
-#?GREETER-X-50 CONNECT-XSERVER
-#?GREETER-X-50 CONNECT-TO-DAEMON
-#?GREETER-X-50 CONNECTED-TO-DAEMON
+#?GREETER-X-0 START
+#?XSERVER-0 ACCEPT-CONNECT
+#?GREETER-X-0 CONNECT-XSERVER
+#?GREETER-X-0 CONNECT-TO-DAEMON
+#?GREETER-X-0 CONNECTED-TO-DAEMON
# Cleanup
#?*STOP-DAEMON
-#?GREETER-X-50 TERMINATE SIGNAL=15
-#?XSERVER-50 TERMINATE SIGNAL=15
+#?GREETER-X-0 TERMINATE SIGNAL=15
+#?XSERVER-0 TERMINATE SIGNAL=15
#?RUNNER DAEMON-EXIT STATUS=0
# Check can't login with invalid user (but still prompted for password)
#
-[LightDM]
-minimum-display-number=50
-
#?RUNNER DAEMON-START
# X server starts
-#?XSERVER-50 START
-#?XSERVER-50 INDICATE-READY
+#?XSERVER-0 START
+#?XSERVER-0 INDICATE-READY
# LightDM connects to X server
-#?XSERVER-50 ACCEPT-CONNECT
+#?XSERVER-0 ACCEPT-CONNECT
# Greeter starts
-#?GREETER-X-50 START
-#?XSERVER-50 ACCEPT-CONNECT
-#?GREETER-X-50 CONNECT-XSERVER
-#?GREETER-X-50 CONNECT-TO-DAEMON
-#?GREETER-X-50 CONNECTED-TO-DAEMON
+#?GREETER-X-0 START
+#?XSERVER-0 ACCEPT-CONNECT
+#?GREETER-X-0 CONNECT-XSERVER
+#?GREETER-X-0 CONNECT-TO-DAEMON
+#?GREETER-X-0 CONNECTED-TO-DAEMON
# Login as invalid user
-#?*GREETER-X-50 AUTHENTICATE USERNAME=notauser
-#?GREETER-X-50 SHOW-PROMPT TEXT="Password:"
-#?*GREETER-X-50 RESPOND TEXT="password"
-#?GREETER-X-50 AUTHENTICATION-COMPLETE USERNAME=notauser AUTHENTICATED=FALSE
+#?*GREETER-X-0 AUTHENTICATE USERNAME=notauser
+#?GREETER-X-0 SHOW-PROMPT TEXT="Password:"
+#?*GREETER-X-0 RESPOND TEXT="password"
+#?GREETER-X-0 AUTHENTICATION-COMPLETE USERNAME=notauser AUTHENTICATED=FALSE
# Cleanup
#?*STOP-DAEMON
-#?GREETER-X-50 TERMINATE SIGNAL=15
-#?XSERVER-50 TERMINATE SIGNAL=15
+#?GREETER-X-0 TERMINATE SIGNAL=15
+#?XSERVER-0 TERMINATE SIGNAL=15
#?RUNNER DAEMON-EXIT STATUS=0
# Check logging out returns to the greeter
#
-[LightDM]
-minimum-display-number=50
-
#?RUNNER DAEMON-START
# X server starts
-#?XSERVER-50 START
-#?XSERVER-50 INDICATE-READY
+#?XSERVER-0 START
+#?XSERVER-0 INDICATE-READY
# LightDM connects to X server
-#?XSERVER-50 ACCEPT-CONNECT
+#?XSERVER-0 ACCEPT-CONNECT
# Greeter starts
-#?GREETER-X-50 START
-#?XSERVER-50 ACCEPT-CONNECT
-#?GREETER-X-50 CONNECT-XSERVER
-#?GREETER-X-50 CONNECT-TO-DAEMON
-#?GREETER-X-50 CONNECTED-TO-DAEMON
+#?GREETER-X-0 START
+#?XSERVER-0 ACCEPT-CONNECT
+#?GREETER-X-0 CONNECT-XSERVER
+#?GREETER-X-0 CONNECT-TO-DAEMON
+#?GREETER-X-0 CONNECTED-TO-DAEMON
# Log in
-#?*GREETER-X-50 AUTHENTICATE USERNAME=have-password1
-#?GREETER-X-50 SHOW-PROMPT TEXT="Password:"
-#?*GREETER-X-50 RESPOND TEXT="password"
-#?GREETER-X-50 AUTHENTICATION-COMPLETE USERNAME=have-password1 AUTHENTICATED=TRUE
-#?*GREETER-X-50 START-SESSION
-#?GREETER-X-50 TERMINATE SIGNAL=15
+#?*GREETER-X-0 AUTHENTICATE USERNAME=have-password1
+#?GREETER-X-0 SHOW-PROMPT TEXT="Password:"
+#?*GREETER-X-0 RESPOND TEXT="password"
+#?GREETER-X-0 AUTHENTICATION-COMPLETE USERNAME=have-password1 AUTHENTICATED=TRUE
+#?*GREETER-X-0 START-SESSION
+#?GREETER-X-0 TERMINATE SIGNAL=15
# Session starts
-#?SESSION-X-50 START USER=have-password1
-#?XSERVER-50 ACCEPT-CONNECT
-#?SESSION-X-50 CONNECT-XSERVER
+#?SESSION-X-0 START USER=have-password1
+#?XSERVER-0 ACCEPT-CONNECT
+#?SESSION-X-0 CONNECT-XSERVER
# Logout session
-#?*SESSION-X-50 LOGOUT
+#?*SESSION-X-0 LOGOUT
# X server stops
-#?XSERVER-50 TERMINATE SIGNAL=15
+#?XSERVER-0 TERMINATE SIGNAL=15
# X server starts
-#?XSERVER-50 START
-#?XSERVER-50 INDICATE-READY
+#?XSERVER-0 START
+#?XSERVER-0 INDICATE-READY
# LightDM connects to X server
-#?XSERVER-50 ACCEPT-CONNECT
+#?XSERVER-0 ACCEPT-CONNECT
# Greeter starts
-#?GREETER-X-50 START
-#?XSERVER-50 ACCEPT-CONNECT
-#?GREETER-X-50 CONNECT-XSERVER
-#?GREETER-X-50 CONNECT-TO-DAEMON
-#?GREETER-X-50 CONNECTED-TO-DAEMON
+#?GREETER-X-0 START
+#?XSERVER-0 ACCEPT-CONNECT
+#?GREETER-X-0 CONNECT-XSERVER
+#?GREETER-X-0 CONNECT-TO-DAEMON
+#?GREETER-X-0 CONNECTED-TO-DAEMON
# Cleanup
#?*STOP-DAEMON
-#?GREETER-X-50 TERMINATE SIGNAL=15
-#?XSERVER-50 TERMINATE SIGNAL=15
+#?GREETER-X-0 TERMINATE SIGNAL=15
+#?XSERVER-0 TERMINATE SIGNAL=15
#?RUNNER DAEMON-EXIT STATUS=0
# Check can handle very long password being provided
#
-[LightDM]
-minimum-display-number=50
-
#?RUNNER DAEMON-START
# X server starts
-#?XSERVER-50 START
-#?XSERVER-50 INDICATE-READY
+#?XSERVER-0 START
+#?XSERVER-0 INDICATE-READY
# LightDM connects to X server
-#?XSERVER-50 ACCEPT-CONNECT
+#?XSERVER-0 ACCEPT-CONNECT
# Greeter starts
-#?GREETER-X-50 START
-#?XSERVER-50 ACCEPT-CONNECT
-#?GREETER-X-50 CONNECT-XSERVER
-#?GREETER-X-50 CONNECT-TO-DAEMON
-#?GREETER-X-50 CONNECTED-TO-DAEMON
+#?GREETER-X-0 START
+#?XSERVER-0 ACCEPT-CONNECT
+#?GREETER-X-0 CONNECT-XSERVER
+#?GREETER-X-0 CONNECT-TO-DAEMON
+#?GREETER-X-0 CONNECTED-TO-DAEMON
# Log in with a very long username
-#?*GREETER-X-50 AUTHENTICATE USERNAME=have-password1
-#?GREETER-X-50 SHOW-PROMPT TEXT="Password:"
-#?*GREETER-X-50 RESPOND TEXT="0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789"
-#?GREETER-X-50 AUTHENTICATION-COMPLETE USERNAME=have-password1 AUTHENTICATED=FALSE
+#?*GREETER-X-0 AUTHENTICATE USERNAME=have-password1
+#?GREETER-X-0 SHOW-PROMPT TEXT="Password:"
+#?*GREETER-X-0 RESPOND TEXT="0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789"
+#?GREETER-X-0 AUTHENTICATION-COMPLETE USERNAME=have-password1 AUTHENTICATED=FALSE
# Cleanup
#?*STOP-DAEMON
-#?GREETER-X-50 TERMINATE SIGNAL=15
-#?XSERVER-50 TERMINATE SIGNAL=15
+#?GREETER-X-0 TERMINATE SIGNAL=15
+#?XSERVER-0 TERMINATE SIGNAL=15
#?RUNNER DAEMON-EXIT STATUS=0
# Check can handle very long username being provided
#
-[LightDM]
-minimum-display-number=50
-
#?RUNNER DAEMON-START
# X server starts
-#?XSERVER-50 START
-#?XSERVER-50 INDICATE-READY
+#?XSERVER-0 START
+#?XSERVER-0 INDICATE-READY
# LightDM connects to X server
-#?XSERVER-50 ACCEPT-CONNECT
+#?XSERVER-0 ACCEPT-CONNECT
# Greeter starts
-#?GREETER-X-50 START
-#?XSERVER-50 ACCEPT-CONNECT
-#?GREETER-X-50 CONNECT-XSERVER
-#?GREETER-X-50 CONNECT-TO-DAEMON
-#?GREETER-X-50 CONNECTED-TO-DAEMON
+#?GREETER-X-0 START
+#?XSERVER-0 ACCEPT-CONNECT
+#?GREETER-X-0 CONNECT-XSERVER
+#?GREETER-X-0 CONNECT-TO-DAEMON
+#?GREETER-X-0 CONNECTED-TO-DAEMON
# Log in with a very long username
-#?*GREETER-X-50 AUTHENTICATE USERNAME=0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789
-#?GREETER-X-50 SHOW-PROMPT TEXT="Password:"
-#?*GREETER-X-50 RESPOND TEXT="password"
-#?GREETER-X-50 AUTHENTICATION-COMPLETE USERNAME=0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 AUTHENTICATED=FALSE
+#?*GREETER-X-0 AUTHENTICATE USERNAME=0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789
+#?GREETER-X-0 SHOW-PROMPT TEXT="Password:"
+#?*GREETER-X-0 RESPOND TEXT="password"
+#?GREETER-X-0 AUTHENTICATION-COMPLETE USERNAME=0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 AUTHENTICATED=FALSE
# Cleanup
#?*STOP-DAEMON
-#?GREETER-X-50 TERMINATE SIGNAL=15
-#?XSERVER-50 TERMINATE SIGNAL=15
+#?GREETER-X-0 TERMINATE SIGNAL=15
+#?XSERVER-0 TERMINATE SIGNAL=15
#?RUNNER DAEMON-EXIT STATUS=0
# Check when logging in manually the previous session is restored
#
-[LightDM]
-minimum-display-number=50
-
#?RUNNER DAEMON-START
# X server starts
-#?XSERVER-50 START
-#?XSERVER-50 INDICATE-READY
+#?XSERVER-0 START
+#?XSERVER-0 INDICATE-READY
# LightDM connects to X server
-#?XSERVER-50 ACCEPT-CONNECT
+#?XSERVER-0 ACCEPT-CONNECT
# Greeter starts
-#?GREETER-X-50 START
-#?XSERVER-50 ACCEPT-CONNECT
-#?GREETER-X-50 CONNECT-XSERVER
-#?GREETER-X-50 CONNECT-TO-DAEMON
-#?GREETER-X-50 CONNECTED-TO-DAEMON
+#?GREETER-X-0 START
+#?XSERVER-0 ACCEPT-CONNECT
+#?GREETER-X-0 CONNECT-XSERVER
+#?GREETER-X-0 CONNECT-TO-DAEMON
+#?GREETER-X-0 CONNECTED-TO-DAEMON
# Login as account with a previous session, but let lightdm prompt for a username
-#?*GREETER-X-50 AUTHENTICATE
-#?GREETER-X-50 SHOW-PROMPT TEXT="login:"
-#?*GREETER-X-50 RESPOND TEXT="have-session"
-#?GREETER-X-50 AUTHENTICATION-COMPLETE USERNAME=have-session AUTHENTICATED=TRUE
-#?*GREETER-X-50 START-SESSION
-#?GREETER-X-50 TERMINATE SIGNAL=15
+#?*GREETER-X-0 AUTHENTICATE
+#?GREETER-X-0 SHOW-PROMPT TEXT="login:"
+#?*GREETER-X-0 RESPOND TEXT="have-session"
+#?GREETER-X-0 AUTHENTICATION-COMPLETE USERNAME=have-session AUTHENTICATED=TRUE
+#?*GREETER-X-0 START-SESSION
+#?GREETER-X-0 TERMINATE SIGNAL=15
# Session starts
-#?SESSION-X-50 START NAME=alternative USER=have-session
-#?XSERVER-50 ACCEPT-CONNECT
-#?SESSION-X-50 CONNECT-XSERVER
+#?SESSION-X-0 START NAME=alternative USER=have-session
+#?XSERVER-0 ACCEPT-CONNECT
+#?SESSION-X-0 CONNECT-XSERVER
# Cleanup
#?*STOP-DAEMON
-#?SESSION-X-50 TERMINATE SIGNAL=15
-#?XSERVER-50 TERMINATE SIGNAL=15
+#?SESSION-X-0 TERMINATE SIGNAL=15
+#?XSERVER-0 TERMINATE SIGNAL=15
#?RUNNER DAEMON-EXIT STATUS=0
# Check can login without a username, and is prompted for one
#
-[LightDM]
-minimum-display-number=50
-
#?RUNNER DAEMON-START
# X server starts
-#?XSERVER-50 START
-#?XSERVER-50 INDICATE-READY
+#?XSERVER-0 START
+#?XSERVER-0 INDICATE-READY
# LightDM connects to X server
-#?XSERVER-50 ACCEPT-CONNECT
+#?XSERVER-0 ACCEPT-CONNECT
# Greeter starts
-#?GREETER-X-50 START
-#?XSERVER-50 ACCEPT-CONNECT
-#?GREETER-X-50 CONNECT-XSERVER
-#?GREETER-X-50 CONNECT-TO-DAEMON
-#?GREETER-X-50 CONNECTED-TO-DAEMON
+#?GREETER-X-0 START
+#?XSERVER-0 ACCEPT-CONNECT
+#?GREETER-X-0 CONNECT-XSERVER
+#?GREETER-X-0 CONNECT-TO-DAEMON
+#?GREETER-X-0 CONNECTED-TO-DAEMON
# Login as have-password1, but let lightdm prompt for a username
-#?*GREETER-X-50 AUTHENTICATE
-#?GREETER-X-50 SHOW-PROMPT TEXT="login:"
-#?*GREETER-X-50 RESPOND TEXT="have-password1"
-#?GREETER-X-50 SHOW-PROMPT TEXT="Password:"
-#?*GREETER-X-50 RESPOND TEXT="password"
-#?GREETER-X-50 AUTHENTICATION-COMPLETE USERNAME=have-password1 AUTHENTICATED=TRUE
-#?*GREETER-X-50 START-SESSION
-#?GREETER-X-50 TERMINATE SIGNAL=15
+#?*GREETER-X-0 AUTHENTICATE
+#?GREETER-X-0 SHOW-PROMPT TEXT="login:"
+#?*GREETER-X-0 RESPOND TEXT="have-password1"
+#?GREETER-X-0 SHOW-PROMPT TEXT="Password:"
+#?*GREETER-X-0 RESPOND TEXT="password"
+#?GREETER-X-0 AUTHENTICATION-COMPLETE USERNAME=have-password1 AUTHENTICATED=TRUE
+#?*GREETER-X-0 START-SESSION
+#?GREETER-X-0 TERMINATE SIGNAL=15
# Session starts
-#?SESSION-X-50 START USER=have-password1
-#?XSERVER-50 ACCEPT-CONNECT
-#?SESSION-X-50 CONNECT-XSERVER
+#?SESSION-X-0 START USER=have-password1
+#?XSERVER-0 ACCEPT-CONNECT
+#?SESSION-X-0 CONNECT-XSERVER
# Cleanup
#?*STOP-DAEMON
-#?SESSION-X-50 TERMINATE SIGNAL=15
-#?XSERVER-50 TERMINATE SIGNAL=15
+#?SESSION-X-0 TERMINATE SIGNAL=15
+#?XSERVER-0 TERMINATE SIGNAL=15
#?RUNNER DAEMON-EXIT STATUS=0
# Check multiple PAM informational messages on login are passed to a greeter
#
-[LightDM]
-minimum-display-number=50
-
#?RUNNER DAEMON-START
# X server starts
-#?XSERVER-50 START
-#?XSERVER-50 INDICATE-READY
+#?XSERVER-0 START
+#?XSERVER-0 INDICATE-READY
# LightDM connects to X server
-#?XSERVER-50 ACCEPT-CONNECT
+#?XSERVER-0 ACCEPT-CONNECT
# Greeter starts
-#?GREETER-X-50 START
-#?XSERVER-50 ACCEPT-CONNECT
-#?GREETER-X-50 CONNECT-XSERVER
-#?GREETER-X-50 CONNECT-TO-DAEMON
-#?GREETER-X-50 CONNECTED-TO-DAEMON
+#?GREETER-X-0 START
+#?XSERVER-0 ACCEPT-CONNECT
+#?GREETER-X-0 CONNECT-XSERVER
+#?GREETER-X-0 CONNECT-TO-DAEMON
+#?GREETER-X-0 CONNECTED-TO-DAEMON
# Log into account and see an informational prompt
-#?*GREETER-X-50 AUTHENTICATE USERNAME=multi-info-prompt
-#?GREETER-X-50 SHOW-MESSAGE TEXT="Welcome to LightDM"
-#?GREETER-X-50 SHOW-MESSAGE TEXT="This is an error"
-#?GREETER-X-50 SHOW-MESSAGE TEXT="You should have seen three messages"
-#?GREETER-X-50 SHOW-PROMPT TEXT="Password:"
+#?*GREETER-X-0 AUTHENTICATE USERNAME=multi-info-prompt
+#?GREETER-X-0 SHOW-MESSAGE TEXT="Welcome to LightDM"
+#?GREETER-X-0 SHOW-MESSAGE TEXT="This is an error"
+#?GREETER-X-0 SHOW-MESSAGE TEXT="You should have seen three messages"
+#?GREETER-X-0 SHOW-PROMPT TEXT="Password:"
# Respond with password and check response is correctly handled
-#?*GREETER-X-50 RESPOND TEXT="password"
-#?GREETER-X-50 AUTHENTICATION-COMPLETE USERNAME=multi-info-prompt AUTHENTICATED=TRUE
+#?*GREETER-X-0 RESPOND TEXT="password"
+#?GREETER-X-0 AUTHENTICATION-COMPLETE USERNAME=multi-info-prompt AUTHENTICATED=TRUE
# Cleanup
#?*STOP-DAEMON
-#?GREETER-X-50 TERMINATE SIGNAL=15
-#?XSERVER-50 TERMINATE SIGNAL=15
+#?GREETER-X-0 TERMINATE SIGNAL=15
+#?XSERVER-0 TERMINATE SIGNAL=15
#?RUNNER DAEMON-EXIT STATUS=0
# Check multiple PAM informational messages on login are passed to a greeter
#
-[LightDM]
-minimum-display-number=50
-
#?RUNNER DAEMON-START
# X server starts
-#?XSERVER-50 START
-#?XSERVER-50 INDICATE-READY
+#?XSERVER-0 START
+#?XSERVER-0 INDICATE-READY
# LightDM connects to X server
-#?XSERVER-50 ACCEPT-CONNECT
+#?XSERVER-0 ACCEPT-CONNECT
# Greeter starts
-#?GREETER-X-50 START
-#?XSERVER-50 ACCEPT-CONNECT
-#?GREETER-X-50 CONNECT-XSERVER
-#?GREETER-X-50 CONNECT-TO-DAEMON
-#?GREETER-X-50 CONNECTED-TO-DAEMON
+#?GREETER-X-0 START
+#?XSERVER-0 ACCEPT-CONNECT
+#?GREETER-X-0 CONNECT-XSERVER
+#?GREETER-X-0 CONNECT-TO-DAEMON
+#?GREETER-X-0 CONNECTED-TO-DAEMON
# Log into account and see an informational prompt
-#?*GREETER-X-50 AUTHENTICATE USERNAME=multi-prompt
-#?GREETER-X-50 SHOW-PROMPT TEXT="Favorite Color:"
-#?GREETER-X-50 SHOW-PROMPT TEXT="Password:"
+#?*GREETER-X-0 AUTHENTICATE USERNAME=multi-prompt
+#?GREETER-X-0 SHOW-PROMPT TEXT="Favorite Color:"
+#?GREETER-X-0 SHOW-PROMPT TEXT="Password:"
# Respond with password and check response is correctly handled
-#?*GREETER-X-50 RESPOND TEXT="blue"
-#?*GREETER-X-50 RESPOND TEXT="password"
-#?GREETER-X-50 AUTHENTICATION-COMPLETE USERNAME=multi-prompt AUTHENTICATED=TRUE
+#?*GREETER-X-0 RESPOND TEXT="blue"
+#?*GREETER-X-0 RESPOND TEXT="password"
+#?GREETER-X-0 AUTHENTICATION-COMPLETE USERNAME=multi-prompt AUTHENTICATED=TRUE
# Cleanup
#?*STOP-DAEMON
-#?GREETER-X-50 TERMINATE SIGNAL=15
-#?XSERVER-50 TERMINATE SIGNAL=15
+#?GREETER-X-0 TERMINATE SIGNAL=15
+#?XSERVER-0 TERMINATE SIGNAL=15
#?RUNNER DAEMON-EXIT STATUS=0
# Check prompted to change password
#
-[LightDM]
-minimum-display-number=50
-
#?RUNNER DAEMON-START
# X server starts
-#?XSERVER-50 START
-#?XSERVER-50 INDICATE-READY
+#?XSERVER-0 START
+#?XSERVER-0 INDICATE-READY
# LightDM connects to X server
-#?XSERVER-50 ACCEPT-CONNECT
+#?XSERVER-0 ACCEPT-CONNECT
# Greeter starts
-#?GREETER-X-50 START
-#?XSERVER-50 ACCEPT-CONNECT
-#?GREETER-X-50 CONNECT-XSERVER
-#?GREETER-X-50 CONNECT-TO-DAEMON
-#?GREETER-X-50 CONNECTED-TO-DAEMON
+#?GREETER-X-0 START
+#?XSERVER-0 ACCEPT-CONNECT
+#?GREETER-X-0 CONNECT-XSERVER
+#?GREETER-X-0 CONNECT-TO-DAEMON
+#?GREETER-X-0 CONNECTED-TO-DAEMON
# Log into account that requires as password change
-#?*GREETER-X-50 AUTHENTICATE USERNAME=new-authtok
-#?GREETER-X-50 SHOW-PROMPT TEXT="Enter new password:"
-#?*GREETER-X-50 RESPOND TEXT="New password"
-#?GREETER-X-50 AUTHENTICATION-COMPLETE USERNAME=new-authtok AUTHENTICATED=TRUE
-#?*GREETER-X-50 START-SESSION
-#?GREETER-X-50 TERMINATE SIGNAL=15
+#?*GREETER-X-0 AUTHENTICATE USERNAME=new-authtok
+#?GREETER-X-0 SHOW-PROMPT TEXT="Enter new password:"
+#?*GREETER-X-0 RESPOND TEXT="New password"
+#?GREETER-X-0 AUTHENTICATION-COMPLETE USERNAME=new-authtok AUTHENTICATED=TRUE
+#?*GREETER-X-0 START-SESSION
+#?GREETER-X-0 TERMINATE SIGNAL=15
# Session starts
-#?SESSION-X-50 START USER=new-authtok
-#?XSERVER-50 ACCEPT-CONNECT
-#?SESSION-X-50 CONNECT-XSERVER
+#?SESSION-X-0 START USER=new-authtok
+#?XSERVER-0 ACCEPT-CONNECT
+#?SESSION-X-0 CONNECT-XSERVER
# Cleanup
#?*STOP-DAEMON
-#?SESSION-X-50 TERMINATE SIGNAL=15
-#?XSERVER-50 TERMINATE SIGNAL=15
+#?SESSION-X-0 TERMINATE SIGNAL=15
+#?XSERVER-0 TERMINATE SIGNAL=15
#?RUNNER DAEMON-EXIT STATUS=0
# Check can login without password for accounts that do not have a password
#
-[LightDM]
-minimum-display-number=50
-
#?RUNNER DAEMON-START
# X server starts
-#?XSERVER-50 START
-#?XSERVER-50 INDICATE-READY
+#?XSERVER-0 START
+#?XSERVER-0 INDICATE-READY
# LightDM connects to X server
-#?XSERVER-50 ACCEPT-CONNECT
+#?XSERVER-0 ACCEPT-CONNECT
# Greeter starts
-#?GREETER-X-50 START
-#?XSERVER-50 ACCEPT-CONNECT
-#?GREETER-X-50 CONNECT-XSERVER
-#?GREETER-X-50 CONNECT-TO-DAEMON
-#?GREETER-X-50 CONNECTED-TO-DAEMON
+#?GREETER-X-0 START
+#?XSERVER-0 ACCEPT-CONNECT
+#?GREETER-X-0 CONNECT-XSERVER
+#?GREETER-X-0 CONNECT-TO-DAEMON
+#?GREETER-X-0 CONNECTED-TO-DAEMON
# Log into account without a password
-#?*GREETER-X-50 AUTHENTICATE USERNAME=no-password1
-#?GREETER-X-50 AUTHENTICATION-COMPLETE USERNAME=no-password1 AUTHENTICATED=TRUE
-#?*GREETER-X-50 START-SESSION
-#?GREETER-X-50 TERMINATE SIGNAL=15
+#?*GREETER-X-0 AUTHENTICATE USERNAME=no-password1
+#?GREETER-X-0 AUTHENTICATION-COMPLETE USERNAME=no-password1 AUTHENTICATED=TRUE
+#?*GREETER-X-0 START-SESSION
+#?GREETER-X-0 TERMINATE SIGNAL=15
# Session starts
-#?SESSION-X-50 START USER=no-password1
-#?XSERVER-50 ACCEPT-CONNECT
-#?SESSION-X-50 CONNECT-XSERVER
+#?SESSION-X-0 START USER=no-password1
+#?XSERVER-0 ACCEPT-CONNECT
+#?SESSION-X-0 CONNECT-XSERVER
# Cleanup
#?*STOP-DAEMON
-#?SESSION-X-50 TERMINATE SIGNAL=15
-#?XSERVER-50 TERMINATE SIGNAL=15
+#?SESSION-X-0 TERMINATE SIGNAL=15
+#?XSERVER-0 TERMINATE SIGNAL=15
#?RUNNER DAEMON-EXIT STATUS=0
# Check we handle conversations during each PAM method
#
-[LightDM]
-minimum-display-number=50
-
#?RUNNER DAEMON-START
# X server starts
-#?XSERVER-50 START
-#?XSERVER-50 INDICATE-READY
+#?XSERVER-0 START
+#?XSERVER-0 INDICATE-READY
# LightDM connects to X server
-#?XSERVER-50 ACCEPT-CONNECT
+#?XSERVER-0 ACCEPT-CONNECT
# Greeter starts
-#?GREETER-X-50 START
-#?XSERVER-50 ACCEPT-CONNECT
-#?GREETER-X-50 CONNECT-XSERVER
-#?GREETER-X-50 CONNECT-TO-DAEMON
-#?GREETER-X-50 CONNECTED-TO-DAEMON
+#?GREETER-X-0 START
+#?XSERVER-0 ACCEPT-CONNECT
+#?GREETER-X-0 CONNECT-XSERVER
+#?GREETER-X-0 CONNECT-TO-DAEMON
+#?GREETER-X-0 CONNECTED-TO-DAEMON
# Log into account with a password
-#?*GREETER-X-50 AUTHENTICATE USERNAME=log-pam
-#?GREETER-X-50 SHOW-MESSAGE TEXT="pam_authenticate"
-#?GREETER-X-50 SHOW-PROMPT TEXT="Password:"
-#?*GREETER-X-50 RESPOND TEXT="password"
-#?GREETER-X-50 SHOW-MESSAGE TEXT="pam_acct_mgmt"
-#?GREETER-X-50 AUTHENTICATION-COMPLETE USERNAME=log-pam AUTHENTICATED=TRUE
-#?*GREETER-X-50 START-SESSION
-#?GREETER-X-50 TERMINATE SIGNAL=15
+#?*GREETER-X-0 AUTHENTICATE USERNAME=log-pam
+#?GREETER-X-0 SHOW-MESSAGE TEXT="pam_authenticate"
+#?GREETER-X-0 SHOW-PROMPT TEXT="Password:"
+#?*GREETER-X-0 RESPOND TEXT="password"
+#?GREETER-X-0 SHOW-MESSAGE TEXT="pam_acct_mgmt"
+#?GREETER-X-0 AUTHENTICATION-COMPLETE USERNAME=log-pam AUTHENTICATED=TRUE
+#?*GREETER-X-0 START-SESSION
+#?GREETER-X-0 TERMINATE SIGNAL=15
# Session starts
-#?SESSION-X-50 START USER=log-pam
-#?XSERVER-50 ACCEPT-CONNECT
-#?SESSION-X-50 CONNECT-XSERVER
+#?SESSION-X-0 START USER=log-pam
+#?XSERVER-0 ACCEPT-CONNECT
+#?SESSION-X-0 CONNECT-XSERVER
# Cleanup
#?*STOP-DAEMON
-#?SESSION-X-50 TERMINATE SIGNAL=15
-#?XSERVER-50 TERMINATE SIGNAL=15
+#?SESSION-X-0 TERMINATE SIGNAL=15
+#?XSERVER-0 TERMINATE SIGNAL=15
#?RUNNER DAEMON-EXIT STATUS=0
# Check can login and pick an alternative session
#
-[LightDM]
-minimum-display-number=50
-
#?RUNNER DAEMON-START
# X server starts
-#?XSERVER-50 START
-#?XSERVER-50 INDICATE-READY
+#?XSERVER-0 START
+#?XSERVER-0 INDICATE-READY
# LightDM connects to X server
-#?XSERVER-50 ACCEPT-CONNECT
+#?XSERVER-0 ACCEPT-CONNECT
# Greeter starts
-#?GREETER-X-50 START
-#?XSERVER-50 ACCEPT-CONNECT
-#?GREETER-X-50 CONNECT-XSERVER
-#?GREETER-X-50 CONNECT-TO-DAEMON
-#?GREETER-X-50 CONNECTED-TO-DAEMON
+#?GREETER-X-0 START
+#?XSERVER-0 ACCEPT-CONNECT
+#?GREETER-X-0 CONNECT-XSERVER
+#?GREETER-X-0 CONNECT-TO-DAEMON
+#?GREETER-X-0 CONNECTED-TO-DAEMON
# Login as have-password1
-#?*GREETER-X-50 AUTHENTICATE USERNAME=have-password1
-#?GREETER-X-50 SHOW-PROMPT TEXT="Password:"
-#?*GREETER-X-50 RESPOND TEXT="password"
-#?GREETER-X-50 AUTHENTICATION-COMPLETE USERNAME=have-password1 AUTHENTICATED=TRUE
-#?*GREETER-X-50 START-SESSION SESSION=alternative
-#?GREETER-X-50 TERMINATE SIGNAL=15
+#?*GREETER-X-0 AUTHENTICATE USERNAME=have-password1
+#?GREETER-X-0 SHOW-PROMPT TEXT="Password:"
+#?*GREETER-X-0 RESPOND TEXT="password"
+#?GREETER-X-0 AUTHENTICATION-COMPLETE USERNAME=have-password1 AUTHENTICATED=TRUE
+#?*GREETER-X-0 START-SESSION SESSION=alternative
+#?GREETER-X-0 TERMINATE SIGNAL=15
# Session starts
-#?SESSION-X-50 START NAME=alternative USER=have-password1
-#?XSERVER-50 ACCEPT-CONNECT
-#?SESSION-X-50 CONNECT-XSERVER
+#?SESSION-X-0 START NAME=alternative USER=have-password1
+#?XSERVER-0 ACCEPT-CONNECT
+#?SESSION-X-0 CONNECT-XSERVER
# Cleanup
#?*STOP-DAEMON
-#?SESSION-X-50 TERMINATE SIGNAL=15
-#?XSERVER-50 TERMINATE SIGNAL=15
+#?SESSION-X-0 TERMINATE SIGNAL=15
+#?XSERVER-0 TERMINATE SIGNAL=15
#?RUNNER DAEMON-EXIT STATUS=0
# Check when logging in the previous session is loaded
#
-[LightDM]
-minimum-display-number=50
-
#?RUNNER DAEMON-START
# X server starts
-#?XSERVER-50 START
-#?XSERVER-50 INDICATE-READY
+#?XSERVER-0 START
+#?XSERVER-0 INDICATE-READY
# LightDM connects to X server
-#?XSERVER-50 ACCEPT-CONNECT
+#?XSERVER-0 ACCEPT-CONNECT
# Greeter starts
-#?GREETER-X-50 START
-#?XSERVER-50 ACCEPT-CONNECT
-#?GREETER-X-50 CONNECT-XSERVER
-#?GREETER-X-50 CONNECT-TO-DAEMON
-#?GREETER-X-50 CONNECTED-TO-DAEMON
+#?GREETER-X-0 START
+#?XSERVER-0 ACCEPT-CONNECT
+#?GREETER-X-0 CONNECT-XSERVER
+#?GREETER-X-0 CONNECT-TO-DAEMON
+#?GREETER-X-0 CONNECTED-TO-DAEMON
# Log into account with a previously chosen session
-#?*GREETER-X-50 AUTHENTICATE USERNAME=have-session
-#?GREETER-X-50 AUTHENTICATION-COMPLETE USERNAME=have-session AUTHENTICATED=TRUE
-#?*GREETER-X-50 START-SESSION
-#?GREETER-X-50 TERMINATE SIGNAL=15
+#?*GREETER-X-0 AUTHENTICATE USERNAME=have-session
+#?GREETER-X-0 AUTHENTICATION-COMPLETE USERNAME=have-session AUTHENTICATED=TRUE
+#?*GREETER-X-0 START-SESSION
+#?GREETER-X-0 TERMINATE SIGNAL=15
# Session starts
-#?SESSION-X-50 START NAME=alternative USER=have-session
-#?XSERVER-50 ACCEPT-CONNECT
-#?SESSION-X-50 CONNECT-XSERVER
+#?SESSION-X-0 START NAME=alternative USER=have-session
+#?XSERVER-0 ACCEPT-CONNECT
+#?SESSION-X-0 CONNECT-XSERVER
# Cleanup
#?*STOP-DAEMON
-#?SESSION-X-50 TERMINATE SIGNAL=15
-#?XSERVER-50 TERMINATE SIGNAL=15
+#?SESSION-X-0 TERMINATE SIGNAL=15
+#?XSERVER-0 TERMINATE SIGNAL=15
#?RUNNER DAEMON-EXIT STATUS=0
# Check can login without a username, and is prompted for one
#
-[LightDM]
-minimum-display-number=50
-
#?RUNNER DAEMON-START
# X server starts
-#?XSERVER-50 START
-#?XSERVER-50 INDICATE-READY
+#?XSERVER-0 START
+#?XSERVER-0 INDICATE-READY
# LightDM connects to X server
-#?XSERVER-50 ACCEPT-CONNECT
+#?XSERVER-0 ACCEPT-CONNECT
# Greeter starts
-#?GREETER-X-50 START
-#?XSERVER-50 ACCEPT-CONNECT
-#?GREETER-X-50 CONNECT-XSERVER
-#?GREETER-X-50 CONNECT-TO-DAEMON
-#?GREETER-X-50 CONNECTED-TO-DAEMON
+#?GREETER-X-0 START
+#?XSERVER-0 ACCEPT-CONNECT
+#?GREETER-X-0 CONNECT-XSERVER
+#?GREETER-X-0 CONNECT-TO-DAEMON
+#?GREETER-X-0 CONNECTED-TO-DAEMON
# Start remote authentication
-#?*GREETER-X-50 AUTHENTICATE-REMOTE SESSION=test-remote
+#?*GREETER-X-0 AUTHENTICATE-REMOTE SESSION=test-remote
# Guest account created
#?GUEST-ACCOUNT ADD USERNAME=guest-.*
# Get remote credentials
-#?GREETER-X-50 SHOW-PROMPT TEXT="remote-login:"
-#?*GREETER-X-50 RESPOND TEXT="remote-user"
-#?GREETER-X-50 SHOW-PROMPT TEXT="remote-password:"
-#?*GREETER-X-50 RESPOND TEXT="password"
-#?GREETER-X-50 AUTHENTICATION-COMPLETE USERNAME=guest-.* AUTHENTICATED=TRUE
-#?*GREETER-X-50 START-SESSION
-#?GREETER-X-50 TERMINATE SIGNAL=15
+#?GREETER-X-0 SHOW-PROMPT TEXT="remote-login:"
+#?*GREETER-X-0 RESPOND TEXT="remote-user"
+#?GREETER-X-0 SHOW-PROMPT TEXT="remote-password:"
+#?*GREETER-X-0 RESPOND TEXT="password"
+#?GREETER-X-0 AUTHENTICATION-COMPLETE USERNAME=guest-.* AUTHENTICATED=TRUE
+#?*GREETER-X-0 START-SESSION
+#?GREETER-X-0 TERMINATE SIGNAL=15
# Session starts
-#?SESSION-X-50 START USER=guest-.*
-#?XSERVER-50 ACCEPT-CONNECT
-#?SESSION-X-50 CONNECT-XSERVER
+#?SESSION-X-0 START USER=guest-.*
+#?XSERVER-0 ACCEPT-CONNECT
+#?SESSION-X-0 CONNECT-XSERVER
# Cleanup
#?*STOP-DAEMON
-#?SESSION-X-50 TERMINATE SIGNAL=15
-#?XSERVER-50 TERMINATE SIGNAL=15
+#?SESSION-X-0 TERMINATE SIGNAL=15
+#?XSERVER-0 TERMINATE SIGNAL=15
#?GUEST-ACCOUNT REMOVE USERNAME=guest-.*
#?RUNNER DAEMON-EXIT STATUS=0
# Check if session crashes then returned to greeter
#
-[LightDM]
-minimum-display-number=50
-
#?RUNNER DAEMON-START
# X server starts
-#?XSERVER-50 START
-#?XSERVER-50 INDICATE-READY
+#?XSERVER-0 START
+#?XSERVER-0 INDICATE-READY
# LightDM connects to X server
-#?XSERVER-50 ACCEPT-CONNECT
+#?XSERVER-0 ACCEPT-CONNECT
# Greeter starts
-#?GREETER-X-50 START
-#?XSERVER-50 ACCEPT-CONNECT
-#?GREETER-X-50 CONNECT-XSERVER
-#?GREETER-X-50 CONNECT-TO-DAEMON
-#?GREETER-X-50 CONNECTED-TO-DAEMON
+#?GREETER-X-0 START
+#?XSERVER-0 ACCEPT-CONNECT
+#?GREETER-X-0 CONNECT-XSERVER
+#?GREETER-X-0 CONNECT-TO-DAEMON
+#?GREETER-X-0 CONNECTED-TO-DAEMON
# Log into an account with a password
-#?*GREETER-X-50 AUTHENTICATE USERNAME=have-password1
-#?GREETER-X-50 SHOW-PROMPT TEXT="Password:"
-#?*GREETER-X-50 RESPOND TEXT="password"
-#?GREETER-X-50 AUTHENTICATION-COMPLETE USERNAME=have-password1 AUTHENTICATED=TRUE
-#?*GREETER-X-50 START-SESSION
-#?GREETER-X-50 TERMINATE SIGNAL=15
+#?*GREETER-X-0 AUTHENTICATE USERNAME=have-password1
+#?GREETER-X-0 SHOW-PROMPT TEXT="Password:"
+#?*GREETER-X-0 RESPOND TEXT="password"
+#?GREETER-X-0 AUTHENTICATION-COMPLETE USERNAME=have-password1 AUTHENTICATED=TRUE
+#?*GREETER-X-0 START-SESSION
+#?GREETER-X-0 TERMINATE SIGNAL=15
# Session starts
-#?SESSION-X-50 START USER=have-password1
-#?XSERVER-50 ACCEPT-CONNECT
-#?SESSION-X-50 CONNECT-XSERVER
+#?SESSION-X-0 START USER=have-password1
+#?XSERVER-0 ACCEPT-CONNECT
+#?SESSION-X-0 CONNECT-XSERVER
# Crash session
-#?*SESSION-X-50 CRASH
+#?*SESSION-X-0 CRASH
# X server stops
-#?XSERVER-50 TERMINATE SIGNAL=15
+#?XSERVER-0 TERMINATE SIGNAL=15
# X server starts
-#?XSERVER-50 START
-#?XSERVER-50 INDICATE-READY
+#?XSERVER-0 START
+#?XSERVER-0 INDICATE-READY
# LightDM connects to X server
-#?XSERVER-50 ACCEPT-CONNECT
+#?XSERVER-0 ACCEPT-CONNECT
# Greeter starts
-#?GREETER-X-50 START
-#?XSERVER-50 ACCEPT-CONNECT
-#?GREETER-X-50 CONNECT-XSERVER
-#?GREETER-X-50 CONNECT-TO-DAEMON
-#?GREETER-X-50 CONNECTED-TO-DAEMON
+#?GREETER-X-0 START
+#?XSERVER-0 ACCEPT-CONNECT
+#?GREETER-X-0 CONNECT-XSERVER
+#?GREETER-X-0 CONNECT-TO-DAEMON
+#?GREETER-X-0 CONNECTED-TO-DAEMON
# Cleanup
#?*STOP-DAEMON
-#?GREETER-X-50 TERMINATE SIGNAL=15
-#?XSERVER-50 TERMINATE SIGNAL=15
+#?GREETER-X-0 TERMINATE SIGNAL=15
+#?XSERVER-0 TERMINATE SIGNAL=15
#?RUNNER DAEMON-EXIT STATUS=0
# Check can login with two factor
#
-[LightDM]
-minimum-display-number=50
-
#?RUNNER DAEMON-START
# X server starts
-#?XSERVER-50 START
-#?XSERVER-50 INDICATE-READY
+#?XSERVER-0 START
+#?XSERVER-0 INDICATE-READY
# LightDM connects to X server
-#?XSERVER-50 ACCEPT-CONNECT
+#?XSERVER-0 ACCEPT-CONNECT
# Greeter starts
-#?GREETER-X-50 START
-#?XSERVER-50 ACCEPT-CONNECT
-#?GREETER-X-50 CONNECT-XSERVER
-#?GREETER-X-50 CONNECT-TO-DAEMON
-#?GREETER-X-50 CONNECTED-TO-DAEMON
+#?GREETER-X-0 START
+#?XSERVER-0 ACCEPT-CONNECT
+#?GREETER-X-0 CONNECT-XSERVER
+#?GREETER-X-0 CONNECT-TO-DAEMON
+#?GREETER-X-0 CONNECTED-TO-DAEMON
# Log into account with a password
-#?*GREETER-X-50 AUTHENTICATE USERNAME=two-factor
-#?GREETER-X-50 SHOW-PROMPT TEXT="Password:"
-#?*GREETER-X-50 RESPOND TEXT="password"
-#?GREETER-X-50 SHOW-PROMPT TEXT="OTP:"
-#?*GREETER-X-50 RESPOND TEXT="otp"
-#?GREETER-X-50 AUTHENTICATION-COMPLETE USERNAME=two-factor AUTHENTICATED=TRUE
+#?*GREETER-X-0 AUTHENTICATE USERNAME=two-factor
+#?GREETER-X-0 SHOW-PROMPT TEXT="Password:"
+#?*GREETER-X-0 RESPOND TEXT="password"
+#?GREETER-X-0 SHOW-PROMPT TEXT="OTP:"
+#?*GREETER-X-0 RESPOND TEXT="otp"
+#?GREETER-X-0 AUTHENTICATION-COMPLETE USERNAME=two-factor AUTHENTICATED=TRUE
# Cleanup
#?*STOP-DAEMON
-#?GREETER-X-50 TERMINATE SIGNAL=15
-#?XSERVER-50 TERMINATE SIGNAL=15
+#?GREETER-X-0 TERMINATE SIGNAL=15
+#?XSERVER-0 TERMINATE SIGNAL=15
#?RUNNER DAEMON-EXIT STATUS=0
# Check can't login with an invalid password
#
-[LightDM]
-minimum-display-number=50
-
#?RUNNER DAEMON-START
# X server starts
-#?XSERVER-50 START
-#?XSERVER-50 INDICATE-READY
+#?XSERVER-0 START
+#?XSERVER-0 INDICATE-READY
# LightDM connects to X server
-#?XSERVER-50 ACCEPT-CONNECT
+#?XSERVER-0 ACCEPT-CONNECT
# Greeter starts
-#?GREETER-X-50 START
-#?XSERVER-50 ACCEPT-CONNECT
-#?GREETER-X-50 CONNECT-XSERVER
-#?GREETER-X-50 CONNECT-TO-DAEMON
-#?GREETER-X-50 CONNECTED-TO-DAEMON
+#?GREETER-X-0 START
+#?XSERVER-0 ACCEPT-CONNECT
+#?GREETER-X-0 CONNECT-XSERVER
+#?GREETER-X-0 CONNECT-TO-DAEMON
+#?GREETER-X-0 CONNECTED-TO-DAEMON
# Login with invalid password
-#?*GREETER-X-50 AUTHENTICATE USERNAME=have-password1
-#?GREETER-X-50 SHOW-PROMPT TEXT="Password:"
-#?*GREETER-X-50 RESPOND TEXT="rubbish"
-#?GREETER-X-50 AUTHENTICATION-COMPLETE USERNAME=have-password1 AUTHENTICATED=FALSE
+#?*GREETER-X-0 AUTHENTICATE USERNAME=have-password1
+#?GREETER-X-0 SHOW-PROMPT TEXT="Password:"
+#?*GREETER-X-0 RESPOND TEXT="rubbish"
+#?GREETER-X-0 AUTHENTICATION-COMPLETE USERNAME=have-password1 AUTHENTICATED=FALSE
# Cleanup
#?*STOP-DAEMON
-#?GREETER-X-50 TERMINATE SIGNAL=15
-#?XSERVER-50 TERMINATE SIGNAL=15
+#?GREETER-X-0 TERMINATE SIGNAL=15
+#?XSERVER-0 TERMINATE SIGNAL=15
#?RUNNER DAEMON-EXIT STATUS=0
# Check LightDM returns to the greeter if the X server crashes inside a session
#
-[LightDM]
-minimum-display-number=50
-
#?RUNNER DAEMON-START
# XServer starts
-#?XSERVER-50 START
-#?XSERVER-50 INDICATE-READY
+#?XSERVER-0 START
+#?XSERVER-0 INDICATE-READY
# LightDM connects to X server
-#?XSERVER-50 ACCEPT-CONNECT
+#?XSERVER-0 ACCEPT-CONNECT
# Greeter starts
-#?GREETER-X-50 START
-#?XSERVER-50 ACCEPT-CONNECT
-#?GREETER-X-50 CONNECT-XSERVER
-#?GREETER-X-50 CONNECT-TO-DAEMON
-#?GREETER-X-50 CONNECTED-TO-DAEMON
+#?GREETER-X-0 START
+#?XSERVER-0 ACCEPT-CONNECT
+#?GREETER-X-0 CONNECT-XSERVER
+#?GREETER-X-0 CONNECT-TO-DAEMON
+#?GREETER-X-0 CONNECTED-TO-DAEMON
# Log into account with a password
-#?*GREETER-X-50 AUTHENTICATE USERNAME=have-password1
-#?GREETER-X-50 SHOW-PROMPT TEXT="Password:"
-#?*GREETER-X-50 RESPOND TEXT="password"
-#?GREETER-X-50 AUTHENTICATION-COMPLETE USERNAME=have-password1 AUTHENTICATED=TRUE
-#?*GREETER-X-50 START-SESSION
-#?GREETER-X-50 TERMINATE SIGNAL=15
+#?*GREETER-X-0 AUTHENTICATE USERNAME=have-password1
+#?GREETER-X-0 SHOW-PROMPT TEXT="Password:"
+#?*GREETER-X-0 RESPOND TEXT="password"
+#?GREETER-X-0 AUTHENTICATION-COMPLETE USERNAME=have-password1 AUTHENTICATED=TRUE
+#?*GREETER-X-0 START-SESSION
+#?GREETER-X-0 TERMINATE SIGNAL=15
# Session starts
-#?SESSION-X-50 START USER=have-password1
-#?XSERVER-50 ACCEPT-CONNECT
-#?SESSION-X-50 CONNECT-XSERVER
+#?SESSION-X-0 START USER=have-password1
+#?XSERVER-0 ACCEPT-CONNECT
+#?SESSION-X-0 CONNECT-XSERVER
# Crash X server
-#?*XSERVER-50 CRASH
+#?*XSERVER-0 CRASH
# User session is terminated
-#?SESSION-X-50 TERMINATE SIGNAL=15
+#?SESSION-X-0 TERMINATE SIGNAL=15
# X server restarts
-#?XSERVER-50 START
-#?XSERVER-50 INDICATE-READY
-#?XSERVER-50 ACCEPT-CONNECT
+#?XSERVER-0 START
+#?XSERVER-0 INDICATE-READY
+#?XSERVER-0 ACCEPT-CONNECT
# Greeter starts
-#?GREETER-X-50 START
-#?XSERVER-50 ACCEPT-CONNECT
-#?GREETER-X-50 CONNECT-XSERVER
-#?GREETER-X-50 CONNECT-TO-DAEMON
-#?GREETER-X-50 CONNECTED-TO-DAEMON
+#?GREETER-X-0 START
+#?XSERVER-0 ACCEPT-CONNECT
+#?GREETER-X-0 CONNECT-XSERVER
+#?GREETER-X-0 CONNECT-TO-DAEMON
+#?GREETER-X-0 CONNECTED-TO-DAEMON
#?*STOP-DAEMON
-#?GREETER-X-50 TERMINATE SIGNAL=15
-#?XSERVER-50 TERMINATE SIGNAL=15
+#?GREETER-X-0 TERMINATE SIGNAL=15
+#?XSERVER-0 TERMINATE SIGNAL=15
#?RUNNER DAEMON-EXIT STATUS=0
# Check can login
#
-[LightDM]
-minimum-display-number=50
-
#?RUNNER DAEMON-START
# X server starts
-#?XSERVER-50 START
-#?XSERVER-50 INDICATE-READY
+#?XSERVER-0 START
+#?XSERVER-0 INDICATE-READY
# LightDM connects to X server
-#?XSERVER-50 ACCEPT-CONNECT
+#?XSERVER-0 ACCEPT-CONNECT
# Greeter starts
-#?GREETER-X-50 START
-#?XSERVER-50 ACCEPT-CONNECT
-#?GREETER-X-50 CONNECT-XSERVER
-#?GREETER-X-50 CONNECT-TO-DAEMON
-#?GREETER-X-50 CONNECTED-TO-DAEMON
+#?GREETER-X-0 START
+#?XSERVER-0 ACCEPT-CONNECT
+#?GREETER-X-0 CONNECT-XSERVER
+#?GREETER-X-0 CONNECT-TO-DAEMON
+#?GREETER-X-0 CONNECTED-TO-DAEMON
# Log into account with a password
-#?*GREETER-X-50 AUTHENTICATE USERNAME=have-password1
-#?GREETER-X-50 SHOW-PROMPT TEXT="Password:"
-#?*GREETER-X-50 RESPOND TEXT="password"
-#?GREETER-X-50 AUTHENTICATION-COMPLETE USERNAME=have-password1 AUTHENTICATED=TRUE
-#?*GREETER-X-50 START-SESSION
-#?GREETER-X-50 TERMINATE SIGNAL=15
+#?*GREETER-X-0 AUTHENTICATE USERNAME=have-password1
+#?GREETER-X-0 SHOW-PROMPT TEXT="Password:"
+#?*GREETER-X-0 RESPOND TEXT="password"
+#?GREETER-X-0 AUTHENTICATION-COMPLETE USERNAME=have-password1 AUTHENTICATED=TRUE
+#?*GREETER-X-0 START-SESSION
+#?GREETER-X-0 TERMINATE SIGNAL=15
# Session starts
-#?SESSION-X-50 START USER=have-password1
-#?XSERVER-50 ACCEPT-CONNECT
-#?SESSION-X-50 CONNECT-XSERVER
+#?SESSION-X-0 START USER=have-password1
+#?XSERVER-0 ACCEPT-CONNECT
+#?SESSION-X-0 CONNECT-XSERVER
# Cleanup
#?*STOP-DAEMON
-#?SESSION-X-50 TERMINATE SIGNAL=15
-#?XSERVER-50 TERMINATE SIGNAL=15
+#?SESSION-X-0 TERMINATE SIGNAL=15
+#?XSERVER-0 TERMINATE SIGNAL=15
#?RUNNER DAEMON-EXIT STATUS=0
[test-runner-config]
disable-accounts-service=true
-[LightDM]
-minimum-display-number=50
-
[SeatDefaults]
autologin-user=have-password1
#?RUNNER DAEMON-START
# X server starts
-#?XSERVER-50 START
-#?XSERVER-50 INDICATE-READY
+#?XSERVER-0 START
+#?XSERVER-0 INDICATE-READY
# LightDM connects to X server
-#?XSERVER-50 ACCEPT-CONNECT
+#?XSERVER-0 ACCEPT-CONNECT
# Session starts
-#?SESSION-X-50 START USER=have-password1
-#?XSERVER-50 ACCEPT-CONNECT
-#?SESSION-X-50 CONNECT-XSERVER
+#?SESSION-X-0 START USER=have-password1
+#?XSERVER-0 ACCEPT-CONNECT
+#?SESSION-X-0 CONNECT-XSERVER
# Cleanup
#?*STOP-DAEMON
-#?SESSION-X-50 TERMINATE SIGNAL=15
-#?XSERVER-50 TERMINATE SIGNAL=15
+#?SESSION-X-0 TERMINATE SIGNAL=15
+#?XSERVER-0 TERMINATE SIGNAL=15
#?RUNNER DAEMON-EXIT STATUS=0
disable-console-kit=true
disable-login1=true
-[LightDM]
-minimum-display-number=50
-
[SeatDefaults]
autologin-user=have-password1
#?RUNNER DAEMON-START
# X server starts
-#?XSERVER-50 START
-#?XSERVER-50 INDICATE-READY
+#?XSERVER-0 START
+#?XSERVER-0 INDICATE-READY
# LightDM connects to X server
-#?XSERVER-50 ACCEPT-CONNECT
+#?XSERVER-0 ACCEPT-CONNECT
# Session starts
-#?SESSION-X-50 START USER=have-password1
-#?XSERVER-50 ACCEPT-CONNECT
-#?SESSION-X-50 CONNECT-XSERVER
+#?SESSION-X-0 START USER=have-password1
+#?XSERVER-0 ACCEPT-CONNECT
+#?SESSION-X-0 CONNECT-XSERVER
# Cleanup
#?*STOP-DAEMON
-#?SESSION-X-50 TERMINATE SIGNAL=15
-#?XSERVER-50 TERMINATE SIGNAL=15
+#?SESSION-X-0 TERMINATE SIGNAL=15
+#?XSERVER-0 TERMINATE SIGNAL=15
#?RUNNER DAEMON-EXIT STATUS=0
[test-runner-config]
disable-console-kit=true
-[LightDM]
-minimum-display-number=50
-
[SeatDefaults]
autologin-user=have-password1
#?RUNNER DAEMON-START
# X server starts
-#?XSERVER-50 START
-#?XSERVER-50 INDICATE-READY
+#?XSERVER-0 START
+#?XSERVER-0 INDICATE-READY
# LightDM connects to X server
-#?XSERVER-50 ACCEPT-CONNECT
+#?XSERVER-0 ACCEPT-CONNECT
# Session starts
-#?SESSION-X-50 START USER=have-password1
-#?XSERVER-50 ACCEPT-CONNECT
-#?SESSION-X-50 CONNECT-XSERVER
+#?SESSION-X-0 START USER=have-password1
+#?XSERVER-0 ACCEPT-CONNECT
+#?SESSION-X-0 CONNECT-XSERVER
# Cleanup
#?*STOP-DAEMON
-#?SESSION-X-50 TERMINATE SIGNAL=15
-#?XSERVER-50 TERMINATE SIGNAL=15
+#?SESSION-X-0 TERMINATE SIGNAL=15
+#?XSERVER-0 TERMINATE SIGNAL=15
#?RUNNER DAEMON-EXIT STATUS=0
# Check handles user that has no keyboard layout
#
-[LightDM]
-minimum-display-number=50
-
#?RUNNER DAEMON-START
# X server starts
-#?XSERVER-50 START
-#?XSERVER-50 INDICATE-READY
+#?XSERVER-0 START
+#?XSERVER-0 INDICATE-READY
# LightDM connects to X server
-#?XSERVER-50 ACCEPT-CONNECT
+#?XSERVER-0 ACCEPT-CONNECT
# Greeter starts
-#?GREETER-X-50 START
-#?XSERVER-50 ACCEPT-CONNECT
-#?GREETER-X-50 CONNECT-XSERVER
-#?GREETER-X-50 CONNECT-TO-DAEMON
-#?GREETER-X-50 CONNECTED-TO-DAEMON
+#?GREETER-X-0 START
+#?XSERVER-0 ACCEPT-CONNECT
+#?GREETER-X-0 CONNECT-XSERVER
+#?GREETER-X-0 CONNECT-TO-DAEMON
+#?GREETER-X-0 CONNECTED-TO-DAEMON
# Correct layout is found
-#?*GREETER-X-50 LOG-LAYOUT USERNAME=have-password1
-#?GREETER-X-50 LOG-LAYOUT USERNAME=have-password1 LAYOUT=''
+#?*GREETER-X-0 LOG-LAYOUT USERNAME=have-password1
+#?GREETER-X-0 LOG-LAYOUT USERNAME=have-password1 LAYOUT=''
# Cleanup
#?*STOP-DAEMON
-#?GREETER-X-50 TERMINATE SIGNAL=15
-#?XSERVER-50 TERMINATE SIGNAL=15
+#?GREETER-X-0 TERMINATE SIGNAL=15
+#?XSERVER-0 TERMINATE SIGNAL=15
#?RUNNER DAEMON-EXIT STATUS=0
# Check handles user that has no language set
#
-[LightDM]
-minimum-display-number=50
-
#?RUNNER DAEMON-START
# X server starts
-#?XSERVER-50 START
-#?XSERVER-50 INDICATE-READY
+#?XSERVER-0 START
+#?XSERVER-0 INDICATE-READY
# LightDM connects to X server
-#?XSERVER-50 ACCEPT-CONNECT
+#?XSERVER-0 ACCEPT-CONNECT
# Greeter starts
-#?GREETER-X-50 START
-#?XSERVER-50 ACCEPT-CONNECT
-#?GREETER-X-50 CONNECT-XSERVER
-#?GREETER-X-50 CONNECT-TO-DAEMON
-#?GREETER-X-50 CONNECTED-TO-DAEMON
+#?GREETER-X-0 START
+#?XSERVER-0 ACCEPT-CONNECT
+#?GREETER-X-0 CONNECT-XSERVER
+#?GREETER-X-0 CONNECT-TO-DAEMON
+#?GREETER-X-0 CONNECTED-TO-DAEMON
# Correct layout is found
-#?*GREETER-X-50 LOG-LANGUAGE USERNAME=have-password1
-#?GREETER-X-50 LOG-LANGUAGE USERNAME=have-password1 LANGUAGE=
+#?*GREETER-X-0 LOG-LANGUAGE USERNAME=have-password1
+#?GREETER-X-0 LOG-LANGUAGE USERNAME=have-password1 LANGUAGE=
# Cleanup
#?*STOP-DAEMON
-#?GREETER-X-50 TERMINATE SIGNAL=15
-#?XSERVER-50 TERMINATE SIGNAL=15
+#?GREETER-X-0 TERMINATE SIGNAL=15
+#?XSERVER-0 TERMINATE SIGNAL=15
#?RUNNER DAEMON-EXIT STATUS=0
[test-runner-config]
disable-login1=true
-[LightDM]
-minimum-display-number=50
-
[SeatDefaults]
autologin-user=have-password1
#?RUNNER DAEMON-START
# X server starts
-#?XSERVER-50 START
-#?XSERVER-50 INDICATE-READY
+#?XSERVER-0 START
+#?XSERVER-0 INDICATE-READY
# LightDM connects to X server
-#?XSERVER-50 ACCEPT-CONNECT
+#?XSERVER-0 ACCEPT-CONNECT
# Session starts
-#?SESSION-X-50 START USER=have-password1
-#?XSERVER-50 ACCEPT-CONNECT
-#?SESSION-X-50 CONNECT-XSERVER
+#?SESSION-X-0 START USER=have-password1
+#?XSERVER-0 ACCEPT-CONNECT
+#?SESSION-X-0 CONNECT-XSERVER
# Cleanup
#?*STOP-DAEMON
-#?SESSION-X-50 TERMINATE SIGNAL=15
-#?XSERVER-50 TERMINATE SIGNAL=15
+#?SESSION-X-0 TERMINATE SIGNAL=15
+#?XSERVER-0 TERMINATE SIGNAL=15
#?RUNNER DAEMON-EXIT STATUS=0
# Use a greeter so its file descriptors are around at the time the session starts.
#
-[LightDM]
-minimum-display-number=50
-
#?RUNNER DAEMON-START
# X server starts
-#?XSERVER-50 START
-#?XSERVER-50 INDICATE-READY
+#?XSERVER-0 START
+#?XSERVER-0 INDICATE-READY
# LightDM connects to X server
-#?XSERVER-50 ACCEPT-CONNECT
+#?XSERVER-0 ACCEPT-CONNECT
# Greeter starts
-#?GREETER-X-50 START
-#?XSERVER-50 ACCEPT-CONNECT
-#?GREETER-X-50 CONNECT-XSERVER
-#?GREETER-X-50 CONNECT-TO-DAEMON
-#?GREETER-X-50 CONNECTED-TO-DAEMON
+#?GREETER-X-0 START
+#?XSERVER-0 ACCEPT-CONNECT
+#?GREETER-X-0 CONNECT-XSERVER
+#?GREETER-X-0 CONNECT-TO-DAEMON
+#?GREETER-X-0 CONNECTED-TO-DAEMON
# Log in
-#?*GREETER-X-50 AUTHENTICATE USERNAME=have-password1
-#?GREETER-X-50 SHOW-PROMPT TEXT="Password:"
-#?*GREETER-X-50 RESPOND TEXT="password"
-#?GREETER-X-50 AUTHENTICATION-COMPLETE USERNAME=have-password1 AUTHENTICATED=TRUE
-#?*GREETER-X-50 START-SESSION
-#?GREETER-X-50 TERMINATE SIGNAL=15
+#?*GREETER-X-0 AUTHENTICATE USERNAME=have-password1
+#?GREETER-X-0 SHOW-PROMPT TEXT="Password:"
+#?*GREETER-X-0 RESPOND TEXT="password"
+#?GREETER-X-0 AUTHENTICATION-COMPLETE USERNAME=have-password1 AUTHENTICATED=TRUE
+#?*GREETER-X-0 START-SESSION
+#?GREETER-X-0 TERMINATE SIGNAL=15
# Session starts
-#?SESSION-X-50 START USER=have-password1
-#?XSERVER-50 ACCEPT-CONNECT
-#?SESSION-X-50 CONNECT-XSERVER
+#?SESSION-X-0 START USER=have-password1
+#?XSERVER-0 ACCEPT-CONNECT
+#?SESSION-X-0 CONNECT-XSERVER
# Check file descriptors
-#?*SESSION-X-50 LIST-UNKNOWN-FILE-DESCRIPTORS
-#?SESSION-X-50 LIST-UNKNOWN-FILE-DESCRIPTORS FDS=
+#?*SESSION-X-0 LIST-UNKNOWN-FILE-DESCRIPTORS
+#?SESSION-X-0 LIST-UNKNOWN-FILE-DESCRIPTORS FDS=
# Cleanup
#?*STOP-DAEMON
-#?SESSION-X-50 TERMINATE SIGNAL=15
-#?XSERVER-50 TERMINATE SIGNAL=15
+#?SESSION-X-0 TERMINATE SIGNAL=15
+#?XSERVER-0 TERMINATE SIGNAL=15
#?RUNNER DAEMON-EXIT STATUS=0
# Check we handle conversations during each PAM method
#
-[LightDM]
-minimum-display-number=50
-
[SeatDefaults]
autologin-user=log-pam
#?RUNNER DAEMON-START
# X server starts
-#?XSERVER-50 START
-#?XSERVER-50 INDICATE-READY
+#?XSERVER-0 START
+#?XSERVER-0 INDICATE-READY
# LightDM connects to X server
-#?XSERVER-50 ACCEPT-CONNECT
+#?XSERVER-0 ACCEPT-CONNECT
# Session starts
-#?SESSION-X-50 START USER=log-pam
-#?XSERVER-50 ACCEPT-CONNECT
-#?SESSION-X-50 CONNECT-XSERVER
+#?SESSION-X-0 START USER=log-pam
+#?XSERVER-0 ACCEPT-CONNECT
+#?SESSION-X-0 CONNECT-XSERVER
# Cleanup
#?*STOP-DAEMON
-#?SESSION-X-50 TERMINATE SIGNAL=15
-#?XSERVER-50 TERMINATE SIGNAL=15
+#?SESSION-X-0 TERMINATE SIGNAL=15
+#?XSERVER-0 TERMINATE SIGNAL=15
#?RUNNER DAEMON-EXIT STATUS=0
# Check Plymouth quits when X server is started. Plymouth is on an active VT so it handshakes with the X server.
#
-[LightDM]
-minimum-display-number=50
-
[test-plymouth-config]
enabled=true
has-active-vt=true
#?PLYMOUTH DEACTIVATE
# X server starts
-#?XSERVER-50 START
-#?XSERVER-50 INDICATE-READY
+#?XSERVER-0 START
+#?XSERVER-0 INDICATE-READY
# Plymouth quits but keeps image in framebuffer
#?PLYMOUTH QUIT RETAIN-SPLASH=TRUE
# LightDM connects to X server
-#?XSERVER-50 ACCEPT-CONNECT
+#?XSERVER-0 ACCEPT-CONNECT
# Greeter starts
-#?GREETER-X-50 START
-#?XSERVER-50 ACCEPT-CONNECT
-#?GREETER-X-50 CONNECT-XSERVER
-#?GREETER-X-50 CONNECT-TO-DAEMON
-#?GREETER-X-50 CONNECTED-TO-DAEMON
+#?GREETER-X-0 START
+#?XSERVER-0 ACCEPT-CONNECT
+#?GREETER-X-0 CONNECT-XSERVER
+#?GREETER-X-0 CONNECT-TO-DAEMON
+#?GREETER-X-0 CONNECTED-TO-DAEMON
# Cleanup
#?*STOP-DAEMON
-#?GREETER-X-50 TERMINATE SIGNAL=15
-#?XSERVER-50 TERMINATE SIGNAL=15
+#?GREETER-X-0 TERMINATE SIGNAL=15
+#?XSERVER-0 TERMINATE SIGNAL=15
#?RUNNER DAEMON-EXIT STATUS=0
# Check Plymouth quits when X server is started. Plymouth is on an inactive VT so it quits immediately.
#
-[LightDM]
-minimum-display-number=50
-
[test-plymouth-config]
enabled=true
active=true
#?PLYMOUTH PING ACTIVE=TRUE
#?PLYMOUTH HAS-ACTIVE-VT=FALSE
#?PLYMOUTH QUIT RETAIN-SPLASH=FALSE
-#?XSERVER-50 START
-#?XSERVER-50 INDICATE-READY
+#?XSERVER-0 START
+#?XSERVER-0 INDICATE-READY
# LightDM connects to X server
-#?XSERVER-50 ACCEPT-CONNECT
+#?XSERVER-0 ACCEPT-CONNECT
# Greeter starts
-#?GREETER-X-50 START
-#?XSERVER-50 ACCEPT-CONNECT
-#?GREETER-X-50 CONNECT-XSERVER
-#?GREETER-X-50 CONNECT-TO-DAEMON
-#?GREETER-X-50 CONNECTED-TO-DAEMON
+#?GREETER-X-0 START
+#?XSERVER-0 ACCEPT-CONNECT
+#?GREETER-X-0 CONNECT-XSERVER
+#?GREETER-X-0 CONNECT-TO-DAEMON
+#?GREETER-X-0 CONNECTED-TO-DAEMON
# Cleanup
#?*STOP-DAEMON
-#?GREETER-X-50 TERMINATE SIGNAL=15
-#?XSERVER-50 TERMINATE SIGNAL=15
+#?GREETER-X-0 TERMINATE SIGNAL=15
+#?XSERVER-0 TERMINATE SIGNAL=15
#?RUNNER DAEMON-EXIT STATUS=0
[LightDM]
start-default-seat=false
-minimum-display-number=50
[test-plymouth-config]
enabled=true
[test-runner-config]
disable-console-kit=true
-[LightDM]
-minimum-display-number=50
-
#?RUNNER DAEMON-START
# X server starts
-#?XSERVER-50 START
-#?XSERVER-50 INDICATE-READY
+#?XSERVER-0 START
+#?XSERVER-0 INDICATE-READY
# LightDM connects to X server
-#?XSERVER-50 ACCEPT-CONNECT
+#?XSERVER-0 ACCEPT-CONNECT
# Greeter starts
-#?GREETER-X-50 START
-#?XSERVER-50 ACCEPT-CONNECT
-#?GREETER-X-50 CONNECT-XSERVER
-#?GREETER-X-50 CONNECT-TO-DAEMON
-#?GREETER-X-50 CONNECTED-TO-DAEMON
+#?GREETER-X-0 START
+#?XSERVER-0 ACCEPT-CONNECT
+#?GREETER-X-0 CONNECT-XSERVER
+#?GREETER-X-0 CONNECT-TO-DAEMON
+#?GREETER-X-0 CONNECTED-TO-DAEMON
# See if can suspend
-#?*GREETER-X-50 GET-CAN-SUSPEND
+#?*GREETER-X-0 GET-CAN-SUSPEND
#?LOGIN1 CAN-SUSPEND
-#?GREETER-X-50 CAN-SUSPEND ALLOWED=TRUE
+#?GREETER-X-0 CAN-SUSPEND ALLOWED=TRUE
# Suspend
-#?*GREETER-X-50 SUSPEND
+#?*GREETER-X-0 SUSPEND
#?LOGIN1 SUSPEND
# See if can hibernate
-#?*GREETER-X-50 GET-CAN-HIBERNATE
+#?*GREETER-X-0 GET-CAN-HIBERNATE
#?LOGIN1 CAN-HIBERNATE
-#?GREETER-X-50 CAN-HIBERNATE ALLOWED=TRUE
+#?GREETER-X-0 CAN-HIBERNATE ALLOWED=TRUE
# Hibernate
-#?*GREETER-X-50 HIBERNATE
+#?*GREETER-X-0 HIBERNATE
#?LOGIN1 HIBERNATE
# See if can restart
-#?*GREETER-X-50 GET-CAN-RESTART
+#?*GREETER-X-0 GET-CAN-RESTART
#?LOGIN1 CAN-REBOOT
-#?GREETER-X-50 CAN-RESTART ALLOWED=TRUE
+#?GREETER-X-0 CAN-RESTART ALLOWED=TRUE
# Restart
-#?*GREETER-X-50 RESTART
+#?*GREETER-X-0 RESTART
#?LOGIN1 REBOOT
# See if can shutdown
-#?*GREETER-X-50 GET-CAN-SHUTDOWN
+#?*GREETER-X-0 GET-CAN-SHUTDOWN
#?LOGIN1 CAN-POWER-OFF
-#?GREETER-X-50 CAN-SHUTDOWN ALLOWED=TRUE
+#?GREETER-X-0 CAN-SHUTDOWN ALLOWED=TRUE
# Shutdown
-#?*GREETER-X-50 SHUTDOWN
+#?*GREETER-X-0 SHUTDOWN
#?LOGIN1 POWER-OFF
# Cleanup
#?*STOP-DAEMON
-#?GREETER-X-50 TERMINATE SIGNAL=15
-#?XSERVER-50 TERMINATE SIGNAL=15
+#?GREETER-X-0 TERMINATE SIGNAL=15
+#?XSERVER-0 TERMINATE SIGNAL=15
#?RUNNER DAEMON-EXIT STATUS=0
[test-runner-config]
disable-login1=true
-[LightDM]
-minimum-display-number=50
-
#?RUNNER DAEMON-START
# X server starts
-#?XSERVER-50 START
-#?XSERVER-50 INDICATE-READY
+#?XSERVER-0 START
+#?XSERVER-0 INDICATE-READY
# LightDM connects to X server
-#?XSERVER-50 ACCEPT-CONNECT
+#?XSERVER-0 ACCEPT-CONNECT
# Greeter starts
-#?GREETER-X-50 START
-#?XSERVER-50 ACCEPT-CONNECT
-#?GREETER-X-50 CONNECT-XSERVER
-#?GREETER-X-50 CONNECT-TO-DAEMON
-#?GREETER-X-50 CONNECTED-TO-DAEMON
+#?GREETER-X-0 START
+#?XSERVER-0 ACCEPT-CONNECT
+#?GREETER-X-0 CONNECT-XSERVER
+#?GREETER-X-0 CONNECT-TO-DAEMON
+#?GREETER-X-0 CONNECTED-TO-DAEMON
# See if can suspend
-#?*GREETER-X-50 GET-CAN-SUSPEND
+#?*GREETER-X-0 GET-CAN-SUSPEND
#?UPOWER SUSPEND-ALLOWED
-#?GREETER-X-50 CAN-SUSPEND ALLOWED=TRUE
+#?GREETER-X-0 CAN-SUSPEND ALLOWED=TRUE
# Suspend
-#?*GREETER-X-50 SUSPEND
+#?*GREETER-X-0 SUSPEND
#?UPOWER SUSPEND
# See if can hibernate
-#?*GREETER-X-50 GET-CAN-HIBERNATE
+#?*GREETER-X-0 GET-CAN-HIBERNATE
#?UPOWER HIBERNATE-ALLOWED
-#?GREETER-X-50 CAN-HIBERNATE ALLOWED=TRUE
+#?GREETER-X-0 CAN-HIBERNATE ALLOWED=TRUE
# Hibernate
-#?*GREETER-X-50 HIBERNATE
+#?*GREETER-X-0 HIBERNATE
#?UPOWER HIBERNATE
# See if can restart
-#?*GREETER-X-50 GET-CAN-RESTART
+#?*GREETER-X-0 GET-CAN-RESTART
#?CONSOLE-KIT CAN-RESTART
-#?GREETER-X-50 CAN-RESTART ALLOWED=TRUE
+#?GREETER-X-0 CAN-RESTART ALLOWED=TRUE
# Restart
-#?*GREETER-X-50 RESTART
+#?*GREETER-X-0 RESTART
#?CONSOLE-KIT RESTART
# See if can shutdown
-#?*GREETER-X-50 GET-CAN-SHUTDOWN
+#?*GREETER-X-0 GET-CAN-SHUTDOWN
#?CONSOLE-KIT CAN-STOP
-#?GREETER-X-50 CAN-SHUTDOWN ALLOWED=TRUE
+#?GREETER-X-0 CAN-SHUTDOWN ALLOWED=TRUE
# Shutdown
-#?*GREETER-X-50 SHUTDOWN
+#?*GREETER-X-0 SHUTDOWN
#?CONSOLE-KIT STOP
# Cleanup
#?*STOP-DAEMON
-#?GREETER-X-50 TERMINATE SIGNAL=15
-#?XSERVER-50 TERMINATE SIGNAL=15
+#?GREETER-X-0 TERMINATE SIGNAL=15
+#?XSERVER-0 TERMINATE SIGNAL=15
#?RUNNER DAEMON-EXIT STATUS=0
disable-console-kit=true
disable-login1=true
-[LightDM]
-minimum-display-number=50
-
#?RUNNER DAEMON-START
# X server starts
-#?XSERVER-50 START
-#?XSERVER-50 INDICATE-READY
+#?XSERVER-0 START
+#?XSERVER-0 INDICATE-READY
# LightDM connects to X server
-#?XSERVER-50 ACCEPT-CONNECT
+#?XSERVER-0 ACCEPT-CONNECT
# Greeter starts
-#?GREETER-X-50 START
-#?XSERVER-50 ACCEPT-CONNECT
-#?GREETER-X-50 CONNECT-XSERVER
-#?GREETER-X-50 CONNECT-TO-DAEMON
-#?GREETER-X-50 CONNECTED-TO-DAEMON
+#?GREETER-X-0 START
+#?XSERVER-0 ACCEPT-CONNECT
+#?GREETER-X-0 CONNECT-XSERVER
+#?GREETER-X-0 CONNECT-TO-DAEMON
+#?GREETER-X-0 CONNECTED-TO-DAEMON
# See if can suspend
-#?*GREETER-X-50 GET-CAN-SUSPEND
-#?GREETER-X-50 CAN-SUSPEND ALLOWED=FALSE
+#?*GREETER-X-0 GET-CAN-SUSPEND
+#?GREETER-X-0 CAN-SUSPEND ALLOWED=FALSE
# Suspend
-#?*GREETER-X-50 SUSPEND
-#?GREETER-X-50 FAIL-SUSPEND
+#?*GREETER-X-0 SUSPEND
+#?GREETER-X-0 FAIL-SUSPEND
# See if can hibernate
-#?*GREETER-X-50 GET-CAN-HIBERNATE
-#?GREETER-X-50 CAN-HIBERNATE ALLOWED=FALSE
+#?*GREETER-X-0 GET-CAN-HIBERNATE
+#?GREETER-X-0 CAN-HIBERNATE ALLOWED=FALSE
# Hibernate
-#?*GREETER-X-50 HIBERNATE
-#?GREETER-X-50 FAIL-HIBERNATE
+#?*GREETER-X-0 HIBERNATE
+#?GREETER-X-0 FAIL-HIBERNATE
# See if can restart
-#?*GREETER-X-50 GET-CAN-RESTART
-#?GREETER-X-50 CAN-RESTART ALLOWED=FALSE
+#?*GREETER-X-0 GET-CAN-RESTART
+#?GREETER-X-0 CAN-RESTART ALLOWED=FALSE
# Restart
-#?*GREETER-X-50 RESTART
-#?GREETER-X-50 FAIL-RESTART
+#?*GREETER-X-0 RESTART
+#?GREETER-X-0 FAIL-RESTART
# See if can shutdown
-#?*GREETER-X-50 GET-CAN-SHUTDOWN
-#?GREETER-X-50 CAN-SHUTDOWN ALLOWED=FALSE
+#?*GREETER-X-0 GET-CAN-SHUTDOWN
+#?GREETER-X-0 CAN-SHUTDOWN ALLOWED=FALSE
# Shutdown
-#?*GREETER-X-50 SHUTDOWN
-#?GREETER-X-50 FAIL-SHUTDOWN
+#?*GREETER-X-0 SHUTDOWN
+#?GREETER-X-0 FAIL-SHUTDOWN
# Cleanup
#?*STOP-DAEMON
-#?GREETER-X-50 TERMINATE SIGNAL=15
-#?XSERVER-50 TERMINATE SIGNAL=15
+#?GREETER-X-0 TERMINATE SIGNAL=15
+#?XSERVER-0 TERMINATE SIGNAL=15
#?RUNNER DAEMON-EXIT STATUS=0
# Check can do power operations from the greeter
#
-[LightDM]
-minimum-display-number=50
-
#?RUNNER DAEMON-START
# X server starts
-#?XSERVER-50 START
-#?XSERVER-50 INDICATE-READY
+#?XSERVER-0 START
+#?XSERVER-0 INDICATE-READY
# LightDM connects to X server
-#?XSERVER-50 ACCEPT-CONNECT
+#?XSERVER-0 ACCEPT-CONNECT
# Greeter starts
-#?GREETER-X-50 START
-#?XSERVER-50 ACCEPT-CONNECT
-#?GREETER-X-50 CONNECT-XSERVER
-#?GREETER-X-50 CONNECT-TO-DAEMON
-#?GREETER-X-50 CONNECTED-TO-DAEMON
+#?GREETER-X-0 START
+#?XSERVER-0 ACCEPT-CONNECT
+#?GREETER-X-0 CONNECT-XSERVER
+#?GREETER-X-0 CONNECT-TO-DAEMON
+#?GREETER-X-0 CONNECTED-TO-DAEMON
# See if can suspend
-#?*GREETER-X-50 GET-CAN-SUSPEND
+#?*GREETER-X-0 GET-CAN-SUSPEND
#?LOGIN1 CAN-SUSPEND
-#?GREETER-X-50 CAN-SUSPEND ALLOWED=TRUE
+#?GREETER-X-0 CAN-SUSPEND ALLOWED=TRUE
# Suspend
-#?*GREETER-X-50 SUSPEND
+#?*GREETER-X-0 SUSPEND
#?LOGIN1 SUSPEND
# See if can hibernate
-#?*GREETER-X-50 GET-CAN-HIBERNATE
+#?*GREETER-X-0 GET-CAN-HIBERNATE
#?LOGIN1 CAN-HIBERNATE
-#?GREETER-X-50 CAN-HIBERNATE ALLOWED=TRUE
+#?GREETER-X-0 CAN-HIBERNATE ALLOWED=TRUE
# Hibernate
-#?*GREETER-X-50 HIBERNATE
+#?*GREETER-X-0 HIBERNATE
#?LOGIN1 HIBERNATE
# See if can restart
-#?*GREETER-X-50 GET-CAN-RESTART
+#?*GREETER-X-0 GET-CAN-RESTART
#?LOGIN1 CAN-REBOOT
-#?GREETER-X-50 CAN-RESTART ALLOWED=TRUE
+#?GREETER-X-0 CAN-RESTART ALLOWED=TRUE
# Restart
-#?*GREETER-X-50 RESTART
+#?*GREETER-X-0 RESTART
#?LOGIN1 REBOOT
# See if can shutdown
-#?*GREETER-X-50 GET-CAN-SHUTDOWN
+#?*GREETER-X-0 GET-CAN-SHUTDOWN
#?LOGIN1 CAN-POWER-OFF
-#?GREETER-X-50 CAN-SHUTDOWN ALLOWED=TRUE
+#?GREETER-X-0 CAN-SHUTDOWN ALLOWED=TRUE
# Shutdown
-#?*GREETER-X-50 SHUTDOWN
+#?*GREETER-X-0 SHUTDOWN
#?LOGIN1 POWER-OFF
# Cleanup
#?*STOP-DAEMON
-#?GREETER-X-50 TERMINATE SIGNAL=15
-#?XSERVER-50 TERMINATE SIGNAL=15
+#?GREETER-X-0 TERMINATE SIGNAL=15
+#?XSERVER-0 TERMINATE SIGNAL=15
#?RUNNER DAEMON-EXIT STATUS=0
# Check can restart authentication
#
-[LightDM]
-minimum-display-number=50
-
#?RUNNER DAEMON-START
# X server starts
-#?XSERVER-50 START
-#?XSERVER-50 INDICATE-READY
+#?XSERVER-0 START
+#?XSERVER-0 INDICATE-READY
# LightDM connects to X server
-#?XSERVER-50 ACCEPT-CONNECT
+#?XSERVER-0 ACCEPT-CONNECT
# Greeter starts
-#?GREETER-X-50 START
-#?XSERVER-50 ACCEPT-CONNECT
-#?GREETER-X-50 CONNECT-XSERVER
-#?GREETER-X-50 CONNECT-TO-DAEMON
-#?GREETER-X-50 CONNECTED-TO-DAEMON
+#?GREETER-X-0 START
+#?XSERVER-0 ACCEPT-CONNECT
+#?GREETER-X-0 CONNECT-XSERVER
+#?GREETER-X-0 CONNECT-TO-DAEMON
+#?GREETER-X-0 CONNECTED-TO-DAEMON
# Start authentication
-#?*GREETER-X-50 AUTHENTICATE USERNAME=have-password1
-#?GREETER-X-50 SHOW-PROMPT TEXT="Password:"
+#?*GREETER-X-0 AUTHENTICATE USERNAME=have-password1
+#?GREETER-X-0 SHOW-PROMPT TEXT="Password:"
# Restart authentication
-#?*GREETER-X-50 AUTHENTICATE USERNAME=have-password1
-#?GREETER-X-50 SHOW-PROMPT TEXT="Password:"
+#?*GREETER-X-0 AUTHENTICATE USERNAME=have-password1
+#?GREETER-X-0 SHOW-PROMPT TEXT="Password:"
# Cleanup
#?*STOP-DAEMON
-#?GREETER-X-50 TERMINATE SIGNAL=15
-#?XSERVER-50 TERMINATE SIGNAL=15
+#?GREETER-X-0 TERMINATE SIGNAL=15
+#?XSERVER-0 TERMINATE SIGNAL=15
#?RUNNER DAEMON-EXIT STATUS=0
# Check LightDM stops the display if the display setup script returns an error
#
-[LightDM]
-minimum-display-number=50
-
[SeatDefaults]
display-setup-script=test-script-hook DISPLAY-SETUP 1
#?RUNNER DAEMON-START
# One X server should start by default
-#?XSERVER-50 START
-#?XSERVER-50 INDICATE-READY
+#?XSERVER-0 START
+#?XSERVER-0 INDICATE-READY
# LightDM connects to X server
-#?XSERVER-50 ACCEPT-CONNECT
+#?XSERVER-0 ACCEPT-CONNECT
# Setup script fails
#?SCRIPT-HOOK DISPLAY-SETUP
-#?XSERVER-50 TERMINATE SIGNAL=15
+#?XSERVER-0 TERMINATE SIGNAL=15
# Cleanup
#?RUNNER DAEMON-EXIT STATUS=1
# Check LightDM stops the display if the display setup script returns an error
#
-[LightDM]
-minimum-display-number=50
-
[SeatDefaults]
greeter-setup-script=test-script-hook GREETER-SETUP 1
#?RUNNER DAEMON-START
# One X server should start by default
-#?XSERVER-50 START
-#?XSERVER-50 INDICATE-READY
+#?XSERVER-0 START
+#?XSERVER-0 INDICATE-READY
# LightDM connects to X server
-#?XSERVER-50 ACCEPT-CONNECT
+#?XSERVER-0 ACCEPT-CONNECT
# Setup script fails
#?SCRIPT-HOOK GREETER-SETUP
-#?XSERVER-50 TERMINATE SIGNAL=15
+#?XSERVER-0 TERMINATE SIGNAL=15
# Cleanup
#?RUNNER DAEMON-EXIT STATUS=1
# Check LightDM stops returns to the greeter if the session setup script fails
#
-[LightDM]
-minimum-display-number=50
-
[SeatDefaults]
session-setup-script=test-script-hook SESSION-SETUP 1
autologin-user=have-password1
#?RUNNER DAEMON-START
# One X server should start by default
-#?XSERVER-50 START
-#?XSERVER-50 INDICATE-READY
+#?XSERVER-0 START
+#?XSERVER-0 INDICATE-READY
# LightDM connects to X server
-#?XSERVER-50 ACCEPT-CONNECT
+#?XSERVER-0 ACCEPT-CONNECT
# Setup script fails
#?SCRIPT-HOOK SESSION-SETUP
# Greeter starts
-#?GREETER-X-50 START
-#?XSERVER-50 ACCEPT-CONNECT
-#?GREETER-X-50 CONNECT-XSERVER
-#?GREETER-X-50 CONNECT-TO-DAEMON
-#?GREETER-X-50 CONNECTED-TO-DAEMON
+#?GREETER-X-0 START
+#?XSERVER-0 ACCEPT-CONNECT
+#?GREETER-X-0 CONNECT-XSERVER
+#?GREETER-X-0 CONNECT-TO-DAEMON
+#?GREETER-X-0 CONNECTED-TO-DAEMON
# Cleanup
#?*STOP-DAEMON
-#?GREETER-X-50 TERMINATE SIGNAL=15
-#?XSERVER-50 TERMINATE SIGNAL=15
+#?GREETER-X-0 TERMINATE SIGNAL=15
+#?XSERVER-0 TERMINATE SIGNAL=15
#?RUNNER DAEMON-EXIT STATUS=0
# Check LightDM runs the script hooks correctly for autologin and the greeter
#
-[LightDM]
-minimum-display-number=50
-
[SeatDefaults]
display-setup-script=test-script-hook DISPLAY-SETUP
greeter-setup-script=test-script-hook GREETER-SETUP
#?RUNNER DAEMON-START
# One X server should start by default
-#?XSERVER-50 START
-#?XSERVER-50 INDICATE-READY
+#?XSERVER-0 START
+#?XSERVER-0 INDICATE-READY
# LightDM connects to X server
-#?XSERVER-50 ACCEPT-CONNECT
+#?XSERVER-0 ACCEPT-CONNECT
# Script hooks run
#?SCRIPT-HOOK DISPLAY-SETUP
#?SCRIPT-HOOK SESSION-SETUP
# Session starts
-#?SESSION-X-50 START USER=have-password1
-#?XSERVER-50 ACCEPT-CONNECT
-#?SESSION-X-50 CONNECT-XSERVER
+#?SESSION-X-0 START USER=have-password1
+#?XSERVER-0 ACCEPT-CONNECT
+#?SESSION-X-0 CONNECT-XSERVER
# Logout session
-#?*SESSION-X-50 LOGOUT
+#?*SESSION-X-0 LOGOUT
# Script hook runs
#?SCRIPT-HOOK SESSION-CLEANUP
# X server stops
-#?XSERVER-50 TERMINATE SIGNAL=15
+#?XSERVER-0 TERMINATE SIGNAL=15
# X server starts
-#?XSERVER-50 START
-#?XSERVER-50 INDICATE-READY
+#?XSERVER-0 START
+#?XSERVER-0 INDICATE-READY
# LightDM connects to X server
-#?XSERVER-50 ACCEPT-CONNECT
+#?XSERVER-0 ACCEPT-CONNECT
# Script hooks run
#?SCRIPT-HOOK DISPLAY-SETUP
#?SCRIPT-HOOK GREETER-SETUP
# Greeter starts
-#?GREETER-X-50 START
-#?XSERVER-50 ACCEPT-CONNECT
-#?GREETER-X-50 CONNECT-XSERVER
-#?GREETER-X-50 CONNECT-TO-DAEMON
-#?GREETER-X-50 CONNECTED-TO-DAEMON
+#?GREETER-X-0 START
+#?XSERVER-0 ACCEPT-CONNECT
+#?GREETER-X-0 CONNECT-XSERVER
+#?GREETER-X-0 CONNECT-TO-DAEMON
+#?GREETER-X-0 CONNECTED-TO-DAEMON
# Cleanup
#?*STOP-DAEMON
-#?GREETER-X-50 TERMINATE SIGNAL=15
-#?XSERVER-50 TERMINATE SIGNAL=15
+#?GREETER-X-0 TERMINATE SIGNAL=15
+#?XSERVER-0 TERMINATE SIGNAL=15
#?RUNNER DAEMON-EXIT STATUS=0
# Check session log is backed up and restart on second login
#
-[LightDM]
-minimum-display-number=50
-
[SeatDefaults]
autologin-user=no-password1
#?RUNNER DAEMON-START
# X server starts
-#?XSERVER-50 START
-#?XSERVER-50 INDICATE-READY
+#?XSERVER-0 START
+#?XSERVER-0 INDICATE-READY
# LightDM connects to X server
-#?XSERVER-50 ACCEPT-CONNECT
+#?XSERVER-0 ACCEPT-CONNECT
# Session starts
-#?SESSION-X-50 START USER=no-password1
-#?XSERVER-50 ACCEPT-CONNECT
-#?SESSION-X-50 CONNECT-XSERVER
+#?SESSION-X-0 START USER=no-password1
+#?XSERVER-0 ACCEPT-CONNECT
+#?SESSION-X-0 CONNECT-XSERVER
# Write to stderr and check it shows up in the log
-#?*SESSION-X-50 WRITE-STDERR TEXT=FIRST-SESSION
-#?*SESSION-X-50 READ FILE=.xsession-errors
-#?SESSION-X-50 READ FILE=.xsession-errors TEXT=FIRST-SESSION
+#?*SESSION-X-0 WRITE-STDERR TEXT=FIRST-SESSION
+#?*SESSION-X-0 READ FILE=.xsession-errors
+#?SESSION-X-0 READ FILE=.xsession-errors TEXT=FIRST-SESSION
# Restart session
-#?*SESSION-X-50 LOGOUT
-#?XSERVER-50 TERMINATE SIGNAL=15
-#?XSERVER-50 START
-#?XSERVER-50 INDICATE-READY
-#?XSERVER-50 ACCEPT-CONNECT
-#?GREETER-X-50 START
-#?XSERVER-50 ACCEPT-CONNECT
-#?GREETER-X-50 CONNECT-XSERVER
-#?GREETER-X-50 CONNECT-TO-DAEMON
-#?GREETER-X-50 CONNECTED-TO-DAEMON
-#?*GREETER-X-50 AUTHENTICATE USERNAME=no-password1
-#?GREETER-X-50 AUTHENTICATION-COMPLETE USERNAME=no-password1 AUTHENTICATED=TRUE
-#?*GREETER-X-50 START-SESSION
-#?GREETER-X-50 TERMINATE SIGNAL=15
-#?SESSION-X-50 START USER=no-password1
-#?XSERVER-50 ACCEPT-CONNECT
-#?SESSION-X-50 CONNECT-XSERVER
+#?*SESSION-X-0 LOGOUT
+#?XSERVER-0 TERMINATE SIGNAL=15
+#?XSERVER-0 START
+#?XSERVER-0 INDICATE-READY
+#?XSERVER-0 ACCEPT-CONNECT
+#?GREETER-X-0 START
+#?XSERVER-0 ACCEPT-CONNECT
+#?GREETER-X-0 CONNECT-XSERVER
+#?GREETER-X-0 CONNECT-TO-DAEMON
+#?GREETER-X-0 CONNECTED-TO-DAEMON
+#?*GREETER-X-0 AUTHENTICATE USERNAME=no-password1
+#?GREETER-X-0 AUTHENTICATION-COMPLETE USERNAME=no-password1 AUTHENTICATED=TRUE
+#?*GREETER-X-0 START-SESSION
+#?GREETER-X-0 TERMINATE SIGNAL=15
+#?SESSION-X-0 START USER=no-password1
+#?XSERVER-0 ACCEPT-CONNECT
+#?SESSION-X-0 CONNECT-XSERVER
# Write to stderr and check it shows up in the log
-#?*SESSION-X-50 WRITE-STDERR TEXT=SECOND-SESSION
-#?*SESSION-X-50 READ FILE=.xsession-errors
-#?SESSION-X-50 READ FILE=.xsession-errors TEXT=SECOND-SESSION
+#?*SESSION-X-0 WRITE-STDERR TEXT=SECOND-SESSION
+#?*SESSION-X-0 READ FILE=.xsession-errors
+#?SESSION-X-0 READ FILE=.xsession-errors TEXT=SECOND-SESSION
# Check first log is backed up
-#?*SESSION-X-50 READ FILE=.xsession-errors.old
-#?SESSION-X-50 READ FILE=.xsession-errors.old TEXT=FIRST-SESSION
+#?*SESSION-X-0 READ FILE=.xsession-errors.old
+#?SESSION-X-0 READ FILE=.xsession-errors.old TEXT=FIRST-SESSION
# Restart session
-#?*SESSION-X-50 LOGOUT
-#?XSERVER-50 TERMINATE SIGNAL=15
-#?XSERVER-50 START
-#?XSERVER-50 INDICATE-READY
-#?XSERVER-50 ACCEPT-CONNECT
-#?GREETER-X-50 START
-#?XSERVER-50 ACCEPT-CONNECT
-#?GREETER-X-50 CONNECT-XSERVER
-#?GREETER-X-50 CONNECT-TO-DAEMON
-#?GREETER-X-50 CONNECTED-TO-DAEMON
-#?*GREETER-X-50 AUTHENTICATE USERNAME=no-password1
-#?GREETER-X-50 AUTHENTICATION-COMPLETE USERNAME=no-password1 AUTHENTICATED=TRUE
-#?*GREETER-X-50 START-SESSION
-#?GREETER-X-50 TERMINATE SIGNAL=15
-#?SESSION-X-50 START USER=no-password1
-#?XSERVER-50 ACCEPT-CONNECT
-#?SESSION-X-50 CONNECT-XSERVER
+#?*SESSION-X-0 LOGOUT
+#?XSERVER-0 TERMINATE SIGNAL=15
+#?XSERVER-0 START
+#?XSERVER-0 INDICATE-READY
+#?XSERVER-0 ACCEPT-CONNECT
+#?GREETER-X-0 START
+#?XSERVER-0 ACCEPT-CONNECT
+#?GREETER-X-0 CONNECT-XSERVER
+#?GREETER-X-0 CONNECT-TO-DAEMON
+#?GREETER-X-0 CONNECTED-TO-DAEMON
+#?*GREETER-X-0 AUTHENTICATE USERNAME=no-password1
+#?GREETER-X-0 AUTHENTICATION-COMPLETE USERNAME=no-password1 AUTHENTICATED=TRUE
+#?*GREETER-X-0 START-SESSION
+#?GREETER-X-0 TERMINATE SIGNAL=15
+#?SESSION-X-0 START USER=no-password1
+#?XSERVER-0 ACCEPT-CONNECT
+#?SESSION-X-0 CONNECT-XSERVER
# Write to stderr and check it shows up in the log
-#?*SESSION-X-50 WRITE-STDERR TEXT=THIRD-SESSION
-#?*SESSION-X-50 READ FILE=.xsession-errors
-#?SESSION-X-50 READ FILE=.xsession-errors TEXT=THIRD-SESSION
+#?*SESSION-X-0 WRITE-STDERR TEXT=THIRD-SESSION
+#?*SESSION-X-0 READ FILE=.xsession-errors
+#?SESSION-X-0 READ FILE=.xsession-errors TEXT=THIRD-SESSION
# Check second log is backed up
-#?*SESSION-X-50 READ FILE=.xsession-errors.old
-#?SESSION-X-50 READ FILE=.xsession-errors.old TEXT=SECOND-SESSION
+#?*SESSION-X-0 READ FILE=.xsession-errors.old
+#?SESSION-X-0 READ FILE=.xsession-errors.old TEXT=SECOND-SESSION
# Cleanup
#?*STOP-DAEMON
-#?SESSION-X-50 TERMINATE SIGNAL=15
-#?XSERVER-50 TERMINATE SIGNAL=15
+#?SESSION-X-0 TERMINATE SIGNAL=15
+#?XSERVER-0 TERMINATE SIGNAL=15
#?RUNNER DAEMON-EXIT STATUS=0
# Check session stderr is written to ~/.xsession-errors and multiple writes are appended
#
-[LightDM]
-minimum-display-number=50
-
[SeatDefaults]
autologin-user=have-password1
#?RUNNER DAEMON-START
# X server starts
-#?XSERVER-50 START
-#?XSERVER-50 INDICATE-READY
+#?XSERVER-0 START
+#?XSERVER-0 INDICATE-READY
# LightDM connects to X server
-#?XSERVER-50 ACCEPT-CONNECT
+#?XSERVER-0 ACCEPT-CONNECT
# Session starts
-#?SESSION-X-50 START USER=have-password1
-#?XSERVER-50 ACCEPT-CONNECT
-#?SESSION-X-50 CONNECT-XSERVER
+#?SESSION-X-0 START USER=have-password1
+#?XSERVER-0 ACCEPT-CONNECT
+#?SESSION-X-0 CONNECT-XSERVER
# Write to stderr and check all text ends up in log
-#?*SESSION-X-50 WRITE-STDERR TEXT=MULTI-
-#?*SESSION-X-50 WRITE-STDERR TEXT=WRITE
-#?*SESSION-X-50 READ FILE=.xsession-errors
-#?SESSION-X-50 READ FILE=.xsession-errors TEXT=MULTI-WRITE
+#?*SESSION-X-0 WRITE-STDERR TEXT=MULTI-
+#?*SESSION-X-0 WRITE-STDERR TEXT=WRITE
+#?*SESSION-X-0 READ FILE=.xsession-errors
+#?SESSION-X-0 READ FILE=.xsession-errors TEXT=MULTI-WRITE
# Cleanup
#?*STOP-DAEMON
-#?SESSION-X-50 TERMINATE SIGNAL=15
-#?XSERVER-50 TERMINATE SIGNAL=15
+#?SESSION-X-0 TERMINATE SIGNAL=15
+#?XSERVER-0 TERMINATE SIGNAL=15
#?RUNNER DAEMON-EXIT STATUS=0
# Check session stderr is written to ~/.xsession-errors
#
-[LightDM]
-minimum-display-number=50
-
[SeatDefaults]
autologin-user=have-password1
#?RUNNER DAEMON-START
# X server starts
-#?XSERVER-50 START
-#?XSERVER-50 INDICATE-READY
+#?XSERVER-0 START
+#?XSERVER-0 INDICATE-READY
# LightDM connects to X server
-#?XSERVER-50 ACCEPT-CONNECT
+#?XSERVER-0 ACCEPT-CONNECT
# Session starts
-#?SESSION-X-50 START USER=have-password1
-#?XSERVER-50 ACCEPT-CONNECT
-#?SESSION-X-50 CONNECT-XSERVER
+#?SESSION-X-0 START USER=have-password1
+#?XSERVER-0 ACCEPT-CONNECT
+#?SESSION-X-0 CONNECT-XSERVER
# Write to stderr and check it shows up in the log
-#?*SESSION-X-50 WRITE-STDERR TEXT=THIS-SHOULD-BE-IN-XSESSION-ERRORS
-#?*SESSION-X-50 READ FILE=.xsession-errors
-#?SESSION-X-50 READ FILE=.xsession-errors TEXT=THIS-SHOULD-BE-IN-XSESSION-ERRORS
+#?*SESSION-X-0 WRITE-STDERR TEXT=THIS-SHOULD-BE-IN-XSESSION-ERRORS
+#?*SESSION-X-0 READ FILE=.xsession-errors
+#?SESSION-X-0 READ FILE=.xsession-errors TEXT=THIS-SHOULD-BE-IN-XSESSION-ERRORS
# Cleanup
#?*STOP-DAEMON
-#?SESSION-X-50 TERMINATE SIGNAL=15
-#?XSERVER-50 TERMINATE SIGNAL=15
+#?SESSION-X-0 TERMINATE SIGNAL=15
+#?XSERVER-0 TERMINATE SIGNAL=15
#?RUNNER DAEMON-EXIT STATUS=0
# Check session stdout is not written anywhere
#
-[LightDM]
-minimum-display-number=50
-
[SeatDefaults]
autologin-user=have-password1
#?RUNNER DAEMON-START
# X server starts
-#?XSERVER-50 START
-#?XSERVER-50 INDICATE-READY
+#?XSERVER-0 START
+#?XSERVER-0 INDICATE-READY
# LightDM connects to X server
-#?XSERVER-50 ACCEPT-CONNECT
+#?XSERVER-0 ACCEPT-CONNECT
# Session starts
-#?SESSION-X-50 START USER=have-password1
-#?XSERVER-50 ACCEPT-CONNECT
-#?SESSION-X-50 CONNECT-XSERVER
+#?SESSION-X-0 START USER=have-password1
+#?XSERVER-0 ACCEPT-CONNECT
+#?SESSION-X-0 CONNECT-XSERVER
# Write to stdout and check it doesn't end up in the session error log (you should also manually check when running the test if it is printed)
-#?*SESSION-X-50 WRITE-STDOUT TEXT=YOU-SHOULD-NOT-SEE-THIS
-#?*SESSION-X-50 READ FILE=.xsession-errors
-#?SESSION-X-50 READ FILE=.xsession-errors TEXT=
+#?*SESSION-X-0 WRITE-STDOUT TEXT=YOU-SHOULD-NOT-SEE-THIS
+#?*SESSION-X-0 READ FILE=.xsession-errors
+#?SESSION-X-0 READ FILE=.xsession-errors TEXT=
# Cleanup
#?*STOP-DAEMON
-#?SESSION-X-50 TERMINATE SIGNAL=15
-#?XSERVER-50 TERMINATE SIGNAL=15
+#?SESSION-X-0 TERMINATE SIGNAL=15
+#?XSERVER-0 TERMINATE SIGNAL=15
#?RUNNER DAEMON-EXIT STATUS=0
# Use D-Bus interface to show the greeter, then start a new session and log out of it
#
-[LightDM]
-minimum-display-number=50
-
[SeatDefaults]
autologin-user=have-password1
#?RUNNER DAEMON-START
# X server starts
-#?XSERVER-50 START
-#?XSERVER-50 INDICATE-READY
-#?XSERVER-50 ACCEPT-CONNECT
+#?XSERVER-0 START
+#?XSERVER-0 INDICATE-READY
+#?XSERVER-0 ACCEPT-CONNECT
# Session starts
-#?SESSION-X-50 START USER=have-password1
-#?XSERVER-50 ACCEPT-CONNECT
-#?SESSION-X-50 CONNECT-XSERVER
+#?SESSION-X-0 START USER=have-password1
+#?XSERVER-0 ACCEPT-CONNECT
+#?SESSION-X-0 CONNECT-XSERVER
# Show the greeter
#?*SWITCH-TO-GREETER
#?RUNNER SWITCH-TO-GREETER
# New X server starts
-#?XSERVER-51 START
-#?XSERVER-51 INDICATE-READY
+#?XSERVER-1 START
+#?XSERVER-1 INDICATE-READY
# LightDM connects to X server
-#?XSERVER-51 ACCEPT-CONNECT
+#?XSERVER-1 ACCEPT-CONNECT
# Greeter starts
-#?GREETER-X-51 START
-#?XSERVER-51 ACCEPT-CONNECT
-#?GREETER-X-51 CONNECT-XSERVER
-#?GREETER-X-51 CONNECT-TO-DAEMON
-#?GREETER-X-51 CONNECTED-TO-DAEMON
+#?GREETER-X-1 START
+#?XSERVER-1 ACCEPT-CONNECT
+#?GREETER-X-1 CONNECT-XSERVER
+#?GREETER-X-1 CONNECT-TO-DAEMON
+#?GREETER-X-1 CONNECTED-TO-DAEMON
# Login
-#?*GREETER-X-51 AUTHENTICATE USERNAME=have-password2
-#?GREETER-X-51 SHOW-PROMPT TEXT="Password:"
-#?*GREETER-X-51 RESPOND TEXT="password"
-#?GREETER-X-51 AUTHENTICATION-COMPLETE USERNAME=have-password2 AUTHENTICATED=TRUE
-#?*GREETER-X-51 START-SESSION
-#?GREETER-X-51 TERMINATE SIGNAL=15
+#?*GREETER-X-1 AUTHENTICATE USERNAME=have-password2
+#?GREETER-X-1 SHOW-PROMPT TEXT="Password:"
+#?*GREETER-X-1 RESPOND TEXT="password"
+#?GREETER-X-1 AUTHENTICATION-COMPLETE USERNAME=have-password2 AUTHENTICATED=TRUE
+#?*GREETER-X-1 START-SESSION
+#?GREETER-X-1 TERMINATE SIGNAL=15
# New session starts
-#?SESSION-X-51 START USER=have-password2
-#?XSERVER-51 ACCEPT-CONNECT
-#?SESSION-X-51 CONNECT-XSERVER
+#?SESSION-X-1 START USER=have-password2
+#?XSERVER-1 ACCEPT-CONNECT
+#?SESSION-X-1 CONNECT-XSERVER
# Logout of new session
-#?*SESSION-X-51 LOGOUT
-#?XSERVER-51 TERMINATE SIGNAL=15
+#?*SESSION-X-1 LOGOUT
+#?XSERVER-1 TERMINATE SIGNAL=15
# X server starts
-#?XSERVER-51 START
-#?XSERVER-51 INDICATE-READY
-#?XSERVER-51 ACCEPT-CONNECT
+#?XSERVER-1 START
+#?XSERVER-1 INDICATE-READY
+#?XSERVER-1 ACCEPT-CONNECT
# Greeter starts
-#?GREETER-X-51 START
-#?XSERVER-51 ACCEPT-CONNECT
-#?GREETER-X-51 CONNECT-XSERVER
-#?GREETER-X-51 CONNECT-TO-DAEMON
-#?GREETER-X-51 CONNECTED-TO-DAEMON
+#?GREETER-X-1 START
+#?XSERVER-1 ACCEPT-CONNECT
+#?GREETER-X-1 CONNECT-XSERVER
+#?GREETER-X-1 CONNECT-TO-DAEMON
+#?GREETER-X-1 CONNECTED-TO-DAEMON
# Cleanup
#?*STOP-DAEMON
-#?SESSION-X-50 TERMINATE SIGNAL=15
-#?XSERVER-50 TERMINATE SIGNAL=15
-#?GREETER-X-51 TERMINATE SIGNAL=15
-#?XSERVER-51 TERMINATE SIGNAL=15
+#?SESSION-X-0 TERMINATE SIGNAL=15
+#?XSERVER-0 TERMINATE SIGNAL=15
+#?GREETER-X-1 TERMINATE SIGNAL=15
+#?XSERVER-1 TERMINATE SIGNAL=15
#?RUNNER DAEMON-EXIT STATUS=0
# Use D-Bus interface to show the greeter, then start a new session, switch to the old one and log out
#
-[LightDM]
-minimum-display-number=50
-
[SeatDefaults]
autologin-user=have-password1
#?RUNNER DAEMON-START
# X server starts
-#?XSERVER-50 START
-#?XSERVER-50 INDICATE-READY
-#?XSERVER-50 ACCEPT-CONNECT
+#?XSERVER-0 START
+#?XSERVER-0 INDICATE-READY
+#?XSERVER-0 ACCEPT-CONNECT
# Session starts
-#?SESSION-X-50 START USER=have-password1
-#?XSERVER-50 ACCEPT-CONNECT
-#?SESSION-X-50 CONNECT-XSERVER
+#?SESSION-X-0 START USER=have-password1
+#?XSERVER-0 ACCEPT-CONNECT
+#?SESSION-X-0 CONNECT-XSERVER
# Show the greeter
#?*SWITCH-TO-GREETER
#?RUNNER SWITCH-TO-GREETER
# New X server starts
-#?XSERVER-51 START
-#?XSERVER-51 INDICATE-READY
+#?XSERVER-1 START
+#?XSERVER-1 INDICATE-READY
# LightDM connects to X server
-#?XSERVER-51 ACCEPT-CONNECT
+#?XSERVER-1 ACCEPT-CONNECT
# Greeter starts
-#?GREETER-X-51 START
-#?XSERVER-51 ACCEPT-CONNECT
-#?GREETER-X-51 CONNECT-XSERVER
-#?GREETER-X-51 CONNECT-TO-DAEMON
-#?GREETER-X-51 CONNECTED-TO-DAEMON
+#?GREETER-X-1 START
+#?XSERVER-1 ACCEPT-CONNECT
+#?GREETER-X-1 CONNECT-XSERVER
+#?GREETER-X-1 CONNECT-TO-DAEMON
+#?GREETER-X-1 CONNECTED-TO-DAEMON
# Login
-#?*GREETER-X-51 AUTHENTICATE USERNAME=have-password2
-#?GREETER-X-51 SHOW-PROMPT TEXT="Password:"
-#?*GREETER-X-51 RESPOND TEXT="password"
-#?GREETER-X-51 AUTHENTICATION-COMPLETE USERNAME=have-password2 AUTHENTICATED=TRUE
-#?*GREETER-X-51 START-SESSION
-#?GREETER-X-51 TERMINATE SIGNAL=15
+#?*GREETER-X-1 AUTHENTICATE USERNAME=have-password2
+#?GREETER-X-1 SHOW-PROMPT TEXT="Password:"
+#?*GREETER-X-1 RESPOND TEXT="password"
+#?GREETER-X-1 AUTHENTICATION-COMPLETE USERNAME=have-password2 AUTHENTICATED=TRUE
+#?*GREETER-X-1 START-SESSION
+#?GREETER-X-1 TERMINATE SIGNAL=15
# New session starts
-#?SESSION-X-51 START USER=have-password2
-#?XSERVER-51 ACCEPT-CONNECT
-#?SESSION-X-51 CONNECT-XSERVER
+#?SESSION-X-1 START USER=have-password2
+#?XSERVER-1 ACCEPT-CONNECT
+#?SESSION-X-1 CONNECT-XSERVER
# Switch to old session
#?*SWITCH-TO-USER USERNAME=have-password1
#?RUNNER SWITCH-TO-USER USERNAME=have-password1
# Logout of old session
-#?*SESSION-X-50 LOGOUT
-#?XSERVER-50 TERMINATE SIGNAL=15
+#?*SESSION-X-0 LOGOUT
+#?XSERVER-0 TERMINATE SIGNAL=15
# X server starts
-#?XSERVER-50 START
-#?XSERVER-50 INDICATE-READY
-#?XSERVER-50 ACCEPT-CONNECT
+#?XSERVER-0 START
+#?XSERVER-0 INDICATE-READY
+#?XSERVER-0 ACCEPT-CONNECT
# Greeter starts
-#?GREETER-X-50 START
-#?XSERVER-50 ACCEPT-CONNECT
-#?GREETER-X-50 CONNECT-XSERVER
-#?GREETER-X-50 CONNECT-TO-DAEMON
-#?GREETER-X-50 CONNECTED-TO-DAEMON
+#?GREETER-X-0 START
+#?XSERVER-0 ACCEPT-CONNECT
+#?GREETER-X-0 CONNECT-XSERVER
+#?GREETER-X-0 CONNECT-TO-DAEMON
+#?GREETER-X-0 CONNECTED-TO-DAEMON
# Cleanup
#?*STOP-DAEMON
-#?GREETER-X-50 TERMINATE SIGNAL=15
-#?XSERVER-50 TERMINATE SIGNAL=15
-#?SESSION-X-51 TERMINATE SIGNAL=15
-#?XSERVER-51 TERMINATE SIGNAL=15
+#?GREETER-X-0 TERMINATE SIGNAL=15
+#?XSERVER-0 TERMINATE SIGNAL=15
+#?SESSION-X-1 TERMINATE SIGNAL=15
+#?XSERVER-1 TERMINATE SIGNAL=15
#?RUNNER DAEMON-EXIT STATUS=0
# Use D-Bus interface to show the greeter, then start a new session
#
-[LightDM]
-minimum-display-number=50
-
[SeatDefaults]
autologin-user=have-password1
#?RUNNER DAEMON-START
# X server starts
-#?XSERVER-50 START
-#?XSERVER-50 INDICATE-READY
+#?XSERVER-0 START
+#?XSERVER-0 INDICATE-READY
# LightDM connects to X server
-#?XSERVER-50 ACCEPT-CONNECT
+#?XSERVER-0 ACCEPT-CONNECT
# Session starts
-#?SESSION-X-50 START USER=have-password1
-#?XSERVER-50 ACCEPT-CONNECT
-#?SESSION-X-50 CONNECT-XSERVER
+#?SESSION-X-0 START USER=have-password1
+#?XSERVER-0 ACCEPT-CONNECT
+#?SESSION-X-0 CONNECT-XSERVER
# Show the greeter
#?*SWITCH-TO-GREETER
#?RUNNER SWITCH-TO-GREETER
# New X server starts
-#?XSERVER-51 START
-#?XSERVER-51 INDICATE-READY
+#?XSERVER-1 START
+#?XSERVER-1 INDICATE-READY
# LightDM connects to X server
-#?XSERVER-51 ACCEPT-CONNECT
+#?XSERVER-1 ACCEPT-CONNECT
# Greeter starts
-#?GREETER-X-51 START
-#?XSERVER-51 ACCEPT-CONNECT
-#?GREETER-X-51 CONNECT-XSERVER
-#?GREETER-X-51 CONNECT-TO-DAEMON
-#?GREETER-X-51 CONNECTED-TO-DAEMON
+#?GREETER-X-1 START
+#?XSERVER-1 ACCEPT-CONNECT
+#?GREETER-X-1 CONNECT-XSERVER
+#?GREETER-X-1 CONNECT-TO-DAEMON
+#?GREETER-X-1 CONNECTED-TO-DAEMON
# Login
-#?*GREETER-X-51 AUTHENTICATE USERNAME=have-password2
-#?GREETER-X-51 SHOW-PROMPT TEXT="Password:"
-#?*GREETER-X-51 RESPOND TEXT="password"
-#?GREETER-X-51 AUTHENTICATION-COMPLETE USERNAME=have-password2 AUTHENTICATED=TRUE
-#?*GREETER-X-51 START-SESSION
-#?GREETER-X-51 TERMINATE SIGNAL=15
+#?*GREETER-X-1 AUTHENTICATE USERNAME=have-password2
+#?GREETER-X-1 SHOW-PROMPT TEXT="Password:"
+#?*GREETER-X-1 RESPOND TEXT="password"
+#?GREETER-X-1 AUTHENTICATION-COMPLETE USERNAME=have-password2 AUTHENTICATED=TRUE
+#?*GREETER-X-1 START-SESSION
+#?GREETER-X-1 TERMINATE SIGNAL=15
# New session starts
-#?SESSION-X-51 START USER=have-password2
-#?XSERVER-51 ACCEPT-CONNECT
-#?SESSION-X-51 CONNECT-XSERVER
+#?SESSION-X-1 START USER=have-password2
+#?XSERVER-1 ACCEPT-CONNECT
+#?SESSION-X-1 CONNECT-XSERVER
# Cleanup
#?*STOP-DAEMON
-#?SESSION-X-50 TERMINATE SIGNAL=15
-#?XSERVER-50 TERMINATE SIGNAL=15
-#?SESSION-X-51 TERMINATE SIGNAL=15
-#?XSERVER-51 TERMINATE SIGNAL=15
+#?SESSION-X-0 TERMINATE SIGNAL=15
+#?XSERVER-0 TERMINATE SIGNAL=15
+#?SESSION-X-1 TERMINATE SIGNAL=15
+#?XSERVER-1 TERMINATE SIGNAL=15
#?RUNNER DAEMON-EXIT STATUS=0
# Use D-Bus interface to show the greeter, then return to the same session, then logout
#
-[LightDM]
-minimum-display-number=50
-
[SeatDefaults]
autologin-user=have-password1
#?RUNNER DAEMON-START
# X server starts
-#?XSERVER-50 START
-#?XSERVER-50 INDICATE-READY
+#?XSERVER-0 START
+#?XSERVER-0 INDICATE-READY
# LightDM connects to X server
-#?XSERVER-50 ACCEPT-CONNECT
+#?XSERVER-0 ACCEPT-CONNECT
# Session starts
-#?SESSION-X-50 START USER=have-password1
-#?XSERVER-50 ACCEPT-CONNECT
-#?SESSION-X-50 CONNECT-XSERVER
+#?SESSION-X-0 START USER=have-password1
+#?XSERVER-0 ACCEPT-CONNECT
+#?SESSION-X-0 CONNECT-XSERVER
# Show the greeter
#?*SWITCH-TO-GREETER
#?RUNNER SWITCH-TO-GREETER
# New X server starts
-#?XSERVER-51 START
-#?XSERVER-51 INDICATE-READY
+#?XSERVER-1 START
+#?XSERVER-1 INDICATE-READY
# LightDM connects to X server
-#?XSERVER-51 ACCEPT-CONNECT
+#?XSERVER-1 ACCEPT-CONNECT
# Greeter starts
-#?GREETER-X-51 START
-#?XSERVER-51 ACCEPT-CONNECT
-#?GREETER-X-51 CONNECT-XSERVER
-#?GREETER-X-51 CONNECT-TO-DAEMON
-#?GREETER-X-51 CONNECTED-TO-DAEMON
+#?GREETER-X-1 START
+#?XSERVER-1 ACCEPT-CONNECT
+#?GREETER-X-1 CONNECT-XSERVER
+#?GREETER-X-1 CONNECT-TO-DAEMON
+#?GREETER-X-1 CONNECTED-TO-DAEMON
# Login as existing user
-#?*GREETER-X-51 AUTHENTICATE USERNAME=have-password1
-#?GREETER-X-51 SHOW-PROMPT TEXT="Password:"
-#?*GREETER-X-51 RESPOND TEXT="password"
-#?GREETER-X-51 AUTHENTICATION-COMPLETE USERNAME=have-password1 AUTHENTICATED=TRUE
-#?*GREETER-X-51 START-SESSION
+#?*GREETER-X-1 AUTHENTICATE USERNAME=have-password1
+#?GREETER-X-1 SHOW-PROMPT TEXT="Password:"
+#?*GREETER-X-1 RESPOND TEXT="password"
+#?GREETER-X-1 AUTHENTICATION-COMPLETE USERNAME=have-password1 AUTHENTICATED=TRUE
+#?*GREETER-X-1 START-SESSION
# Greeter and X server stop
-#?GREETER-X-51 TERMINATE SIGNAL=15
-#?XSERVER-51 TERMINATE SIGNAL=15
+#?GREETER-X-1 TERMINATE SIGNAL=15
+#?XSERVER-1 TERMINATE SIGNAL=15
# Logout session
-#?*SESSION-X-50 LOGOUT
-#?XSERVER-50 TERMINATE SIGNAL=15
+#?*SESSION-X-0 LOGOUT
+#?XSERVER-0 TERMINATE SIGNAL=15
# X server starts
-#?XSERVER-50 START
-#?XSERVER-50 INDICATE-READY
-#?XSERVER-50 ACCEPT-CONNECT
+#?XSERVER-0 START
+#?XSERVER-0 INDICATE-READY
+#?XSERVER-0 ACCEPT-CONNECT
# Greeter starts
-#?GREETER-X-50 START
-#?XSERVER-50 ACCEPT-CONNECT
-#?GREETER-X-50 CONNECT-XSERVER
-#?GREETER-X-50 CONNECT-TO-DAEMON
-#?GREETER-X-50 CONNECTED-TO-DAEMON
+#?GREETER-X-0 START
+#?XSERVER-0 ACCEPT-CONNECT
+#?GREETER-X-0 CONNECT-XSERVER
+#?GREETER-X-0 CONNECT-TO-DAEMON
+#?GREETER-X-0 CONNECTED-TO-DAEMON
# Cleanup
#?*STOP-DAEMON
-#?GREETER-X-50 TERMINATE SIGNAL=15
-#?XSERVER-50 TERMINATE SIGNAL=15
+#?GREETER-X-0 TERMINATE SIGNAL=15
+#?XSERVER-0 TERMINATE SIGNAL=15
#?RUNNER DAEMON-EXIT STATUS=0
# Use D-Bus interface to show the greeter, then return to the same session
#
-[LightDM]
-minimum-display-number=50
-
[SeatDefaults]
autologin-user=have-password1
#?RUNNER DAEMON-START
# X server starts
-#?XSERVER-50 START
-#?XSERVER-50 INDICATE-READY
+#?XSERVER-0 START
+#?XSERVER-0 INDICATE-READY
# LightDM connects to X server
-#?XSERVER-50 ACCEPT-CONNECT
+#?XSERVER-0 ACCEPT-CONNECT
# Session starts
-#?SESSION-X-50 START USER=have-password1
-#?XSERVER-50 ACCEPT-CONNECT
-#?SESSION-X-50 CONNECT-XSERVER
+#?SESSION-X-0 START USER=have-password1
+#?XSERVER-0 ACCEPT-CONNECT
+#?SESSION-X-0 CONNECT-XSERVER
# Show the greeter
#?*SWITCH-TO-GREETER
#?RUNNER SWITCH-TO-GREETER
# New X server starts
-#?XSERVER-51 START
-#?XSERVER-51 INDICATE-READY
+#?XSERVER-1 START
+#?XSERVER-1 INDICATE-READY
# LightDM connects to X server
-#?XSERVER-51 ACCEPT-CONNECT
+#?XSERVER-1 ACCEPT-CONNECT
# Greeter starts
-#?GREETER-X-51 START
-#?XSERVER-51 ACCEPT-CONNECT
-#?GREETER-X-51 CONNECT-XSERVER
-#?GREETER-X-51 CONNECT-TO-DAEMON
-#?GREETER-X-51 CONNECTED-TO-DAEMON
+#?GREETER-X-1 START
+#?XSERVER-1 ACCEPT-CONNECT
+#?GREETER-X-1 CONNECT-XSERVER
+#?GREETER-X-1 CONNECT-TO-DAEMON
+#?GREETER-X-1 CONNECTED-TO-DAEMON
# Login as existing user
-#?*GREETER-X-51 AUTHENTICATE USERNAME=have-password1
-#?GREETER-X-51 SHOW-PROMPT TEXT="Password:"
-#?*GREETER-X-51 RESPOND TEXT="password"
-#?GREETER-X-51 AUTHENTICATION-COMPLETE USERNAME=have-password1 AUTHENTICATED=TRUE
-#?*GREETER-X-51 START-SESSION
+#?*GREETER-X-1 AUTHENTICATE USERNAME=have-password1
+#?GREETER-X-1 SHOW-PROMPT TEXT="Password:"
+#?*GREETER-X-1 RESPOND TEXT="password"
+#?GREETER-X-1 AUTHENTICATION-COMPLETE USERNAME=have-password1 AUTHENTICATED=TRUE
+#?*GREETER-X-1 START-SESSION
# Greeter and X server stop
-#?GREETER-X-51 TERMINATE SIGNAL=15
-#?XSERVER-51 TERMINATE SIGNAL=15
+#?GREETER-X-1 TERMINATE SIGNAL=15
+#?XSERVER-1 TERMINATE SIGNAL=15
# Cleanup
#?*STOP-DAEMON
-#?SESSION-X-50 TERMINATE SIGNAL=15
-#?XSERVER-50 TERMINATE SIGNAL=15
+#?SESSION-X-0 TERMINATE SIGNAL=15
+#?XSERVER-0 TERMINATE SIGNAL=15
#?RUNNER DAEMON-EXIT STATUS=0
# Use D-Bus interface to show the greeter
#
-[LightDM]
-minimum-display-number=50
-
[SeatDefaults]
autologin-user=have-password1
#?RUNNER DAEMON-START
# X server starts
-#?XSERVER-50 START
-#?XSERVER-50 INDICATE-READY
+#?XSERVER-0 START
+#?XSERVER-0 INDICATE-READY
# LightDM connects to X server
-#?XSERVER-50 ACCEPT-CONNECT
+#?XSERVER-0 ACCEPT-CONNECT
# Session starts
-#?SESSION-X-50 START USER=have-password1
-#?XSERVER-50 ACCEPT-CONNECT
-#?SESSION-X-50 CONNECT-XSERVER
+#?SESSION-X-0 START USER=have-password1
+#?XSERVER-0 ACCEPT-CONNECT
+#?SESSION-X-0 CONNECT-XSERVER
# Show the greeter
#?*SWITCH-TO-GREETER
#?RUNNER SWITCH-TO-GREETER
# New X server starts
-#?XSERVER-51 START
-#?XSERVER-51 INDICATE-READY
+#?XSERVER-1 START
+#?XSERVER-1 INDICATE-READY
# LightDM connects to X server
-#?XSERVER-51 ACCEPT-CONNECT
+#?XSERVER-1 ACCEPT-CONNECT
# Greeter starts
-#?GREETER-X-51 START
-#?XSERVER-51 ACCEPT-CONNECT
-#?GREETER-X-51 CONNECT-XSERVER
-#?GREETER-X-51 CONNECT-TO-DAEMON
-#?GREETER-X-51 CONNECTED-TO-DAEMON
+#?GREETER-X-1 START
+#?XSERVER-1 ACCEPT-CONNECT
+#?GREETER-X-1 CONNECT-XSERVER
+#?GREETER-X-1 CONNECT-TO-DAEMON
+#?GREETER-X-1 CONNECTED-TO-DAEMON
# Cleanup
#?*STOP-DAEMON
-#?SESSION-X-50 TERMINATE SIGNAL=15
-#?XSERVER-50 TERMINATE SIGNAL=15
-#?GREETER-X-51 TERMINATE SIGNAL=15
-#?XSERVER-51 TERMINATE SIGNAL=15
+#?SESSION-X-0 TERMINATE SIGNAL=15
+#?XSERVER-0 TERMINATE SIGNAL=15
+#?GREETER-X-1 TERMINATE SIGNAL=15
+#?XSERVER-1 TERMINATE SIGNAL=15
#?RUNNER DAEMON-EXIT STATUS=0
# Check D-Bus interface can trigger/switch to guest session
#
-[LightDM]
-minimum-display-number=50
-
[SeatDefaults]
autologin-user=have-password1
#?*WAIT
# X server starts
-#?XSERVER-50 START
-#?XSERVER-50 INDICATE-READY
+#?XSERVER-0 START
+#?XSERVER-0 INDICATE-READY
# LightDM connects to X server
-#?XSERVER-50 ACCEPT-CONNECT
+#?XSERVER-0 ACCEPT-CONNECT
# Default session starts
-#?SESSION-X-50 START USER=have-password1
-#?XSERVER-50 ACCEPT-CONNECT
-#?SESSION-X-50 CONNECT-XSERVER
+#?SESSION-X-0 START USER=have-password1
+#?XSERVER-0 ACCEPT-CONNECT
+#?SESSION-X-0 CONNECT-XSERVER
# Switch to guest
#?*SWITCH-TO-GUEST
#?RUNNER SWITCH-TO-GUEST
# New X server starts
-#?XSERVER-51 START
-#?XSERVER-51 INDICATE-READY
+#?XSERVER-1 START
+#?XSERVER-1 INDICATE-READY
# LightDM connects to X server
-#?XSERVER-51 ACCEPT-CONNECT
+#?XSERVER-1 ACCEPT-CONNECT
# Guest account created
#?GUEST-ACCOUNT ADD USERNAME=guest-.*
# Guest session starts
-#?SESSION-X-51 START USER=guest-.*
-#?XSERVER-51 ACCEPT-CONNECT
-#?SESSION-X-51 CONNECT-XSERVER
+#?SESSION-X-1 START USER=guest-.*
+#?XSERVER-1 ACCEPT-CONNECT
+#?SESSION-X-1 CONNECT-XSERVER
# Switch again, should not do anything as guest already running
#?*SWITCH-TO-GUEST
# Cleanup
#?*STOP-DAEMON
-#?SESSION-X-50 TERMINATE SIGNAL=15
-#?XSERVER-50 TERMINATE SIGNAL=15
-#?SESSION-X-51 TERMINATE SIGNAL=15
-#?XSERVER-51 TERMINATE SIGNAL=15
+#?SESSION-X-0 TERMINATE SIGNAL=15
+#?XSERVER-0 TERMINATE SIGNAL=15
+#?SESSION-X-1 TERMINATE SIGNAL=15
+#?XSERVER-1 TERMINATE SIGNAL=15
#?GUEST-ACCOUNT REMOVE USERNAME=guest-.*
#?RUNNER DAEMON-EXIT STATUS=0
# Check that switching to an existing user does nothing
#
-[LightDM]
-minimum-display-number=50
-
[SeatDefaults]
autologin-user=have-password1
#?*WAIT
# X server starts
-#?XSERVER-50 START
-#?XSERVER-50 INDICATE-READY
+#?XSERVER-0 START
+#?XSERVER-0 INDICATE-READY
# LightDM connects to X server
-#?XSERVER-50 ACCEPT-CONNECT
+#?XSERVER-0 ACCEPT-CONNECT
# Session starts
-#?SESSION-X-50 START USER=have-password1
-#?XSERVER-50 ACCEPT-CONNECT
-#?SESSION-X-50 CONNECT-XSERVER
+#?SESSION-X-0 START USER=have-password1
+#?XSERVER-0 ACCEPT-CONNECT
+#?SESSION-X-0 CONNECT-XSERVER
# Switch to account with a password
#?*SWITCH-TO-USER USERNAME=have-password1
# Cleanup
#?*STOP-DAEMON
-#?XSERVER-50 TERMINATE SIGNAL=15
-#?SESSION-X-50 TERMINATE SIGNAL=15
+#?XSERVER-0 TERMINATE SIGNAL=15
+#?SESSION-X-0 TERMINATE SIGNAL=15
#?RUNNER DAEMON-EXIT STATUS=0
# Check that logging out from a switched user returns to the greeter
#
-[LightDM]
-minimum-display-number=50
-
[SeatDefaults]
autologin-user=have-password1
#?*WAIT
# X server starts
-#?XSERVER-50 START
-#?XSERVER-50 INDICATE-READY
+#?XSERVER-0 START
+#?XSERVER-0 INDICATE-READY
# LightDM connects to X server
-#?XSERVER-50 ACCEPT-CONNECT
+#?XSERVER-0 ACCEPT-CONNECT
# Session starts
-#?SESSION-X-50 START USER=have-password1
-#?XSERVER-50 ACCEPT-CONNECT
-#?SESSION-X-50 CONNECT-XSERVER
+#?SESSION-X-0 START USER=have-password1
+#?XSERVER-0 ACCEPT-CONNECT
+#?SESSION-X-0 CONNECT-XSERVER
# Switch to an account without a password
#?*SWITCH-TO-USER USERNAME=no-password1
#?RUNNER SWITCH-TO-USER USERNAME=no-password1
# New X server starts
-#?XSERVER-51 START
-#?XSERVER-51 INDICATE-READY
+#?XSERVER-1 START
+#?XSERVER-1 INDICATE-READY
# LightDM connects to X server
-#?XSERVER-51 ACCEPT-CONNECT
+#?XSERVER-1 ACCEPT-CONNECT
# New session starts
-#?SESSION-X-51 START USER=no-password1
-#?XSERVER-51 ACCEPT-CONNECT
-#?SESSION-X-51 CONNECT-XSERVER
+#?SESSION-X-1 START USER=no-password1
+#?XSERVER-1 ACCEPT-CONNECT
+#?SESSION-X-1 CONNECT-XSERVER
# Logout session
-#?*SESSION-X-51 LOGOUT
+#?*SESSION-X-1 LOGOUT
# X server stops
-#?XSERVER-51 TERMINATE SIGNAL=15
+#?XSERVER-1 TERMINATE SIGNAL=15
# X server starts for greeter
-#?XSERVER-51 START
-#?XSERVER-51 INDICATE-READY
+#?XSERVER-1 START
+#?XSERVER-1 INDICATE-READY
# LightDM connects to X server
-#?XSERVER-51 ACCEPT-CONNECT
+#?XSERVER-1 ACCEPT-CONNECT
# Greeter starts
-#?GREETER-X-51 START
-#?XSERVER-51 ACCEPT-CONNECT
-#?GREETER-X-51 CONNECT-XSERVER
-#?GREETER-X-51 CONNECT-TO-DAEMON
-#?GREETER-X-51 CONNECTED-TO-DAEMON
+#?GREETER-X-1 START
+#?XSERVER-1 ACCEPT-CONNECT
+#?GREETER-X-1 CONNECT-XSERVER
+#?GREETER-X-1 CONNECT-TO-DAEMON
+#?GREETER-X-1 CONNECTED-TO-DAEMON
# Cleanup
#?*STOP-DAEMON
-#?SESSION-X-50 TERMINATE SIGNAL=15
-#?XSERVER-50 TERMINATE SIGNAL=15
-#?GREETER-X-51 TERMINATE SIGNAL=15
-#?XSERVER-51 TERMINATE SIGNAL=15
+#?SESSION-X-0 TERMINATE SIGNAL=15
+#?XSERVER-0 TERMINATE SIGNAL=15
+#?GREETER-X-1 TERMINATE SIGNAL=15
+#?XSERVER-1 TERMINATE SIGNAL=15
#?RUNNER DAEMON-EXIT STATUS=0
# Check that switching to a user without a password doesn't show a greeter
#
-[LightDM]
-minimum-display-number=50
-
[SeatDefaults]
autologin-user=have-password1
#?*WAIT
# X server starts
-#?XSERVER-50 START
-#?XSERVER-50 INDICATE-READY
+#?XSERVER-0 START
+#?XSERVER-0 INDICATE-READY
# LightDM connects to X server
-#?XSERVER-50 ACCEPT-CONNECT
+#?XSERVER-0 ACCEPT-CONNECT
# Session starts
-#?SESSION-X-50 START USER=have-password1
-#?XSERVER-50 ACCEPT-CONNECT
-#?SESSION-X-50 CONNECT-XSERVER
+#?SESSION-X-0 START USER=have-password1
+#?XSERVER-0 ACCEPT-CONNECT
+#?SESSION-X-0 CONNECT-XSERVER
# Switch to account without a password
#?*SWITCH-TO-USER USERNAME=no-password1
#?RUNNER SWITCH-TO-USER USERNAME=no-password1
# New X server starts
-#?XSERVER-51 START
-#?XSERVER-51 INDICATE-READY
+#?XSERVER-1 START
+#?XSERVER-1 INDICATE-READY
# LightDM connects to X server
-#?XSERVER-51 ACCEPT-CONNECT
+#?XSERVER-1 ACCEPT-CONNECT
# New session starts
-#?SESSION-X-51 START USER=no-password1
-#?XSERVER-51 ACCEPT-CONNECT
-#?SESSION-X-51 CONNECT-XSERVER
+#?SESSION-X-1 START USER=no-password1
+#?XSERVER-1 ACCEPT-CONNECT
+#?SESSION-X-1 CONNECT-XSERVER
# Cleanup
#?*STOP-DAEMON
-#?SESSION-X-50 TERMINATE SIGNAL=15
-#?XSERVER-50 TERMINATE SIGNAL=15
-#?SESSION-X-51 TERMINATE SIGNAL=15
-#?XSERVER-51 TERMINATE SIGNAL=15
+#?SESSION-X-0 TERMINATE SIGNAL=15
+#?XSERVER-0 TERMINATE SIGNAL=15
+#?SESSION-X-1 TERMINATE SIGNAL=15
+#?XSERVER-1 TERMINATE SIGNAL=15
#?RUNNER DAEMON-EXIT STATUS=0
# Check that switching to a user shows the greeter
#
-[LightDM]
-minimum-display-number=50
-
[SeatDefaults]
autologin-user=no-password1
#?*WAIT
# X server starts
-#?XSERVER-50 START
-#?XSERVER-50 INDICATE-READY
+#?XSERVER-0 START
+#?XSERVER-0 INDICATE-READY
# LightDM connects to X server
-#?XSERVER-50 ACCEPT-CONNECT
+#?XSERVER-0 ACCEPT-CONNECT
# Session starts
-#?SESSION-X-50 START USER=no-password1
-#?XSERVER-50 ACCEPT-CONNECT
-#?SESSION-X-50 CONNECT-XSERVER
+#?SESSION-X-0 START USER=no-password1
+#?XSERVER-0 ACCEPT-CONNECT
+#?SESSION-X-0 CONNECT-XSERVER
# Switch to an account with a password
#?*SWITCH-TO-USER USERNAME=have-password1
#?RUNNER SWITCH-TO-USER USERNAME=have-password1
# New X server starts
-#?XSERVER-51 START
-#?XSERVER-51 INDICATE-READY
+#?XSERVER-1 START
+#?XSERVER-1 INDICATE-READY
# LightDM connects to X server
-#?XSERVER-51 ACCEPT-CONNECT
+#?XSERVER-1 ACCEPT-CONNECT
# Greeter starts
-#?GREETER-X-51 START
-#?XSERVER-51 ACCEPT-CONNECT
-#?GREETER-X-51 CONNECT-XSERVER
-#?GREETER-X-51 CONNECT-TO-DAEMON
-#?GREETER-X-51 CONNECTED-TO-DAEMON
+#?GREETER-X-1 START
+#?XSERVER-1 ACCEPT-CONNECT
+#?GREETER-X-1 CONNECT-XSERVER
+#?GREETER-X-1 CONNECT-TO-DAEMON
+#?GREETER-X-1 CONNECTED-TO-DAEMON
# Requested user is automatically selected
-#?GREETER-X-51 SELECT-USER-HINT USERNAME=have-password1
-#?*GREETER-X-51 AUTHENTICATE USERNAME=have-password1
-#?GREETER-X-51 SHOW-PROMPT TEXT="Password:"
+#?GREETER-X-1 SELECT-USER-HINT USERNAME=have-password1
+#?*GREETER-X-1 AUTHENTICATE USERNAME=have-password1
+#?GREETER-X-1 SHOW-PROMPT TEXT="Password:"
# Cleanup
#?*STOP-DAEMON
-#?SESSION-X-50 TERMINATE SIGNAL=15
-#?XSERVER-50 TERMINATE SIGNAL=15
-#?GREETER-X-51 TERMINATE SIGNAL=15
-#?XSERVER-51 TERMINATE SIGNAL=15
+#?SESSION-X-0 TERMINATE SIGNAL=15
+#?XSERVER-0 TERMINATE SIGNAL=15
+#?GREETER-X-1 TERMINATE SIGNAL=15
+#?XSERVER-1 TERMINATE SIGNAL=15
#?RUNNER DAEMON-EXIT STATUS=0
# Check that switching to multiple users works
#
-[LightDM]
-minimum-display-number=50
-
[SeatDefaults]
autologin-user=have-password1
#?*WAIT
# X server starts
-#?XSERVER-50 START
-#?XSERVER-50 INDICATE-READY
+#?XSERVER-0 START
+#?XSERVER-0 INDICATE-READY
# LightDM connects to X server
-#?XSERVER-50 ACCEPT-CONNECT
+#?XSERVER-0 ACCEPT-CONNECT
# Session starts
-#?SESSION-X-50 START USER=have-password1
-#?XSERVER-50 ACCEPT-CONNECT
-#?SESSION-X-50 CONNECT-XSERVER
+#?SESSION-X-0 START USER=have-password1
+#?XSERVER-0 ACCEPT-CONNECT
+#?SESSION-X-0 CONNECT-XSERVER
# Switch to account without a password
#?*SWITCH-TO-USER USERNAME=no-password1
#?RUNNER SWITCH-TO-USER USERNAME=no-password1
# New X server starts
-#?XSERVER-51 START
-#?XSERVER-51 INDICATE-READY
+#?XSERVER-1 START
+#?XSERVER-1 INDICATE-READY
# LightDM connects to X server
-#?XSERVER-51 ACCEPT-CONNECT
+#?XSERVER-1 ACCEPT-CONNECT
# New session starts
-#?SESSION-X-51 START USER=no-password1
-#?XSERVER-51 ACCEPT-CONNECT
-#?SESSION-X-51 CONNECT-XSERVER
+#?SESSION-X-1 START USER=no-password1
+#?XSERVER-1 ACCEPT-CONNECT
+#?SESSION-X-1 CONNECT-XSERVER
# Switch to another account without a password
#?*SWITCH-TO-USER USERNAME=no-password2
#?RUNNER SWITCH-TO-USER USERNAME=no-password2
# New X server starts
-#?XSERVER-52 START
-#?XSERVER-52 INDICATE-READY
+#?XSERVER-2 START
+#?XSERVER-2 INDICATE-READY
# LightDM connects to X server
-#?XSERVER-52 ACCEPT-CONNECT
+#?XSERVER-2 ACCEPT-CONNECT
# New session starts
-#?SESSION-X-52 START USER=no-password2
-#?XSERVER-52 ACCEPT-CONNECT
-#?SESSION-X-52 CONNECT-XSERVER
+#?SESSION-X-2 START USER=no-password2
+#?XSERVER-2 ACCEPT-CONNECT
+#?SESSION-X-2 CONNECT-XSERVER
# Cleanup
#?*STOP-DAEMON
-#?SESSION-X-50 TERMINATE SIGNAL=15
-#?XSERVER-50 TERMINATE SIGNAL=15
-#?SESSION-X-51 TERMINATE SIGNAL=15
-#?XSERVER-51 TERMINATE SIGNAL=15
-#?SESSION-X-52 TERMINATE SIGNAL=15
-#?XSERVER-52 TERMINATE SIGNAL=15
+#?SESSION-X-0 TERMINATE SIGNAL=15
+#?XSERVER-0 TERMINATE SIGNAL=15
+#?SESSION-X-1 TERMINATE SIGNAL=15
+#?XSERVER-1 TERMINATE SIGNAL=15
+#?SESSION-X-2 TERMINATE SIGNAL=15
+#?XSERVER-2 TERMINATE SIGNAL=15
#?RUNNER DAEMON-EXIT STATUS=0
#
[LightDM]
-minimum-display-number=50
user-authority-in-system-dir=true
[SeatDefaults]
#?RUNNER DAEMON-START
# X server starts
-#?XSERVER-50 START
-#?XSERVER-50 INDICATE-READY
+#?XSERVER-0 START
+#?XSERVER-0 INDICATE-READY
# LightDM connects to X server
-#?XSERVER-50 ACCEPT-CONNECT
+#?XSERVER-0 ACCEPT-CONNECT
# Session starts
-#?SESSION-X-50 START USER=have-password1
-#?XSERVER-50 ACCEPT-CONNECT
-#?SESSION-X-50 CONNECT-XSERVER
+#?SESSION-X-0 START USER=have-password1
+#?XSERVER-0 ACCEPT-CONNECT
+#?SESSION-X-0 CONNECT-XSERVER
# Check where the X authority is
-#?*SESSION-X-50 READ-ENV NAME=XAUTHORITY
-#?SESSION-X-50 READ-ENV NAME=XAUTHORITY VALUE=.*/var/run/lightdm/have-password1/xauthority
+#?*SESSION-X-0 READ-ENV NAME=XAUTHORITY
+#?SESSION-X-0 READ-ENV NAME=XAUTHORITY VALUE=.*/var/run/lightdm/have-password1/xauthority
# Cleanup
#?*STOP-DAEMON
-#?SESSION-X-50 TERMINATE SIGNAL=15
-#?XSERVER-50 TERMINATE SIGNAL=15
+#?SESSION-X-0 TERMINATE SIGNAL=15
+#?XSERVER-0 TERMINATE SIGNAL=15
#?RUNNER DAEMON-EXIT STATUS=0
# Check if PAM renames the user to one that doesn't exist lightdm handles this
#
-[LightDM]
-minimum-display-number=50
-
[SeatDefaults]
autologin-user=change-user-invalid
#?RUNNER DAEMON-START
# X server starts
-#?XSERVER-50 START
-#?XSERVER-50 INDICATE-READY
+#?XSERVER-0 START
+#?XSERVER-0 INDICATE-READY
# LightDM connects to X server
-#?XSERVER-50 ACCEPT-CONNECT
+#?XSERVER-0 ACCEPT-CONNECT
# (fails to start session for invalid user)
# Greeter starts
-#?GREETER-X-50 START
-#?XSERVER-50 ACCEPT-CONNECT
-#?GREETER-X-50 CONNECT-XSERVER
-#?GREETER-X-50 CONNECT-TO-DAEMON
-#?GREETER-X-50 CONNECTED-TO-DAEMON
+#?GREETER-X-0 START
+#?XSERVER-0 ACCEPT-CONNECT
+#?GREETER-X-0 CONNECT-XSERVER
+#?GREETER-X-0 CONNECT-TO-DAEMON
+#?GREETER-X-0 CONNECTED-TO-DAEMON
# Cleanup
#?*STOP-DAEMON
-#?GREETER-X-50 TERMINATE SIGNAL=15
-#?XSERVER-50 TERMINATE SIGNAL=15
+#?GREETER-X-0 TERMINATE SIGNAL=15
+#?XSERVER-0 TERMINATE SIGNAL=15
#?RUNNER DAEMON-EXIT STATUS=0
# Check if PAM renames the user then lightdm detects this and uses the new user account
#
-[LightDM]
-minimum-display-number=50
-
[SeatDefaults]
autologin-user=change-user1
#?RUNNER DAEMON-START
# X server starts
-#?XSERVER-50 START
-#?XSERVER-50 INDICATE-READY
+#?XSERVER-0 START
+#?XSERVER-0 INDICATE-READY
# LightDM connects to X server
-#?XSERVER-50 ACCEPT-CONNECT
+#?XSERVER-0 ACCEPT-CONNECT
# Session starts
-#?SESSION-X-50 START USER=change-user2
-#?XSERVER-50 ACCEPT-CONNECT
-#?SESSION-X-50 CONNECT-XSERVER
+#?SESSION-X-0 START USER=change-user2
+#?XSERVER-0 ACCEPT-CONNECT
+#?SESSION-X-0 CONNECT-XSERVER
# Cleanup
#?*STOP-DAEMON
-#?SESSION-X-50 TERMINATE SIGNAL=15
-#?XSERVER-50 TERMINATE SIGNAL=15
+#?SESSION-X-0 TERMINATE SIGNAL=15
+#?XSERVER-0 TERMINATE SIGNAL=15
#?RUNNER DAEMON-EXIT STATUS=0
# Check utility path is set in session
#
-[LightDM]
-minimum-display-number=50
-
[SeatDefaults]
autologin-user=have-password1
#?RUNNER DAEMON-START
# X server starts
-#?XSERVER-50 START
-#?XSERVER-50 INDICATE-READY
+#?XSERVER-0 START
+#?XSERVER-0 INDICATE-READY
# LightDM connects to X server
-#?XSERVER-50 ACCEPT-CONNECT
+#?XSERVER-0 ACCEPT-CONNECT
# Session starts
-#?SESSION-X-50 START USER=have-password1
-#?XSERVER-50 ACCEPT-CONNECT
-#?SESSION-X-50 CONNECT-XSERVER
+#?SESSION-X-0 START USER=have-password1
+#?XSERVER-0 ACCEPT-CONNECT
+#?SESSION-X-0 CONNECT-XSERVER
# Check utility path is there
-#?*SESSION-X-50 READ-ENV NAME=PATH
+#?*SESSION-X-0 READ-ENV NAME=PATH
# FIXME: This is a really crap regex and the path could be overridden in the configure stage
-#?SESSION-X-50 READ-ENV NAME=PATH VALUE=.*/lightdm:.*
+#?SESSION-X-0 READ-ENV NAME=PATH VALUE=.*/lightdm:.*
# Cleanup
#?*STOP-DAEMON
-#?SESSION-X-50 TERMINATE SIGNAL=15
-#?XSERVER-50 TERMINATE SIGNAL=15
+#?SESSION-X-0 TERMINATE SIGNAL=15
+#?XSERVER-0 TERMINATE SIGNAL=15
#?RUNNER DAEMON-EXIT STATUS=0
#
[LightDM]
-minimum-display-number=50
start-default-seat=false
[VNCServer]
#?VNC-CLIENT CONNECT SERVER=::9999
# Xvnc server starts
-#?XSERVER-50 START GEOMETRY=1024x768 DEPTH=8 OPTION=TRUE
+#?XSERVER-0 START GEOMETRY=1024x768 DEPTH=8 OPTION=TRUE
+
+# Negotiate with Xvnc
+#?VNC-CLIENT CONNECTED VERSION="RFB 003.007"
+#?XSERVER-0 INDICATE-READY
+#?XSERVER-0 VNC-CLIENT-CONNECT VERSION="RFB 003.003"
+#?XSERVER-0 ACCEPT-CONNECT
+
+# Greeter starts and connects to remote X server
+#?GREETER-X-0 START
+#?XSERVER-0 ACCEPT-CONNECT
+#?GREETER-X-0 CONNECT-XSERVER
+#?GREETER-X-0 CONNECT-TO-DAEMON
+#?GREETER-X-0 CONNECTED-TO-DAEMON
# Clean up
#?*STOP-DAEMON
-#?XSERVER-50 TERMINATE SIGNAL=15
+#?GREETER-X-0 TERMINATE SIGNAL=15
+#?XSERVER-0 TERMINATE SIGNAL=15
#?RUNNER DAEMON-EXIT STATUS=0
#
[LightDM]
-minimum-display-number=50
start-default-seat=false
[VNCServer]
#?VNC-CLIENT CONNECT SERVER=::9999
# Xvnc server starts
-#?XSERVER-50 START GEOMETRY=1440x900 DEPTH=16 OPTION=FALSE
+#?XSERVER-0 START GEOMETRY=1440x900 DEPTH=16 OPTION=FALSE
+
+# Negotiate with Xvnc
+#?VNC-CLIENT CONNECTED VERSION="RFB 003.007"
+#?XSERVER-0 INDICATE-READY
+#?XSERVER-0 VNC-CLIENT-CONNECT VERSION="RFB 003.003"
+#?XSERVER-0 ACCEPT-CONNECT
+
+# Greeter starts and connects to remote X server
+#?GREETER-X-0 START
+#?XSERVER-0 ACCEPT-CONNECT
+#?GREETER-X-0 CONNECT-XSERVER
+#?GREETER-X-0 CONNECT-TO-DAEMON
+#?GREETER-X-0 CONNECTED-TO-DAEMON
# Clean up
#?*STOP-DAEMON
-#?XSERVER-50 TERMINATE SIGNAL=15
+#?GREETER-X-0 TERMINATE SIGNAL=15
+#?XSERVER-0 TERMINATE SIGNAL=15
#?RUNNER DAEMON-EXIT STATUS=0
#
[LightDM]
-minimum-display-number=50
start-default-seat=false
[VNCServer]
#?VNC-CLIENT CONNECT SERVER=::9999
# Xvnc server starts
-#?XSERVER-50 START GEOMETRY=1024x768 DEPTH=8 OPTION=FALSE
+#?XSERVER-0 START GEOMETRY=1024x768 DEPTH=8 OPTION=FALSE
# Negotiate with Xvnc
#?VNC-CLIENT CONNECTED VERSION="RFB 003.007"
-#?XSERVER-50 INDICATE-READY
+#?XSERVER-0 INDICATE-READY
# LightDM and vnc-client connect to X server
-#?XSERVER-50 VNC-CLIENT-CONNECT VERSION="RFB 003.003"
-#?XSERVER-50 ACCEPT-CONNECT
+#?XSERVER-0 VNC-CLIENT-CONNECT VERSION="RFB 003.003"
+#?XSERVER-0 ACCEPT-CONNECT
# Greeter starts and connects to remote X server
-#?GREETER-X-50 START
-#?XSERVER-50 ACCEPT-CONNECT
-#?GREETER-X-50 CONNECT-XSERVER
-#?GREETER-X-50 CONNECT-TO-DAEMON
-#?GREETER-X-50 CONNECTED-TO-DAEMON
+#?GREETER-X-0 START
+#?XSERVER-0 ACCEPT-CONNECT
+#?GREETER-X-0 CONNECT-XSERVER
+#?GREETER-X-0 CONNECT-TO-DAEMON
+#?GREETER-X-0 CONNECTED-TO-DAEMON
# Log in
-#?*GREETER-X-50 AUTHENTICATE USERNAME=have-password1
-#?GREETER-X-50 SHOW-PROMPT TEXT="Password:"
-#?*GREETER-X-50 RESPOND TEXT="password"
-#?GREETER-X-50 AUTHENTICATION-COMPLETE USERNAME=have-password1 AUTHENTICATED=TRUE
-#?*GREETER-X-50 START-SESSION
-#?GREETER-X-50 TERMINATE SIGNAL=15
+#?*GREETER-X-0 AUTHENTICATE USERNAME=have-password1
+#?GREETER-X-0 SHOW-PROMPT TEXT="Password:"
+#?*GREETER-X-0 RESPOND TEXT="password"
+#?GREETER-X-0 AUTHENTICATION-COMPLETE USERNAME=have-password1 AUTHENTICATED=TRUE
+#?*GREETER-X-0 START-SESSION
+#?GREETER-X-0 TERMINATE SIGNAL=15
# Session starts
-#?SESSION-X-50 START USER=have-password1
-#?XSERVER-50 ACCEPT-CONNECT
-#?SESSION-X-50 CONNECT-XSERVER
+#?SESSION-X-0 START USER=have-password1
+#?XSERVER-0 ACCEPT-CONNECT
+#?SESSION-X-0 CONNECT-XSERVER
# Clean up
#?*STOP-DAEMON
-#?SESSION-X-50 TERMINATE SIGNAL=15
-#?XSERVER-50 TERMINATE SIGNAL=15
+#?SESSION-X-0 TERMINATE SIGNAL=15
+#?XSERVER-0 TERMINATE SIGNAL=15
#?RUNNER DAEMON-EXIT STATUS=0
#
[LightDM]
-minimum-display-number=50
start-default-seat=false
[VNCServer]
#?VNC-CLIENT CONNECT SERVER=::9999
# Xvnc server starts
-#?XSERVER-50 START GEOMETRY=1024x768 DEPTH=8 OPTION=FALSE
+#?XSERVER-0 START GEOMETRY=1024x768 DEPTH=8 OPTION=FALSE
# Negotiate with Xvnc
#?VNC-CLIENT CONNECTED VERSION="RFB 003.007"
-#?XSERVER-50 INDICATE-READY
+#?XSERVER-0 INDICATE-READY
-#?XSERVER-50 VNC-CLIENT-CONNECT VERSION="RFB 003.003"
+#?XSERVER-0 VNC-CLIENT-CONNECT VERSION="RFB 003.003"
# LightDM connects to X server
-#?XSERVER-50 ACCEPT-CONNECT
+#?XSERVER-0 ACCEPT-CONNECT
# Greeter starts and connects to remote X server
-#?GREETER-X-50 START
-#?XSERVER-50 ACCEPT-CONNECT
-#?GREETER-X-50 CONNECT-XSERVER
-#?GREETER-X-50 CONNECT-TO-DAEMON
-#?GREETER-X-50 CONNECTED-TO-DAEMON
+#?GREETER-X-0 START
+#?XSERVER-0 ACCEPT-CONNECT
+#?GREETER-X-0 CONNECT-XSERVER
+#?GREETER-X-0 CONNECT-TO-DAEMON
+#?GREETER-X-0 CONNECTED-TO-DAEMON
# Log in
-#?*GREETER-X-50 AUTHENTICATE USERNAME=have-password1
-#?GREETER-X-50 SHOW-PROMPT TEXT="Password:"
-#?*GREETER-X-50 RESPOND TEXT="password"
-#?GREETER-X-50 AUTHENTICATION-COMPLETE USERNAME=have-password1 AUTHENTICATED=TRUE
-#?*GREETER-X-50 START-SESSION
-#?GREETER-X-50 TERMINATE SIGNAL=15
+#?*GREETER-X-0 AUTHENTICATE USERNAME=have-password1
+#?GREETER-X-0 SHOW-PROMPT TEXT="Password:"
+#?*GREETER-X-0 RESPOND TEXT="password"
+#?GREETER-X-0 AUTHENTICATION-COMPLETE USERNAME=have-password1 AUTHENTICATED=TRUE
+#?*GREETER-X-0 START-SESSION
+#?GREETER-X-0 TERMINATE SIGNAL=15
# Session starts
-#?SESSION-X-50 START USER=have-password1
-#?XSERVER-50 ACCEPT-CONNECT
-#?SESSION-X-50 CONNECT-XSERVER
+#?SESSION-X-0 START USER=have-password1
+#?XSERVER-0 ACCEPT-CONNECT
+#?SESSION-X-0 CONNECT-XSERVER
# Check file descriptors
-#?*SESSION-X-50 LIST-UNKNOWN-FILE-DESCRIPTORS
-#?SESSION-X-50 LIST-UNKNOWN-FILE-DESCRIPTORS FDS=
+#?*SESSION-X-0 LIST-UNKNOWN-FILE-DESCRIPTORS
+#?SESSION-X-0 LIST-UNKNOWN-FILE-DESCRIPTORS FDS=
# Clean up
#?*STOP-DAEMON
-#?SESSION-X-50 TERMINATE SIGNAL=15
-#?XSERVER-50 TERMINATE SIGNAL=15
+#?SESSION-X-0 TERMINATE SIGNAL=15
+#?XSERVER-0 TERMINATE SIGNAL=15
#?RUNNER DAEMON-EXIT STATUS=0
# Check X authority written into home directory
#
-[LightDM]
-minimum-display-number=50
-
[SeatDefaults]
autologin-user=have-password1
#?RUNNER DAEMON-START
# X server starts
-#?XSERVER-50 START
-#?XSERVER-50 INDICATE-READY
+#?XSERVER-0 START
+#?XSERVER-0 INDICATE-READY
# LightDM connects to X server
-#?XSERVER-50 ACCEPT-CONNECT
+#?XSERVER-0 ACCEPT-CONNECT
# Session starts
-#?SESSION-X-50 START USER=have-password1
-#?XSERVER-50 ACCEPT-CONNECT
-#?SESSION-X-50 CONNECT-XSERVER
+#?SESSION-X-0 START USER=have-password1
+#?XSERVER-0 ACCEPT-CONNECT
+#?SESSION-X-0 CONNECT-XSERVER
# Check where the X authority is
-#?*SESSION-X-50 READ-ENV NAME=XAUTHORITY
-#?SESSION-X-50 READ-ENV NAME=XAUTHORITY VALUE=.*/home/have-password1/.Xauthority
+#?*SESSION-X-0 READ-ENV NAME=XAUTHORITY
+#?SESSION-X-0 READ-ENV NAME=XAUTHORITY VALUE=.*/home/have-password1/.Xauthority
# Cleanup
#?*STOP-DAEMON
-#?SESSION-X-50 TERMINATE SIGNAL=15
-#?XSERVER-50 TERMINATE SIGNAL=15
+#?SESSION-X-0 TERMINATE SIGNAL=15
+#?XSERVER-0 TERMINATE SIGNAL=15
#?RUNNER DAEMON-EXIT STATUS=0
[LightDM]
start-default-seat=false
-minimum-display-number=50
[XDMCPServer]
enabled=true
#?XSERVER-98 SEND-MANAGE SESSION-ID=[0-9]* DISPLAY-NUMBER=98 DISPLAY-CLASS="DISPLAY CLASS"
# LightDM connects to X server
-#?XSERVER-98 TCP-ACCEPT-CONNECT
+#?XSERVER-98 ACCEPT-CONNECT
# Greeter starts and connects to remote X server
#?GREETER-X-127.0.0.1:98 START
-#?XSERVER-98 TCP-ACCEPT-CONNECT
+#?XSERVER-98 ACCEPT-CONNECT
#?GREETER-X-127.0.0.1:98 CONNECT-XSERVER
#?GREETER-X-127.0.0.1:98 CONNECT-TO-DAEMON
#?GREETER-X-127.0.0.1:98 CONNECTED-TO-DAEMON
# Session starts
#?SESSION-X-127.0.0.1:98 START USER=have-password1
-#?XSERVER-98 TCP-ACCEPT-CONNECT
+#?XSERVER-98 ACCEPT-CONNECT
#?SESSION-X-127.0.0.1:98 CONNECT-XSERVER
# Clean up
[LightDM]
start-default-seat=false
-minimum-display-number=50
[XDMCPServer]
enabled=true
#?XSERVER-98 SEND-MANAGE SESSION-ID=[0-9]* DISPLAY-NUMBER=98 DISPLAY-CLASS="DISPLAY CLASS"
# LightDM connects to X server
-#?XSERVER-98 TCP-ACCEPT-CONNECT
+#?XSERVER-98 ACCEPT-CONNECT
# Greeter starts and connects to remote X server
#?GREETER-X-127.0.0.1:98 START
-#?XSERVER-98 TCP-ACCEPT-CONNECT
+#?XSERVER-98 ACCEPT-CONNECT
#?GREETER-X-127.0.0.1:98 CONNECT-XSERVER
#?GREETER-X-127.0.0.1:98 CONNECT-TO-DAEMON
#?GREETER-X-127.0.0.1:98 CONNECTED-TO-DAEMON
# Session starts
#?SESSION-X-127.0.0.1:98 START USER=have-password1
-#?XSERVER-98 TCP-ACCEPT-CONNECT
+#?XSERVER-98 ACCEPT-CONNECT
#?SESSION-X-127.0.0.1:98 CONNECT-XSERVER
# Check file descriptors
#
# Check that LightDM handles an X server that fails to start.
#
-[LightDM]
-minimum-display-number=50
[test-xserver-config]
return-value=1
#?RUNNER DAEMON-START
# X server fails to start
-#?XSERVER-50 START
-#?XSERVER-50 EXIT CODE=1
+#?XSERVER-0 START
+#?XSERVER-0 EXIT CODE=1
# Daemon stops with error
#?RUNNER DAEMON-EXIT STATUS=1
libsystem_la_SOURCES = libsystem.c
libsystem_la_CFLAGS = \
$(GLIB_CFLAGS) \
+ $(GIO_UNIX_CFLAGS) \
-DSRCDIR=\"$(abs_top_srcdir)\" \
-DBUILDDIR=\"$(abs_top_builddir)\" \
-DCONFIG_DIR=\"$(sysconfdir)/lightdm\"
-libsystem_la_LIBADD = -ldl $(GLIB_LIBS)
+libsystem_la_LIBADD = -ldl $(GLIB_LIBS) $(GIO_UNIX_LIBS)
# This is required to have autotools generate a library that is not installed
# but produces a shared library (instead of just a static library)
}
static void
-x_client_connect_cb (XClient *client, XConnect *message)
+client_connected_cb (XServer *server, XClient *client)
{
gchar *auth_error = NULL;
- if (x_client_get_address (client))
- status_notify ("XSERVER-%d TCP-ACCEPT-CONNECT", display_number);
- else
- status_notify ("XSERVER-%d ACCEPT-CONNECT", display_number);
-
- if (xdmcp_client)
- {
- if (!xdmcp_cookie)
- auth_error = g_strdup ("Need to authenticate with XDMCP");
- else
- {
- gboolean matches = TRUE;
- if (message->authorization_protocol_data_length == xdmcp_cookie_length)
- {
- guint16 i;
- for (i = 0; i < xdmcp_cookie_length && message->authorization_protocol_data[i] == xdmcp_cookie[i]; i++);
- matches = i == xdmcp_cookie_length;
- }
- else
- matches = FALSE;
-
- if (strcmp (message->authorization_protocol_name, "MIT-MAGIC-COOKIE-1") != 0)
- auth_error = g_strdup ("Authorization required");
- else if (!matches)
- auth_error = g_strdup_printf ("Invalid MIT-MAGIC-COOKIE key");
- }
- }
- else if (auth_path)
- {
- XAuthority *authority;
- XAuthorityRecord *record = NULL;
- GError *error = NULL;
-
- authority = x_authority_new ();
- x_authority_load (authority, auth_path, &error);
- if (error)
- g_warning ("Error reading auth file: %s", error->message);
- g_clear_error (&error);
-
- if (x_client_get_address (client))
- record = x_authority_match_localhost (authority, message->authorization_protocol_name); // FIXME: Should check if remote
- else
- record = x_authority_match_local (authority, message->authorization_protocol_name);
- if (record)
- {
- if (strcmp (message->authorization_protocol_name, "MIT-MAGIC-COOKIE-1") == 0)
- {
- if (!x_authority_record_check_cookie (record, message->authorization_protocol_data, message->authorization_protocol_data_length))
- auth_error = g_strdup_printf ("Invalid MIT-MAGIC-COOKIE key");
- }
- else
- auth_error = g_strdup_printf ("Unknown authorization: '%s'", message->authorization_protocol_name);
- }
- else
- auth_error = g_strdup ("No authorization record");
- }
+ status_notify ("XSERVER-%d ACCEPT-CONNECT", display_number);
if (auth_error)
x_client_send_failed (client, auth_error);
g_free (auth_error);
}
-static void
-client_connected_cb (XServer *server, XClient *client)
-{
- g_signal_connect (client, "connect", G_CALLBACK (x_client_connect_cb), NULL);
-}
-
static void
client_disconnected_cb (XServer *server, XClient *client)
{
xserver = x_server_new (display_number);
g_signal_connect (xserver, "client-connected", G_CALLBACK (client_connected_cb), NULL);
g_signal_connect (xserver, "client-disconnected", G_CALLBACK (client_disconnected_cb), NULL);
- x_server_set_listen_unix (xserver, listen_unix);
- x_server_set_listen_tcp (xserver, listen_tcp);
-
- /* Add fake screen so that libx11 calls don't freak out when they can't find a screen */
- x_server_add_screen (xserver, 0xffffff, 0x000000, 0, 1024, 768, 1000, 1000);
status_notify ("XSERVER-%d START", display_number);
}
static void
-x_client_connect_cb (XClient *client, XConnect *message)
+client_connected_cb (XServer *server, XClient *client)
{
gchar *auth_error = NULL;
- if (x_client_get_address (client))
- status_notify ("XSERVER-%d TCP-ACCEPT-CONNECT", display_number);
- else
- status_notify ("XSERVER-%d ACCEPT-CONNECT", display_number);
-
- if (auth_path)
- {
- XAuthority *authority;
- XAuthorityRecord *record = NULL;
- GError *error = NULL;
-
- authority = x_authority_new ();
- x_authority_load (authority, auth_path, &error);
- if (error)
- g_warning ("Error reading auth file: %s", error->message);
- g_clear_error (&error);
-
- if (x_client_get_address (client))
- record = x_authority_match_localhost (authority, message->authorization_protocol_name); // FIXME: Should check if remote
- else
- record = x_authority_match_local (authority, message->authorization_protocol_name);
- if (record)
- {
- if (strcmp (message->authorization_protocol_name, "MIT-MAGIC-COOKIE-1") == 0)
- {
- if (!x_authority_record_check_cookie (record, message->authorization_protocol_data, message->authorization_protocol_data_length))
- auth_error = g_strdup_printf ("Invalid MIT-MAGIC-COOKIE key");
- }
- else
- auth_error = g_strdup_printf ("Unknown authorization: '%s'", message->authorization_protocol_name);
- }
- else
- auth_error = g_strdup ("No authorization record");
- }
+ status_notify ("XSERVER-%d ACCEPT-CONNECT", display_number);
if (auth_error)
x_client_send_failed (client, auth_error);
g_free (auth_error);
}
-static void
-client_connected_cb (XServer *server, XClient *client)
-{
- g_signal_connect (client, "connect", G_CALLBACK (x_client_connect_cb), NULL);
-}
-
static void
client_disconnected_cb (XServer *server, XClient *client)
{
gboolean has_option = FALSE;
gchar *geometry = g_strdup ("640x480");
gint depth = 8;
+ gchar *lock_filename;
int lock_file;
int i;
xserver = x_server_new (display_number);
g_signal_connect (xserver, "client-connected", G_CALLBACK (client_connected_cb), NULL);
g_signal_connect (xserver, "client-disconnected", G_CALLBACK (client_disconnected_cb), NULL);
- x_server_set_listen_unix (xserver, listen_unix);
- x_server_set_listen_tcp (xserver, listen_tcp);
status_notify ("XSERVER-%d START GEOMETRY=%s DEPTH=%d OPTION=%s", display_number, geometry, depth, has_option ? "TRUE" : "FALSE");
return EXIT_FAILURE;
}
- lock_path = g_strdup_printf ("/tmp/.X%d-lock", display_number);
+ lock_filename = g_strdup_printf (".X%d-lock", display_number);
+ lock_path = g_build_filename (g_getenv ("LIGHTDM_TEST_ROOT"), "tmp", lock_filename, NULL);
+ g_free (lock_filename);
lock_file = open (lock_path, O_CREAT | O_EXCL | O_WRONLY, 0444);
if (lock_file < 0)
{
#include <linux/vt.h>
#endif
#include <glib.h>
+#include <xcb/xcb.h>
+#include <gio/gunixsocketaddress.h>
#define LOGIN_PROMPT "login:"
endutxent (void)
{
}
+
+struct xcb_connection_t
+{
+ gchar *display;
+ int error;
+ GSocket *socket;
+};
+
+xcb_connection_t *
+xcb_connect_to_display_with_auth_info (const char *display, xcb_auth_info_t *auth, int *screen)
+{
+ xcb_connection_t *c;
+ gchar *socket_path;
+ GSocketAddress *address;
+ GError *error = NULL;
+
+ c = malloc (sizeof (xcb_connection_t));
+ c->display = g_strdup (display);
+ c->error = 0;
+
+ if (display == NULL)
+ display = getenv ("DISPLAY");
+ if (display == NULL)
+ c->error = XCB_CONN_CLOSED_PARSE_ERR;
+
+ if (c->error == 0)
+ {
+ c->socket = g_socket_new (G_SOCKET_FAMILY_UNIX, G_SOCKET_TYPE_STREAM, G_SOCKET_PROTOCOL_DEFAULT, &error);
+ if (error)
+ g_printerr ("%s\n", error->message);
+ g_clear_error (&error);
+ if (c->socket == NULL)
+ c->error = XCB_CONN_ERROR;
+ }
+
+ if (c->error == 0)
+ {
+ const gchar *d;
+
+ /* Skip the hostname, we'll assume it's localhost */
+ d = strchr (display, ':');
+
+ socket_path = g_build_filename (g_getenv ("LIGHTDM_TEST_ROOT"), "tmp", d, NULL);
+ address = g_unix_socket_address_new (socket_path);
+ g_free (socket_path);
+ if (!g_socket_connect (c->socket, address, NULL, &error))
+ c->error = XCB_CONN_ERROR;
+ if (error)
+ g_printerr ("%s\n", error->message);
+ g_clear_error (&error);
+ }
+
+ // FIXME: Send auth info
+ if (c->error == 0)
+ {
+ }
+
+ g_object_unref (address);
+
+ return c;
+}
+
+xcb_connection_t *
+xcb_connect (const char *displayname, int *screenp)
+{
+ return xcb_connect_to_display_with_auth_info(displayname, NULL, screenp);
+}
+
+int
+xcb_connection_has_error (xcb_connection_t *c)
+{
+ return c->error;
+}
+
+void
+xcb_disconnect (xcb_connection_t *c)
+{
+ free (c->display);
+ if (c->socket)
+ g_object_unref (c->socket);
+ free (c);
+}
}
g_free (r);
- r = g_strdup_printf ("%s LOG-LAYOUT", greeter_id);
- if (strcmp (request, r) == 0)
- {
- const gchar *layout;
- layout = lightdm_layout_get_name (lightdm_get_layout ());
- status_notify ("%s LOG-LAYOUT LAYOUT='%s'", greeter_id, layout ? layout : "");
- }
-
r = g_strdup_printf ("%s LOG-LAYOUT USERNAME=", greeter_id);
if (g_str_has_prefix (request, r))
{
}
g_free (r);
- r = g_strdup_printf ("%s LOG-VARIANTS LAYOUT=", greeter_id);
- if (g_str_has_prefix (request, r))
- {
- GList *layouts, *iter;
- const gchar *layout_prefix;
-
- layout_prefix = request + strlen (r);
- layouts = lightdm_get_layouts ();
-
- for (iter = layouts; iter; iter = iter->next)
- {
- LightDMLayout *layout;
- const gchar *name;
-
- layout = (LightDMLayout *) iter->data;
- name = lightdm_layout_get_name (layout);
-
- if (g_str_has_prefix (name, layout_prefix))
- status_notify ("%s LOG-VARIANTS LAYOUT='%s'", greeter_id, name);
- }
- }
- g_free (r);
-
r = g_strdup_printf ("%s LOG-LANGUAGE USERNAME=", greeter_id);
if (g_str_has_prefix (request, r))
{
}
g_free (r);
- r = g_strdup_printf ("GREETER %s GET-CAN-SUSPEND", getenv ("DISPLAY"));
+ r = g_strdup_printf ("%s GET-CAN-SUSPEND", greeter_id);
if (strcmp (request, r) == 0)
{
gboolean can_suspend = lightdm_get_can_suspend ();
- status_notify ("GREETER %s CAN-SUSPEND ALLOWED=%s", getenv ("DISPLAY"), can_suspend ? "TRUE" : "FALSE");
+ status_notify ("%s CAN-SUSPEND ALLOWED=%s", greeter_id, can_suspend ? "TRUE" : "FALSE");
}
g_free (r);
- r = g_strdup_printf ("GREETER %s SUSPEND", getenv ("DISPLAY"));
+ r = g_strdup_printf ("%s SUSPEND", greeter_id);
if (strcmp (request, r) == 0)
{
GError *error = NULL;
if (!lightdm_suspend (&error))
- status_notify ("GREETER %s FAIL-SUSPEND", getenv ("DISPLAY"));
+ status_notify ("%s FAIL-SUSPEND", greeter_id);
g_clear_error (&error);
}
g_free (r);
- r = g_strdup_printf ("GREETER %s GET-CAN-HIBERNATE", getenv ("DISPLAY"));
+ r = g_strdup_printf ("%s GET-CAN-HIBERNATE", greeter_id);
if (strcmp (request, r) == 0)
{
gboolean can_hibernate = lightdm_get_can_hibernate ();
- status_notify ("GREETER %s CAN-HIBERNATE ALLOWED=%s", getenv ("DISPLAY"), can_hibernate ? "TRUE" : "FALSE");
+ status_notify ("%s CAN-HIBERNATE ALLOWED=%s", greeter_id, can_hibernate ? "TRUE" : "FALSE");
}
g_free (r);
- r = g_strdup_printf ("GREETER %s HIBERNATE", getenv ("DISPLAY"));
+ r = g_strdup_printf ("%s HIBERNATE", greeter_id);
if (strcmp (request, r) == 0)
{
GError *error = NULL;
if (!lightdm_hibernate (&error))
- status_notify ("GREETER %s FAIL-HIBERNATE", getenv ("DISPLAY"));
+ status_notify ("%s FAIL-HIBERNATE", greeter_id);
g_clear_error (&error);
}
g_free (r);
- r = g_strdup_printf ("GREETER %s GET-CAN-RESTART", getenv ("DISPLAY"));
+ r = g_strdup_printf ("%s GET-CAN-RESTART", greeter_id);
if (strcmp (request, r) == 0)
{
gboolean can_restart = lightdm_get_can_restart ();
- status_notify ("GREETER %s CAN-RESTART ALLOWED=%s", getenv ("DISPLAY"), can_restart ? "TRUE" : "FALSE");
+ status_notify ("%s CAN-RESTART ALLOWED=%s", greeter_id, can_restart ? "TRUE" : "FALSE");
}
g_free (r);
- r = g_strdup_printf ("GREETER %s RESTART", getenv ("DISPLAY"));
+ r = g_strdup_printf ("%s RESTART", greeter_id);
if (strcmp (request, r) == 0)
{
GError *error = NULL;
if (!lightdm_restart (&error))
- status_notify ("GREETER %s FAIL-RESTART", getenv ("DISPLAY"));
+ status_notify ("%s FAIL-RESTART", greeter_id);
g_clear_error (&error);
}
g_free (r);
- r = g_strdup_printf ("GREETER %s GET-CAN-SHUTDOWN", getenv ("DISPLAY"));
+ r = g_strdup_printf ("%s GET-CAN-SHUTDOWN", greeter_id);
if (strcmp (request, r) == 0)
{
gboolean can_shutdown = lightdm_get_can_shutdown ();
- status_notify ("GREETER %s CAN-SHUTDOWN ALLOWED=%s", getenv ("DISPLAY"), can_shutdown ? "TRUE" : "FALSE");
+ status_notify ("%s CAN-SHUTDOWN ALLOWED=%s", greeter_id, can_shutdown ? "TRUE" : "FALSE");
}
g_free (r);
- r = g_strdup_printf ("GREETER %s SHUTDOWN", getenv ("DISPLAY"));
+ r = g_strdup_printf ("%s SHUTDOWN", greeter_id);
if (strcmp (request, r) == 0)
{
GError *error = NULL;
if (!lightdm_shutdown (&error))
- status_notify ("GREETER %s FAIL-SHUTDOWN", getenv ("DISPLAY"));
+ status_notify ("%s FAIL-SHUTDOWN", greeter_id);
g_clear_error (&error);
}
g_free (r);
layout = ''
status_notify ('%s LOG-LAYOUT USERNAME=%s LAYOUT=%s' % (greeter_id, username, layout))
- r = '%s LOG-LANGUAGE USERNAME=' % greeter_id
+ r = '%s LOG-LANGUAGE USERNAME=' % greeter_id
if request.startswith (r):
username = request[len(r):]
user = lightdm_user_list_get_user_by_name (lightdm_user_list_get_instance (), username)
language = ''
status_notify ('%s LOG-LANGUAGE USERNAME=%s LANGUAGE=%s' % (greeter_id, username, language))
- r = 'GREETER %s GET-CAN-SUSPEND' % os.getenv ('DISPLAY')
+ r = '%s GET-CAN-SUSPEND' % greeter_id
if request == r:
if LightDM.get_can_suspend ():
allowed = "TRUE"
else:
allowed = "FALSE"
- status_notify ('GREETER %s CAN-SUSPEND ALLOWED=%s' % (os.getenv ('DISPLAY'), allowed))
+ status_notify ('%s CAN-SUSPEND ALLOWED=%s' % (greeter_id, allowed))
- r = 'GREETER %s SUSPEND' % os.getenv ('DISPLAY')
+ r = '%s SUSPEND' % greeter_id
if request == r:
try:
LightDM.suspend ()
except:
- status_notify ('GREETER %s FAIL-SUSPEND' % os.getenv ('DISPLAY'))
+ status_notify ('%s FAIL-SUSPEND' % greeter_id)
- r = 'GREETER %s GET-CAN-HIBERNATE' % os.getenv ('DISPLAY')
+ r = '%s GET-CAN-HIBERNATE' % greeter_id
if request == r:
if LightDM.get_can_hibernate ():
allowed = "TRUE"
else:
allowed = "FALSE"
- status_notify ('GREETER %s CAN-HIBERNATE ALLOWED=%s' % (os.getenv ('DISPLAY'), allowed))
+ status_notify ('%s CAN-HIBERNATE ALLOWED=%s' % (greeter_id, allowed))
- r = 'GREETER %s HIBERNATE' % os.getenv ('DISPLAY')
+ r = '%s HIBERNATE' % greeter_id
if request == r:
try:
LightDM.hibernate ()
except:
- status_notify ('GREETER %s FAIL-HIBERNATE' % os.getenv ('DISPLAY'))
+ status_notify ('%s FAIL-HIBERNATE' % greeter_id)
- r = 'GREETER %s GET-CAN-RESTART' % os.getenv ('DISPLAY')
+ r = '%s GET-CAN-RESTART' % greeter_id
if request == r:
if LightDM.get_can_restart ():
allowed = "TRUE"
else:
allowed = "FALSE"
- status_notify ('GREETER %s CAN-RESTART ALLOWED=%s' % (os.getenv ('DISPLAY'), allowed))
+ status_notify ('%s CAN-RESTART ALLOWED=%s' % (greeter_id, allowed))
- r = 'GREETER %s RESTART' % os.getenv ('DISPLAY')
+ r = '%s RESTART' % greeter_id
if request == r:
try:
LightDM.restart ()
except:
- status_notify ('GREETER %s FAIL-RESTART' % os.getenv ('DISPLAY'))
+ status_notify ('%s FAIL-RESTART' % greeter_id)
- r = 'GREETER %s GET-CAN-SHUTDOWN' % os.getenv ('DISPLAY')
+ r = '%s GET-CAN-SHUTDOWN' % greeter_id
if request == r:
if LightDM.get_can_shutdown ():
allowed = "TRUE"
else:
allowed = "FALSE"
- status_notify ('GREETER %s CAN-SHUTDOWN ALLOWED=%s' % (os.getenv ('DISPLAY'), allowed))
+ status_notify ('%s CAN-SHUTDOWN ALLOWED=%s' % (greeter_id, allowed))
- r = 'GREETER %s SHUTDOWN' % os.getenv ('DISPLAY')
+ r = '%s SHUTDOWN' % greeter_id
if request == r:
try:
LightDM.shutdown ()
except:
- status_notify ('GREETER %s FAIL-SHUTDOWN' % os.getenv ('DISPLAY'))
+ status_notify ('%s FAIL-SHUTDOWN' % greeter_id)
return True
(host, display_number) = display.split (':')
if host == '':
x_socket = socket.socket (socket.AF_UNIX, socket.SOCK_STREAM)
- x_socket.connect ('/tmp/.X11-unix/X%s' % display_number)
+ x_socket.connect (os.getenv ('LIGHTDM_TEST_ROOT') + '/tmp/' + display)
else:
x_socket = socket.socket (socket.AF_INET, socket.SOCK_STREAM)
x_socket.connect ((host, 6000 + int (display_number)))
return value + '\x00' * (4 - len (value) % 4)
else:
return value
-x_socket.send (struct.pack ('!cxHHHHxx', 'B', 11, 0, len (auth_name), len (auth_data)) + pad (auth_name) + pad (auth_data))
-data = x_socket.recv (1024)
-if ord (data[0]) != 1:
- status_notify ('%s FAIL-CONNECT-XSERVER' % greeter_id)
- exit (1)
status_notify ('%s CONNECT-XSERVER' % (greeter_id))
}
g_free (r);
- r = g_strdup_printf ("GREETER %s GET-CAN-SUSPEND", getenv ("DISPLAY"));
+ r = g_strdup_printf ("%s GET-CAN-SUSPEND", greeter_id);
if (strcmp (request, r) == 0)
{
gboolean can_suspend = power->canSuspend ();
- status_notify ("GREETER %s CAN-SUSPEND ALLOWED=%s", getenv ("DISPLAY"), can_suspend ? "TRUE" : "FALSE");
+ status_notify ("%s CAN-SUSPEND ALLOWED=%s", greeter_id, can_suspend ? "TRUE" : "FALSE");
}
g_free (r);
- r = g_strdup_printf ("GREETER %s SUSPEND", getenv ("DISPLAY"));
+ r = g_strdup_printf ("%s SUSPEND", greeter_id);
if (strcmp (request, r) == 0)
{
if (!power->suspend ())
- status_notify ("GREETER %s FAIL-SUSPEND", getenv ("DISPLAY"));
+ status_notify ("%s FAIL-SUSPEND", greeter_id);
}
g_free (r);
- r = g_strdup_printf ("GREETER %s GET-CAN-HIBERNATE", getenv ("DISPLAY"));
+ r = g_strdup_printf ("%s GET-CAN-HIBERNATE", greeter_id);
if (strcmp (request, r) == 0)
{
gboolean can_hibernate = power->canHibernate ();
- status_notify ("GREETER %s CAN-HIBERNATE ALLOWED=%s", getenv ("DISPLAY"), can_hibernate ? "TRUE" : "FALSE");
+ status_notify ("%s CAN-HIBERNATE ALLOWED=%s", greeter_id, can_hibernate ? "TRUE" : "FALSE");
}
g_free (r);
- r = g_strdup_printf ("GREETER %s HIBERNATE", getenv ("DISPLAY"));
+ r = g_strdup_printf ("%s HIBERNATE", greeter_id);
if (strcmp (request, r) == 0)
{
if (!power->hibernate ())
- status_notify ("GREETER %s FAIL-HIBERNATE", getenv ("DISPLAY"));
+ status_notify ("%s FAIL-HIBERNATE", greeter_id);
}
g_free (r);
- r = g_strdup_printf ("GREETER %s GET-CAN-RESTART", getenv ("DISPLAY"));
+ r = g_strdup_printf ("%s GET-CAN-RESTART", greeter_id);
if (strcmp (request, r) == 0)
{
gboolean can_restart = power->canRestart ();
- status_notify ("GREETER %s CAN-RESTART ALLOWED=%s", getenv ("DISPLAY"), can_restart ? "TRUE" : "FALSE");
+ status_notify ("%s CAN-RESTART ALLOWED=%s", greeter_id, can_restart ? "TRUE" : "FALSE");
}
g_free (r);
- r = g_strdup_printf ("GREETER %s RESTART", getenv ("DISPLAY"));
+ r = g_strdup_printf ("%s RESTART", greeter_id);
if (strcmp (request, r) == 0)
{
if (!power->restart ())
- status_notify ("GREETER %s FAIL-RESTART", getenv ("DISPLAY"));
+ status_notify ("%s FAIL-RESTART", greeter_id);
}
g_free (r);
- r = g_strdup_printf ("GREETER %s GET-CAN-SHUTDOWN", getenv ("DISPLAY"));
+ r = g_strdup_printf ("%s GET-CAN-SHUTDOWN", greeter_id);
if (strcmp (request, r) == 0)
{
gboolean can_shutdown = power->canShutdown ();
- status_notify ("GREETER %s CAN-SHUTDOWN ALLOWED=%s", getenv ("DISPLAY"), can_shutdown ? "TRUE" : "FALSE");
+ status_notify ("%s CAN-SHUTDOWN ALLOWED=%s", greeter_id, can_shutdown ? "TRUE" : "FALSE");
}
g_free (r);
- r = g_strdup_printf ("GREETER %s SHUTDOWN", getenv ("DISPLAY"));
+ r = g_strdup_printf ("%s SHUTDOWN", greeter_id);
if (strcmp (request, r) == 0)
{
if (!power->shutdown ())
- status_notify ("GREETER %s FAIL-SHUTDOWN", getenv ("DISPLAY"));
+ status_notify ("%s FAIL-SHUTDOWN", greeter_id);
}
g_free (r);
}
#include <pwd.h>
/* Timeout in ms waiting for the status we expect */
-#define STATUS_TIMEOUT 2000
+#define STATUS_TIMEOUT 4000
/* Timeout in ms to wait for SIGTERM to be handled by a child process */
#define KILL_TIMEOUT 2000
#include <gio/gio.h>
#include <gio/gunixsocketaddress.h>
-#include "x-common.h"
#include "x-server.h"
G_DEFINE_TYPE (XServer, x_server, G_TYPE_OBJECT);
-G_DEFINE_TYPE (XScreen, x_screen, G_TYPE_OBJECT);
-G_DEFINE_TYPE (XVisual, x_visual, G_TYPE_OBJECT);
G_DEFINE_TYPE (XClient, x_client, G_TYPE_OBJECT);
#define MAXIMUM_REQUEST_LENGTH 65535
-enum
-{
- Failed = 0,
- Success = 1,
- Authenticate = 2
-};
-
-enum
-{
- Error = 0,
- Reply = 1,
-};
-
-enum
-{
- InternAtom = 16,
- GetProperty = 20,
- QueryExtension = 98,
- kbUseExtension = 200
-};
-
-enum
-{
- BadAtom = 5,
- BadImplementation = 17
-};
-
enum {
X_SERVER_CLIENT_CONNECTED,
X_SERVER_CLIENT_DISCONNECTED,
};
static guint x_server_signals[X_SERVER_LAST_SIGNAL] = { 0 };
-typedef struct
-{
- guint8 depth;
- guint8 bits_per_pixel;
- guint8 scanline_pad;
-} PixmapFormat;
-
struct XServerPrivate
{
- gchar *vendor;
-
gint display_number;
-
- guint32 motion_buffer_size;
- guint8 image_byte_order;
- guint8 bitmap_format_bit_order;
-
- guint8 min_keycode;
- guint8 max_keycode;
- GList *pixmap_formats;
- GList *screens;
-
- gboolean listen_unix;
- gboolean listen_tcp;
- gint tcp_port;
gchar *socket_path;
- GSocket *unix_socket;
- GIOChannel *unix_channel;
- GSocket *tcp_socket;
- GIOChannel *tcp_channel;
+ GSocket *socket;
+ GIOChannel *channel;
GHashTable *clients;
- GHashTable *atoms;
- gint next_atom_index;
};
struct XClientPrivate
XServer *server;
GSocket *socket;
GIOChannel *channel;
- guint8 byte_order;
- gboolean connected;
- guint16 sequence_number;
-};
-
-struct XScreenPrivate
-{
- guint32 white_pixel;
- guint32 black_pixel;
- guint32 current_input_masks;
- guint16 width_in_pixels;
- guint16 height_in_pixels;
- guint16 width_in_millimeters;
- guint16 height_in_millimeters;
- GList *visuals;
-};
-
-struct XVisualPrivate
-{
- guint32 id;
- guint8 depth;
- guint8 class;
- guint8 bits_per_rgb_value;
- guint16 colormap_entries;
- guint32 red_mask;
- guint32 green_mask;
- guint32 blue_mask;
};
enum
{
- X_CLIENT_CONNECT,
X_CLIENT_DISCONNECTED,
X_CLIENT_LAST_SIGNAL
};
static guint x_client_signals[X_CLIENT_LAST_SIGNAL] = { 0 };
-GInetAddress *
-x_client_get_address (XClient *client)
-{
- GSocketAddress *socket_address;
- GError *error = NULL;
-
- socket_address = g_socket_get_remote_address (client->priv->socket, &error);
- if (error)
- g_warning ("Error getting remote socket address");
- g_clear_error (&error);
- if (!socket_address)
- return NULL;
-
- if (G_IS_INET_SOCKET_ADDRESS (socket_address))
- return g_inet_socket_address_get_address (G_INET_SOCKET_ADDRESS (socket_address));
- else
- return NULL;
-}
-
void
x_client_send_failed (XClient *client, const gchar *reason)
{
- guint8 buffer[MAXIMUM_REQUEST_LENGTH];
- gsize n_written = 0, length_offset;
-
- write_card8 (buffer, MAXIMUM_REQUEST_LENGTH, Failed, &n_written);
- write_card8 (buffer, MAXIMUM_REQUEST_LENGTH, strlen (reason), &n_written);
- write_card16 (buffer, MAXIMUM_REQUEST_LENGTH, client->priv->byte_order, X_PROTOCOL_MAJOR_VERSION, &n_written);
- write_card16 (buffer, MAXIMUM_REQUEST_LENGTH, client->priv->byte_order, X_PROTOCOL_MINOR_VERSION, &n_written);
- length_offset = n_written;
- write_card16 (buffer, MAXIMUM_REQUEST_LENGTH, client->priv->byte_order, 0, &n_written);
- write_padded_string (buffer, MAXIMUM_REQUEST_LENGTH, reason, &n_written);
-
- write_card16 (buffer, MAXIMUM_REQUEST_LENGTH, client->priv->byte_order, (n_written - length_offset) / 4, &length_offset);
-
- send (g_io_channel_unix_get_fd (client->priv->channel), buffer, n_written, 0);
+ gchar *message;
+
+ message = g_strdup_printf ("FAILED:%s", reason);
+ send (g_io_channel_unix_get_fd (client->priv->channel), message, strlen (message), 0);
+ g_free (message);
}
void
x_client_send_success (XClient *client)
{
- XServer *server = client->priv->server;
- guint8 buffer[MAXIMUM_REQUEST_LENGTH];
- gsize n_written = 0, length_offset;
- GList *link;
-
- write_card8 (buffer, MAXIMUM_REQUEST_LENGTH, Success, &n_written);
- write_padding (buffer, MAXIMUM_REQUEST_LENGTH, 1, &n_written);
- write_card16 (buffer, MAXIMUM_REQUEST_LENGTH, client->priv->byte_order, X_PROTOCOL_MAJOR_VERSION, &n_written);
- write_card16 (buffer, MAXIMUM_REQUEST_LENGTH, client->priv->byte_order, X_PROTOCOL_MINOR_VERSION, &n_written);
- length_offset = n_written;
- write_card16 (buffer, MAXIMUM_REQUEST_LENGTH, client->priv->byte_order, 0, &n_written);
- write_card32 (buffer, MAXIMUM_REQUEST_LENGTH, client->priv->byte_order, X_RELEASE_NUMBER, &n_written);
- write_card32 (buffer, MAXIMUM_REQUEST_LENGTH, client->priv->byte_order, 0x00a00000, &n_written); // resource-id-base
- write_card32 (buffer, MAXIMUM_REQUEST_LENGTH, client->priv->byte_order, 0x001fffff, &n_written); // resource-id-mask
- write_card32 (buffer, MAXIMUM_REQUEST_LENGTH, client->priv->byte_order, server->priv->motion_buffer_size, &n_written);
- write_card16 (buffer, MAXIMUM_REQUEST_LENGTH, client->priv->byte_order, strlen (client->priv->server->priv->vendor), &n_written);
- write_card16 (buffer, MAXIMUM_REQUEST_LENGTH, client->priv->byte_order, MAXIMUM_REQUEST_LENGTH, &n_written);
- write_card8 (buffer, MAXIMUM_REQUEST_LENGTH, g_list_length (server->priv->screens), &n_written);
- write_card8 (buffer, MAXIMUM_REQUEST_LENGTH, g_list_length (server->priv->pixmap_formats), &n_written);
- write_card8 (buffer, MAXIMUM_REQUEST_LENGTH, server->priv->image_byte_order, &n_written);
- write_card8 (buffer, MAXIMUM_REQUEST_LENGTH, server->priv->bitmap_format_bit_order, &n_written);
- write_card8 (buffer, MAXIMUM_REQUEST_LENGTH, 32, &n_written); // bitmap-format-scanline-unit
- write_card8 (buffer, MAXIMUM_REQUEST_LENGTH, 32, &n_written); // bitmap-format-scanline-pad
- write_card8 (buffer, MAXIMUM_REQUEST_LENGTH, server->priv->min_keycode, &n_written);
- write_card8 (buffer, MAXIMUM_REQUEST_LENGTH, server->priv->max_keycode, &n_written);
- write_padding (buffer, MAXIMUM_REQUEST_LENGTH, 4, &n_written);
- write_padded_string (buffer, MAXIMUM_REQUEST_LENGTH, client->priv->server->priv->vendor, &n_written);
-
- for (link = server->priv->pixmap_formats; link; link = link->next)
- {
- PixmapFormat *format = link->data;
- write_card8 (buffer, MAXIMUM_REQUEST_LENGTH, format->depth, &n_written);
- write_card8 (buffer, MAXIMUM_REQUEST_LENGTH, format->bits_per_pixel, &n_written);
- write_card8 (buffer, MAXIMUM_REQUEST_LENGTH, format->scanline_pad, &n_written);
- write_padding (buffer, MAXIMUM_REQUEST_LENGTH, 5, &n_written);
- }
-
- for (link = server->priv->screens; link; link = link->next)
- {
- XScreen *screen = link->data;
- guint8 depth, n_depths = 0;
- gsize n_depths_offset;
-
- write_card32 (buffer, MAXIMUM_REQUEST_LENGTH, client->priv->byte_order, 87, &n_written); // root
- write_card32 (buffer, MAXIMUM_REQUEST_LENGTH, client->priv->byte_order, 32, &n_written); // default-colormap
- write_card32 (buffer, MAXIMUM_REQUEST_LENGTH, client->priv->byte_order, screen->priv->white_pixel, &n_written);
- write_card32 (buffer, MAXIMUM_REQUEST_LENGTH, client->priv->byte_order, screen->priv->black_pixel, &n_written);
- write_card32 (buffer, MAXIMUM_REQUEST_LENGTH, client->priv->byte_order, screen->priv->current_input_masks, &n_written);
- write_card16 (buffer, MAXIMUM_REQUEST_LENGTH, client->priv->byte_order, screen->priv->width_in_pixels, &n_written);
- write_card16 (buffer, MAXIMUM_REQUEST_LENGTH, client->priv->byte_order, screen->priv->height_in_pixels, &n_written);
- write_card16 (buffer, MAXIMUM_REQUEST_LENGTH, client->priv->byte_order, screen->priv->width_in_millimeters, &n_written);
- write_card16 (buffer, MAXIMUM_REQUEST_LENGTH, client->priv->byte_order, screen->priv->height_in_millimeters, &n_written);
- write_card16 (buffer, MAXIMUM_REQUEST_LENGTH, client->priv->byte_order, 1, &n_written); // min-installed-maps
- write_card16 (buffer, MAXIMUM_REQUEST_LENGTH, client->priv->byte_order, 1, &n_written); // max-installed-maps
- write_card32 (buffer, MAXIMUM_REQUEST_LENGTH, client->priv->byte_order, 34, &n_written); // root-visual
- write_card8 (buffer, MAXIMUM_REQUEST_LENGTH, 0, &n_written); // backing-stores
- write_card8 (buffer, MAXIMUM_REQUEST_LENGTH, 0, &n_written); // save-unders
- write_card8 (buffer, MAXIMUM_REQUEST_LENGTH, 24, &n_written); // root-depth
- n_depths_offset = n_written;
- write_card8 (buffer, MAXIMUM_REQUEST_LENGTH, 0, &n_written);
-
- depth = 0;
- while (TRUE)
- {
- GList *visual_link;
- guint16 n_visuals = 0;
-
- /* Find the next depth to this one */
- guint8 next_depth = 255;
- for (visual_link = screen->priv->visuals; visual_link; visual_link = visual_link->next)
- {
- XVisual *visual = visual_link->data;
- if (visual->priv->depth > depth && visual->priv->depth < next_depth)
- next_depth = visual->priv->depth;
- }
- if (next_depth == 255)
- break;
- depth = next_depth;
- n_depths++;
-
- for (visual_link = screen->priv->visuals; visual_link; visual_link = visual_link->next)
- {
- XVisual *visual = visual_link->data;
- if (visual->priv->depth == depth)
- n_visuals++;
- }
-
- write_card8 (buffer, MAXIMUM_REQUEST_LENGTH, depth, &n_written);
- write_padding (buffer, MAXIMUM_REQUEST_LENGTH, 1, &n_written);
- write_card16 (buffer, MAXIMUM_REQUEST_LENGTH, client->priv->byte_order, n_visuals, &n_written);
- write_padding (buffer, MAXIMUM_REQUEST_LENGTH, 4, &n_written);
-
- for (visual_link = screen->priv->visuals; visual_link; visual_link = visual_link->next)
- {
- XVisual *visual = visual_link->data;
-
- if (visual->priv->depth != depth)
- continue;
-
- write_card32 (buffer, MAXIMUM_REQUEST_LENGTH, client->priv->byte_order, visual->priv->id, &n_written);
- write_card8 (buffer, MAXIMUM_REQUEST_LENGTH, visual->priv->class, &n_written);
- write_card8 (buffer, MAXIMUM_REQUEST_LENGTH, visual->priv->bits_per_rgb_value, &n_written);
- write_card16 (buffer, MAXIMUM_REQUEST_LENGTH, client->priv->byte_order, visual->priv->colormap_entries, &n_written);
- write_card32 (buffer, MAXIMUM_REQUEST_LENGTH, client->priv->byte_order, visual->priv->red_mask, &n_written);
- write_card32 (buffer, MAXIMUM_REQUEST_LENGTH, client->priv->byte_order, visual->priv->green_mask, &n_written);
- write_card32 (buffer, MAXIMUM_REQUEST_LENGTH, client->priv->byte_order, visual->priv->blue_mask, &n_written);
- write_padding (buffer, MAXIMUM_REQUEST_LENGTH, 4, &n_written);
- }
- }
-
- write_card8 (buffer, MAXIMUM_REQUEST_LENGTH, n_depths, &n_depths_offset);
- }
-
- write_card16 (buffer, MAXIMUM_REQUEST_LENGTH, client->priv->byte_order, (n_written - length_offset) / 4, &length_offset);
-
- send (g_io_channel_unix_get_fd (client->priv->channel), buffer, n_written, 0);
-}
-
-void
-x_client_send_error (XClient *client, int type, int major, int minor)
-{
- guint8 buffer[MAXIMUM_REQUEST_LENGTH];
- gsize n_written = 0;
-
- write_card8 (buffer, MAXIMUM_REQUEST_LENGTH, Error, &n_written);
- write_card8 (buffer, MAXIMUM_REQUEST_LENGTH, type, &n_written);
- write_card16 (buffer, MAXIMUM_REQUEST_LENGTH, client->priv->byte_order, client->priv->sequence_number, &n_written);
- write_card32 (buffer, MAXIMUM_REQUEST_LENGTH, client->priv->byte_order, 0, &n_written); /* resourceID */
- write_card16 (buffer, MAXIMUM_REQUEST_LENGTH, client->priv->byte_order, minor, &n_written);
- write_card8 (buffer, MAXIMUM_REQUEST_LENGTH, major, &n_written);
- write_padding (buffer, MAXIMUM_REQUEST_LENGTH, 21, &n_written);
+ gchar *message;
- send (g_io_channel_unix_get_fd (client->priv->channel), buffer, n_written, 0);
+ message = g_strdup ("SUCCESS");
+ send (g_io_channel_unix_get_fd (client->priv->channel), message, strlen (message), 0);
+ g_free (message);
}
void
x_client_init (XClient *client)
{
client->priv = G_TYPE_INSTANCE_GET_PRIVATE (client, x_client_get_type (), XClientPrivate);
- client->priv->sequence_number = 1;
}
static void
{
g_type_class_add_private (klass, sizeof (XClientPrivate));
- x_client_signals[X_CLIENT_CONNECT] =
- g_signal_new ("connect",
- G_TYPE_FROM_CLASS (klass),
- G_SIGNAL_RUN_LAST,
- G_STRUCT_OFFSET (XClientClass, connect),
- NULL, NULL,
- g_cclosure_marshal_VOID__POINTER,
- G_TYPE_NONE, 1, G_TYPE_POINTER);
x_client_signals[X_CLIENT_DISCONNECTED] =
g_signal_new ("disconnected",
G_TYPE_FROM_CLASS (klass),
{
XServer *server = g_object_new (x_server_get_type (), NULL);
server->priv->display_number = display_number;
- server->priv->tcp_port = 6000 + display_number;
return server;
}
-XScreen *
-x_server_add_screen (XServer *server, guint32 white_pixel, guint32 black_pixel, guint32 current_input_masks, guint16 width_in_pixels, guint16 height_in_pixels, guint16 width_in_millimeters, guint16 height_in_millimeters)
-{
- XScreen *screen;
-
- screen = g_object_new (x_screen_get_type (), NULL);
-
- screen->priv->white_pixel = white_pixel;
- screen->priv->black_pixel = black_pixel;
- screen->priv->current_input_masks = current_input_masks;
- screen->priv->width_in_pixels = width_in_pixels;
- screen->priv->height_in_pixels = height_in_pixels;
- screen->priv->width_in_millimeters = width_in_millimeters;
- screen->priv->height_in_millimeters = height_in_millimeters;
-
- server->priv->screens = g_list_append (server->priv->screens, screen);
-
- return screen;
-}
-
-void
-x_server_add_pixmap_format (XServer *server, guint8 depth, guint8 bits_per_pixel, guint8 scanline_pad)
-{
- PixmapFormat *format;
-
- format = g_malloc0 (sizeof (PixmapFormat));
- format->depth = depth;
- format->bits_per_pixel = bits_per_pixel;
- format->scanline_pad = scanline_pad;
- server->priv->pixmap_formats = g_list_append (server->priv->pixmap_formats, format);
-}
-
-void
-x_server_set_listen_unix (XServer *server, gboolean listen_unix)
-{
- server->priv->listen_unix = listen_unix;
-}
-
-void
-x_server_set_listen_tcp (XServer *server, gboolean listen_tcp)
-{
- server->priv->listen_tcp = listen_tcp;
-}
-
-XVisual *
-x_screen_add_visual (XScreen *screen, guint8 depth, guint8 class, guint8 bits_per_rgb_value, guint16 colormap_entries, guint32 red_mask, guint32 green_mask, guint32 blue_mask)
-{
- XVisual *visual;
-
- visual = g_object_new (x_visual_get_type (), NULL);
- visual->priv->id = 0; // FIXME
- visual->priv->depth = depth;
- visual->priv->class = class;
- visual->priv->bits_per_rgb_value = bits_per_rgb_value;
- visual->priv->colormap_entries = colormap_entries;
- visual->priv->red_mask = red_mask;
- visual->priv->green_mask = green_mask;
- visual->priv->blue_mask = blue_mask;
-
- return visual;
-}
-
-static void
-decode_connection_request (XClient *client, const guint8 *buffer, gssize buffer_length)
-{
- guint8 byte_order;
- gsize offset = 0;
- guint16 n;
- XConnect *message;
-
- byte_order = read_card8 (buffer, buffer_length, &offset);
- if (!(byte_order == 'B' || byte_order == 'l'))
- {
- g_warning ("Invalid byte order");
- return;
- }
-
- message = g_malloc0 (sizeof (XConnect));
-
- message->byte_order = byte_order == 'B' ? X_BYTE_ORDER_MSB : X_BYTE_ORDER_LSB;
- read_padding (1, &offset);
- message->protocol_major_version = read_card16 (buffer, buffer_length, message->byte_order, &offset);
- message->protocol_minor_version = read_card16 (buffer, buffer_length, message->byte_order, &offset);
- n = read_card16 (buffer, buffer_length, message->byte_order, &offset);
- message->authorization_protocol_data_length = read_card16 (buffer, buffer_length, message->byte_order, &offset);
- read_padding (2, &offset);
- message->authorization_protocol_name = read_padded_string (buffer, buffer_length, n, &offset);
- message->authorization_protocol_data = read_string8 (buffer, buffer_length, message->authorization_protocol_data_length, &offset);
- read_padding (pad (message->authorization_protocol_data_length), &offset);
-
- /* Store information about the client */
- client->priv->byte_order = message->byte_order;
- client->priv->connected = TRUE;
-
- g_signal_emit (client, x_client_signals[X_CLIENT_CONNECT], 0, message);
-
- g_free (message->authorization_protocol_name);
- g_free (message->authorization_protocol_data);
- g_free (message);
-}
-
-static void
-process_intern_atom (XClient *client, const guint8 *buffer, gssize buffer_length)
-{
- /* Decode */
-
- gsize offset = 0;
- guint8 onlyIfExists;
- guint16 n;
- gchar *name;
- int atom;
-
- read_padding (1, &offset); /* reqType */
- onlyIfExists = read_card8 (buffer, buffer_length, &offset);
- read_padding (2, &offset); /* length */
- n = read_card16 (buffer, buffer_length, client->priv->byte_order, &offset);
- read_padding (2, &offset);
- name = read_padded_string (buffer, buffer_length, n, &offset);
-
- /* Process */
-
- atom = client->priv->server->priv->next_atom_index++;
-
- if (onlyIfExists)
- {
- g_free (name);
- if (!g_hash_table_lookup (client->priv->server->priv->atoms, GINT_TO_POINTER (atom)))
- {
- x_client_send_error (client, BadAtom, InternAtom, 0);
- return;
- }
- }
- else
- g_hash_table_insert (client->priv->server->priv->atoms, GINT_TO_POINTER (atom), name);
-
- /* Reply */
-
- guint8 outBuffer[MAXIMUM_REQUEST_LENGTH];
- gsize n_written = 0;
-
- write_card8 (outBuffer, MAXIMUM_REQUEST_LENGTH, Reply, &n_written);
- write_padding (outBuffer, MAXIMUM_REQUEST_LENGTH, 1, &n_written);
- write_card16 (outBuffer, MAXIMUM_REQUEST_LENGTH, client->priv->byte_order, client->priv->sequence_number, &n_written);
- write_card32 (outBuffer, MAXIMUM_REQUEST_LENGTH, client->priv->byte_order, 0, &n_written); /* length */
- write_card32 (outBuffer, MAXIMUM_REQUEST_LENGTH, client->priv->byte_order, atom, &n_written);
- write_padding (outBuffer, MAXIMUM_REQUEST_LENGTH, 20, &n_written);
-
- send (g_io_channel_unix_get_fd (client->priv->channel), outBuffer, n_written, 0);
-}
-
-static void
-process_get_property (XClient *client, const guint8 *buffer, gssize buffer_length)
-{
- /* Decode */
-
- gsize offset = 0;
- guint8 delete;
- guint32 property;
- guint32 type;
-
- read_padding (1, &offset); /* reqType */
- delete = read_card8 (buffer, buffer_length, &offset);
- read_padding (2, &offset); /* length */
- read_padding (4, &offset); /* window */
- property = read_card32 (buffer, buffer_length, client->priv->byte_order, &offset);
- type = read_card32 (buffer, buffer_length, client->priv->byte_order, &offset);
- read_padding (4, &offset); /* longOffset */
- read_padding (4, &offset); /* longLength */
-
- /* Process */
-
- gchar *name = g_hash_table_lookup (client->priv->server->priv->atoms, GINT_TO_POINTER (property));
- GString *reply = NULL;
- guint8 format = 8;
-
- if (g_strcmp0 (name, "_XKB_RULES_NAMES") == 0)
- {
- GKeyFile *config;
-
- config = g_key_file_new ();
- g_key_file_load_from_file (config, g_build_filename (g_getenv ("LIGHTDM_TEST_ROOT"), "script", NULL), G_KEY_FILE_NONE, NULL);
-
- reply = g_string_new ("");
-
- g_string_append (reply, "evdev"); /* rules file */
- g_string_append_c (reply, 0); /* embedded null byte */
-
- g_string_append (reply, "pc105"); /* model name */
- g_string_append_c (reply, 0); /* embedded null byte */
-
- if (g_key_file_has_key (config, "test-xserver-config", "keyboard-layout", NULL))
- g_string_append (reply, g_key_file_get_string (config, "test-xserver-config", "keyboard-layout", NULL));
- else
- g_string_append (reply, "us");
- g_string_append_c (reply, 0); /* embedded null byte */
-
- if (g_key_file_has_key (config, "test-xserver-config", "keyboard-variant", NULL))
- g_string_append (reply, g_key_file_get_string (config, "test-xserver-config", "keyboard-variant", NULL));
- g_string_append_c (reply, 0); /* embedded null byte */
-
- /* no xkb options */
- g_string_append_c (reply, 0); /* embedded null byte */
-
- g_key_file_free (config);
- }
-
- if (name && delete)
- g_hash_table_remove (client->priv->server->priv->atoms, GINT_TO_POINTER (property));
-
- /* Reply */
-
- if (!reply)
- {
- x_client_send_error (client, BadImplementation, GetProperty, 0);
- return;
- }
-
- guint8 outBuffer[MAXIMUM_REQUEST_LENGTH];
- gsize n_written = 0, length_offset, packet_start;
-
- write_card8 (outBuffer, MAXIMUM_REQUEST_LENGTH, Reply, &n_written);
- write_card8 (outBuffer, MAXIMUM_REQUEST_LENGTH, format, &n_written);
- write_card16 (outBuffer, MAXIMUM_REQUEST_LENGTH, client->priv->byte_order, client->priv->sequence_number, &n_written);
- length_offset = n_written;
- write_card32 (outBuffer, MAXIMUM_REQUEST_LENGTH, client->priv->byte_order, 0, &n_written); /* length */
- write_card32 (outBuffer, MAXIMUM_REQUEST_LENGTH, client->priv->byte_order, type, &n_written);
- write_card32 (outBuffer, MAXIMUM_REQUEST_LENGTH, client->priv->byte_order, 0, &n_written); /* bytesAfter */
- write_card32 (outBuffer, MAXIMUM_REQUEST_LENGTH, client->priv->byte_order, reply->len, &n_written);
- write_padding (outBuffer, MAXIMUM_REQUEST_LENGTH, 12, &n_written);
- packet_start = n_written;
-
- write_string8 (outBuffer, MAXIMUM_REQUEST_LENGTH, (guint8 *) reply->str, reply->len, &n_written);
- write_padding (outBuffer, MAXIMUM_REQUEST_LENGTH, pad (reply->len), &n_written);
-
- write_card32 (outBuffer, MAXIMUM_REQUEST_LENGTH, client->priv->byte_order, (n_written - packet_start) / 4, &length_offset);
-
- send (g_io_channel_unix_get_fd (client->priv->channel), outBuffer, n_written, 0);
-
- /* Cleanup */
-
- g_string_free (reply, TRUE);
-}
-
-static void
-process_query_extension (XClient *client, const guint8 *buffer, gssize buffer_length)
-{
- /* Decode */
-
- gsize offset = 0;
- guint8 n;
- gchar *name;
-
- read_padding (1, &offset); /* reqType */
- read_padding (1, &offset); /* pad */
- read_padding (2, &offset); /* length */
- n = read_card16 (buffer, buffer_length, client->priv->byte_order, &offset);
- read_padding (2, &offset); /* pad */
- name = read_padded_string (buffer, buffer_length, n, &offset);
-
- /* Process */
-
- guint8 present = 0;
- if (g_strcmp0 (name, "XKEYBOARD") == 0)
- present = 1;
-
- /* Reply */
-
- guint8 outBuffer[MAXIMUM_REQUEST_LENGTH];
- gsize n_written = 0;
-
- write_card8 (outBuffer, MAXIMUM_REQUEST_LENGTH, Reply, &n_written);
- write_padding (outBuffer, MAXIMUM_REQUEST_LENGTH, 1, &n_written);
- write_card16 (outBuffer, MAXIMUM_REQUEST_LENGTH, client->priv->byte_order, client->priv->sequence_number, &n_written);
- write_card32 (outBuffer, MAXIMUM_REQUEST_LENGTH, client->priv->byte_order, 0, &n_written); /* length */
- write_card8 (outBuffer, MAXIMUM_REQUEST_LENGTH, present, &n_written);
- write_card8 (outBuffer, MAXIMUM_REQUEST_LENGTH, kbUseExtension, &n_written); /* major_opcode */
- write_card8 (outBuffer, MAXIMUM_REQUEST_LENGTH, 0, &n_written); /* first_event */
- write_card8 (outBuffer, MAXIMUM_REQUEST_LENGTH, 0, &n_written); /* first_error */
- write_padding (outBuffer, MAXIMUM_REQUEST_LENGTH, 20, &n_written);
-
- send (g_io_channel_unix_get_fd (client->priv->channel), outBuffer, n_written, 0);
-
- /* Cleanup */
-
- g_free (name);
-}
-
-static void
-process_kb_use_extension (XClient *client, const guint8 *buffer, gssize buffer_length)
-{
- /* Nothing to decode, we don't care about parameters */
-
- /* Reply */
-
- guint8 outBuffer[MAXIMUM_REQUEST_LENGTH];
- gsize n_written = 0;
-
- write_card8 (outBuffer, MAXIMUM_REQUEST_LENGTH, Reply, &n_written);
- write_card8 (outBuffer, MAXIMUM_REQUEST_LENGTH, 1, &n_written); /* supported */
- write_card16 (outBuffer, MAXIMUM_REQUEST_LENGTH, client->priv->byte_order, client->priv->sequence_number, &n_written);
- write_card32 (outBuffer, MAXIMUM_REQUEST_LENGTH, client->priv->byte_order, 0, &n_written); /* length */
- write_card16 (outBuffer, MAXIMUM_REQUEST_LENGTH, client->priv->byte_order, 1, &n_written); /* serverMajor */
- write_card16 (outBuffer, MAXIMUM_REQUEST_LENGTH, client->priv->byte_order, 0, &n_written); /* serverMinor */
- write_padding (outBuffer, MAXIMUM_REQUEST_LENGTH, 20, &n_written);
-
- send (g_io_channel_unix_get_fd (client->priv->channel), outBuffer, n_written, 0);
-}
-
-static void
-decode_request (XClient *client, const guint8 *buffer, gssize buffer_length)
-{
- int opcode;
- gsize offset = 0;
-
- while (offset < buffer_length)
- {
- gsize start_offset;
- guint16 length;
-
- start_offset = offset;
- opcode = read_card8 (buffer, buffer_length, &offset);
- read_card8 (buffer, buffer_length, &offset);
- length = read_card16 (buffer, buffer_length, client->priv->byte_order, &offset) * 4;
-
- g_debug ("Got opcode=%d length=%d", opcode, length);
- offset = start_offset + length;
-
- switch (opcode)
- {
- case InternAtom:
- process_intern_atom (client, buffer + start_offset, length);
- break;
- case GetProperty:
- process_get_property (client, buffer + start_offset, length);
- break;
- case QueryExtension:
- process_query_extension (client, buffer + start_offset, length);
- break;
- case kbUseExtension:
- process_kb_use_extension (client, buffer + start_offset, length);
- break;
- default:
- /* Send an error because we don't understand the opcode yet */
- x_client_send_error (client, BadImplementation, opcode, 0);
- break;
- }
-
- client->priv->sequence_number++;
- }
-}
-
-static gboolean
-socket_data_cb (GIOChannel *channel, GIOCondition condition, gpointer data)
-{
- XClient *client = data;
- guint8 buffer[MAXIMUM_REQUEST_LENGTH];
- gssize n_read;
-
- n_read = recv (g_io_channel_unix_get_fd (channel), buffer, MAXIMUM_REQUEST_LENGTH, 0);
- if (n_read < 0)
- g_warning ("Error reading from socket: %s", strerror (errno));
- else if (n_read == 0)
- {
- g_signal_emit (client, x_client_signals[X_CLIENT_DISCONNECTED], 0);
- return FALSE;
- }
- else
- {
- if (client->priv->connected)
- decode_request (client, buffer, n_read);
- else
- decode_connection_request (client, buffer, n_read);
- }
-
- return TRUE;
-}
-
static void
x_client_disconnected_cb (XClient *client, XServer *server)
{
XClient *client;
GError *error = NULL;
- if (channel == server->priv->unix_channel)
- data_socket = g_socket_accept (server->priv->unix_socket, NULL, &error);
- else
- data_socket = g_socket_accept (server->priv->tcp_socket, NULL, &error);
+ data_socket = g_socket_accept (server->priv->socket, NULL, &error);
if (error)
g_warning ("Error accepting connection: %s", strerror (errno));
g_clear_error (&error);
client->priv->socket = data_socket;
client->priv->channel = g_io_channel_unix_new (g_socket_get_fd (data_socket));
g_hash_table_insert (server->priv->clients, client->priv->channel, client);
- g_io_add_watch (client->priv->channel, G_IO_IN, socket_data_cb, client);
g_signal_emit (server, x_server_signals[X_SERVER_CLIENT_CONNECTED], 0, client);
gboolean
x_server_start (XServer *server)
{
- if (server->priv->listen_unix)
- {
- GError *error = NULL;
-
- server->priv->socket_path = g_strdup_printf ("/tmp/.X11-unix/X%d", server->priv->display_number);
+ gchar *name;
+ GError *error = NULL;
- server->priv->unix_socket = g_socket_new (G_SOCKET_FAMILY_UNIX, G_SOCKET_TYPE_STREAM, G_SOCKET_PROTOCOL_DEFAULT, &error);
- if (!server->priv->unix_socket ||
- !g_socket_bind (server->priv->unix_socket, g_unix_socket_address_new (server->priv->socket_path), TRUE, &error) ||
- !g_socket_listen (server->priv->unix_socket, &error))
- {
- g_warning ("Error creating Unix X socket: %s", error->message);
- return FALSE;
- }
- server->priv->unix_channel = g_io_channel_unix_new (g_socket_get_fd (server->priv->unix_socket));
- g_io_add_watch (server->priv->unix_channel, G_IO_IN, socket_connect_cb, server);
- }
+ name = g_strdup_printf (":%d", server->priv->display_number);
+ server->priv->socket_path = g_build_filename (g_getenv ("LIGHTDM_TEST_ROOT"), "tmp", name, NULL);
+ g_free (name);
- if (server->priv->listen_tcp)
+ server->priv->socket = g_socket_new (G_SOCKET_FAMILY_UNIX, G_SOCKET_TYPE_STREAM, G_SOCKET_PROTOCOL_DEFAULT, &error);
+ if (!server->priv->socket ||
+ !g_socket_bind (server->priv->socket, g_unix_socket_address_new (server->priv->socket_path), TRUE, &error) ||
+ !g_socket_listen (server->priv->socket, &error))
{
- GError *error = NULL;
-
- server->priv->tcp_socket = g_socket_new (G_SOCKET_FAMILY_IPV4, G_SOCKET_TYPE_STREAM, G_SOCKET_PROTOCOL_TCP, &error);
- if (!server->priv->tcp_socket ||
- !g_socket_bind (server->priv->tcp_socket, g_inet_socket_address_new (g_inet_address_new_any (G_SOCKET_FAMILY_IPV4), server->priv->tcp_port), TRUE, &error) ||
- !g_socket_listen (server->priv->tcp_socket, &error))
- {
- g_warning ("Error creating TCP/IP X socket: %s", error->message);
- return FALSE;
- }
- server->priv->tcp_channel = g_io_channel_unix_new (g_socket_get_fd (server->priv->tcp_socket));
- g_io_add_watch (server->priv->tcp_channel, G_IO_IN, socket_connect_cb, server);
+ g_warning ("Error creating Unix X socket: %s", error->message);
+ return FALSE;
}
+ server->priv->channel = g_io_channel_unix_new (g_socket_get_fd (server->priv->socket));
+ g_io_add_watch (server->priv->channel, G_IO_IN, socket_connect_cb, server);
return TRUE;
}
x_server_init (XServer *server)
{
server->priv = G_TYPE_INSTANCE_GET_PRIVATE (server, x_server_get_type (), XServerPrivate);
- server->priv->vendor = g_strdup ("");
- server->priv->min_keycode = 8;
- server->priv->min_keycode = 255;
- server->priv->screens = NULL;
- server->priv->listen_unix = TRUE;
- server->priv->listen_tcp = TRUE;
server->priv->clients = g_hash_table_new_full (g_direct_hash, g_direct_equal, (GDestroyNotify) g_io_channel_unref, g_object_unref);
- server->priv->atoms = g_hash_table_new_full (g_direct_hash, g_direct_equal, NULL, g_free);
- server->priv->next_atom_index = 1;
- g_hash_table_insert (server->priv->atoms, GINT_TO_POINTER (server->priv->next_atom_index++), g_strdup ("PRIMARY"));
- g_hash_table_insert (server->priv->atoms, GINT_TO_POINTER (server->priv->next_atom_index++), g_strdup ("SECONDARY"));
- g_hash_table_insert (server->priv->atoms, GINT_TO_POINTER (server->priv->next_atom_index++), g_strdup ("ARC"));
- g_hash_table_insert (server->priv->atoms, GINT_TO_POINTER (server->priv->next_atom_index++), g_strdup ("ATOM"));
- g_hash_table_insert (server->priv->atoms, GINT_TO_POINTER (server->priv->next_atom_index++), g_strdup ("BITMAP"));
- g_hash_table_insert (server->priv->atoms, GINT_TO_POINTER (server->priv->next_atom_index++), g_strdup ("CARDINAL"));
- g_hash_table_insert (server->priv->atoms, GINT_TO_POINTER (server->priv->next_atom_index++), g_strdup ("COLORMAP"));
- g_hash_table_insert (server->priv->atoms, GINT_TO_POINTER (server->priv->next_atom_index++), g_strdup ("CURSOR"));
- g_hash_table_insert (server->priv->atoms, GINT_TO_POINTER (server->priv->next_atom_index++), g_strdup ("CUT_BUFFER0"));
- g_hash_table_insert (server->priv->atoms, GINT_TO_POINTER (server->priv->next_atom_index++), g_strdup ("CUT_BUFFER1"));
- g_hash_table_insert (server->priv->atoms, GINT_TO_POINTER (server->priv->next_atom_index++), g_strdup ("CUT_BUFFER2"));
- g_hash_table_insert (server->priv->atoms, GINT_TO_POINTER (server->priv->next_atom_index++), g_strdup ("CUT_BUFFER3"));
- g_hash_table_insert (server->priv->atoms, GINT_TO_POINTER (server->priv->next_atom_index++), g_strdup ("CUT_BUFFER4"));
- g_hash_table_insert (server->priv->atoms, GINT_TO_POINTER (server->priv->next_atom_index++), g_strdup ("CUT_BUFFER5"));
- g_hash_table_insert (server->priv->atoms, GINT_TO_POINTER (server->priv->next_atom_index++), g_strdup ("CUT_BUFFER6"));
- g_hash_table_insert (server->priv->atoms, GINT_TO_POINTER (server->priv->next_atom_index++), g_strdup ("CUT_BUFFER7"));
- g_hash_table_insert (server->priv->atoms, GINT_TO_POINTER (server->priv->next_atom_index++), g_strdup ("DRAWABLE"));
- g_hash_table_insert (server->priv->atoms, GINT_TO_POINTER (server->priv->next_atom_index++), g_strdup ("FONT"));
- g_hash_table_insert (server->priv->atoms, GINT_TO_POINTER (server->priv->next_atom_index++), g_strdup ("INTEGER"));
- g_hash_table_insert (server->priv->atoms, GINT_TO_POINTER (server->priv->next_atom_index++), g_strdup ("PIXMAP"));
- g_hash_table_insert (server->priv->atoms, GINT_TO_POINTER (server->priv->next_atom_index++), g_strdup ("POINT"));
- g_hash_table_insert (server->priv->atoms, GINT_TO_POINTER (server->priv->next_atom_index++), g_strdup ("RECTANGLE"));
- g_hash_table_insert (server->priv->atoms, GINT_TO_POINTER (server->priv->next_atom_index++), g_strdup ("RESOURCE_MANAGER"));
- g_hash_table_insert (server->priv->atoms, GINT_TO_POINTER (server->priv->next_atom_index++), g_strdup ("RGB_COLOR_MAP"));
- g_hash_table_insert (server->priv->atoms, GINT_TO_POINTER (server->priv->next_atom_index++), g_strdup ("RGB_BEST_MAP"));
- g_hash_table_insert (server->priv->atoms, GINT_TO_POINTER (server->priv->next_atom_index++), g_strdup ("RGB_BLUE_MAP"));
- g_hash_table_insert (server->priv->atoms, GINT_TO_POINTER (server->priv->next_atom_index++), g_strdup ("RGB_DEFAULT_MAP"));
- g_hash_table_insert (server->priv->atoms, GINT_TO_POINTER (server->priv->next_atom_index++), g_strdup ("RGB_GRAY_MAP"));
- g_hash_table_insert (server->priv->atoms, GINT_TO_POINTER (server->priv->next_atom_index++), g_strdup ("RGB_GREEN_MAP"));
- g_hash_table_insert (server->priv->atoms, GINT_TO_POINTER (server->priv->next_atom_index++), g_strdup ("RGB_RED_MAP"));
- g_hash_table_insert (server->priv->atoms, GINT_TO_POINTER (server->priv->next_atom_index++), g_strdup ("STRING"));
- g_hash_table_insert (server->priv->atoms, GINT_TO_POINTER (server->priv->next_atom_index++), g_strdup ("VISUALID"));
- g_hash_table_insert (server->priv->atoms, GINT_TO_POINTER (server->priv->next_atom_index++), g_strdup ("WINDOW"));
- g_hash_table_insert (server->priv->atoms, GINT_TO_POINTER (server->priv->next_atom_index++), g_strdup ("WM_COMMAND"));
- g_hash_table_insert (server->priv->atoms, GINT_TO_POINTER (server->priv->next_atom_index++), g_strdup ("WM_HINTS"));
- g_hash_table_insert (server->priv->atoms, GINT_TO_POINTER (server->priv->next_atom_index++), g_strdup ("WM_CLIENT_MACHINE"));
- g_hash_table_insert (server->priv->atoms, GINT_TO_POINTER (server->priv->next_atom_index++), g_strdup ("WM_ICON_NAME"));
- g_hash_table_insert (server->priv->atoms, GINT_TO_POINTER (server->priv->next_atom_index++), g_strdup ("WM_ICON_SIZE"));
- g_hash_table_insert (server->priv->atoms, GINT_TO_POINTER (server->priv->next_atom_index++), g_strdup ("WM_NAME"));
- g_hash_table_insert (server->priv->atoms, GINT_TO_POINTER (server->priv->next_atom_index++), g_strdup ("WM_NORMAL_HINTS"));
- g_hash_table_insert (server->priv->atoms, GINT_TO_POINTER (server->priv->next_atom_index++), g_strdup ("WM_SIZE_HINTS"));
- g_hash_table_insert (server->priv->atoms, GINT_TO_POINTER (server->priv->next_atom_index++), g_strdup ("WM_ZOOM_HINTS"));
- g_hash_table_insert (server->priv->atoms, GINT_TO_POINTER (server->priv->next_atom_index++), g_strdup ("MIN_SPACE"));
- g_hash_table_insert (server->priv->atoms, GINT_TO_POINTER (server->priv->next_atom_index++), g_strdup ("NORM_SPACE"));
- g_hash_table_insert (server->priv->atoms, GINT_TO_POINTER (server->priv->next_atom_index++), g_strdup ("MAX_SPACE"));
- g_hash_table_insert (server->priv->atoms, GINT_TO_POINTER (server->priv->next_atom_index++), g_strdup ("END_SPACE"));
- g_hash_table_insert (server->priv->atoms, GINT_TO_POINTER (server->priv->next_atom_index++), g_strdup ("SUPERSCRIPT_X"));
- g_hash_table_insert (server->priv->atoms, GINT_TO_POINTER (server->priv->next_atom_index++), g_strdup ("SUPERSCRIPT_Y"));
- g_hash_table_insert (server->priv->atoms, GINT_TO_POINTER (server->priv->next_atom_index++), g_strdup ("SUBSCRIPT_X"));
- g_hash_table_insert (server->priv->atoms, GINT_TO_POINTER (server->priv->next_atom_index++), g_strdup ("SUBSCRIPT_Y"));
- g_hash_table_insert (server->priv->atoms, GINT_TO_POINTER (server->priv->next_atom_index++), g_strdup ("UNDERLINE_POSITION"));
- g_hash_table_insert (server->priv->atoms, GINT_TO_POINTER (server->priv->next_atom_index++), g_strdup ("UNDERLINE_THICKNESS"));
- g_hash_table_insert (server->priv->atoms, GINT_TO_POINTER (server->priv->next_atom_index++), g_strdup ("STRIKEOUT_ASCENT"));
- g_hash_table_insert (server->priv->atoms, GINT_TO_POINTER (server->priv->next_atom_index++), g_strdup ("STRIKEOUT_DESCENT"));
- g_hash_table_insert (server->priv->atoms, GINT_TO_POINTER (server->priv->next_atom_index++), g_strdup ("ITALIC_ANGLE"));
- g_hash_table_insert (server->priv->atoms, GINT_TO_POINTER (server->priv->next_atom_index++), g_strdup ("X_HEIGHT"));
- g_hash_table_insert (server->priv->atoms, GINT_TO_POINTER (server->priv->next_atom_index++), g_strdup ("QUAD_WIDTH"));
- g_hash_table_insert (server->priv->atoms, GINT_TO_POINTER (server->priv->next_atom_index++), g_strdup ("WEIGHT"));
- g_hash_table_insert (server->priv->atoms, GINT_TO_POINTER (server->priv->next_atom_index++), g_strdup ("POINT_SIZE"));
- g_hash_table_insert (server->priv->atoms, GINT_TO_POINTER (server->priv->next_atom_index++), g_strdup ("RESOLUTION"));
- g_hash_table_insert (server->priv->atoms, GINT_TO_POINTER (server->priv->next_atom_index++), g_strdup ("COPYRIGHT"));
- g_hash_table_insert (server->priv->atoms, GINT_TO_POINTER (server->priv->next_atom_index++), g_strdup ("NOTICE"));
- g_hash_table_insert (server->priv->atoms, GINT_TO_POINTER (server->priv->next_atom_index++), g_strdup ("FONT_NAME"));
- g_hash_table_insert (server->priv->atoms, GINT_TO_POINTER (server->priv->next_atom_index++), g_strdup ("FAMILY_NAME"));
- g_hash_table_insert (server->priv->atoms, GINT_TO_POINTER (server->priv->next_atom_index++), g_strdup ("FULL_NAME"));
- g_hash_table_insert (server->priv->atoms, GINT_TO_POINTER (server->priv->next_atom_index++), g_strdup ("CAP_HEIGHT"));
- g_hash_table_insert (server->priv->atoms, GINT_TO_POINTER (server->priv->next_atom_index++), g_strdup ("WM_CLASS"));
- g_hash_table_insert (server->priv->atoms, GINT_TO_POINTER (server->priv->next_atom_index++), g_strdup ("WM_TRANSIENT_FOR"));
}
static void
x_server_finalize (GObject *object)
{
XServer *server = (XServer *) object;
- g_free (server->priv->vendor);
if (server->priv->socket_path)
unlink (server->priv->socket_path);
- g_hash_table_unref (server->priv->atoms);
G_OBJECT_CLASS (x_server_parent_class)->finalize (object);
}
g_cclosure_marshal_VOID__OBJECT,
G_TYPE_NONE, 1, x_client_get_type ());
}
-
-static void
-x_screen_init (XScreen *screen)
-{
- screen->priv = G_TYPE_INSTANCE_GET_PRIVATE (screen, x_screen_get_type (), XScreenPrivate);
-}
-
-static void
-x_screen_class_init (XScreenClass *klass)
-{
- g_type_class_add_private (klass, sizeof (XScreenPrivate));
-}
-
-static void
-x_visual_init (XVisual *visual)
-{
- visual->priv = G_TYPE_INSTANCE_GET_PRIVATE (visual, x_visual_get_type (), XVisualPrivate);
-}
-
-static void
-x_visual_class_init (XVisualClass *klass)
-{
- g_type_class_add_private (klass, sizeof (XVisualPrivate));
-}
G_BEGIN_DECLS
-#define X_PROTOCOL_MAJOR_VERSION 11
-#define X_PROTOCOL_MINOR_VERSION 0
-
-#define X_RELEASE_NUMBER 0
-
-typedef struct
-{
- guint8 byte_order;
- guint16 protocol_major_version, protocol_minor_version;
- gchar *authorization_protocol_name;
- guint8 *authorization_protocol_data;
- guint16 authorization_protocol_data_length;
-} XConnect;
-
typedef struct XClientPrivate XClientPrivate;
typedef struct
typedef struct
{
GObjectClass parent_class;
- void (*connect)(XClient *client, XConnect *message);
void (*disconnected)(XClient *client);
} XClientClass;
-typedef struct XScreenPrivate XScreenPrivate;
-
-typedef struct
-{
- GObject parent_instance;
- XScreenPrivate *priv;
-} XScreen;
-
-typedef struct
-{
- GObjectClass parent_class;
-} XScreenClass;
-
-typedef struct XVisualPrivate XVisualPrivate;
-
-typedef struct
-{
- GObject parent_instance;
- XVisualPrivate *priv;
-} XVisual;
-
-typedef struct
-{
- GObjectClass parent_class;
-} XVisualClass;
-
typedef struct XServerPrivate XServerPrivate;
typedef struct
XServer *x_server_new (gint display_number);
-XScreen *x_server_add_screen (XServer *server, guint32 white_pixel, guint32 black_pixel, guint32 current_input_masks, guint16 width_in_pixels, guint16 height_in_pixels, guint16 width_in_millimeters, guint16 height_in_millimeters);
-
-void x_server_add_pixmap_format (XServer *server, guint8 depth, guint8 bits_per_pixel, guint8 scanline_pad);
-
-void x_server_set_listen_unix (XServer *server, gboolean listen_unix);
-
-void x_server_set_listen_tcp (XServer *server, gboolean listen_tcp);
-
gboolean x_server_start (XServer *server);
gsize x_server_get_n_clients (XServer *server);
-GType x_screen_get_type (void);
-
-XVisual *x_screen_add_visual (XScreen *screen, guint8 depth, guint8 class, guint8 bits_per_rgb_value, guint16 colormap_entries, guint32 red_mask, guint32 green_mask, guint32 blue_mask);
-
-GType x_visual_get_type (void);
-
GType x_client_get_type (void);
-GInetAddress *x_client_get_address (XClient *client);
-
void x_client_send_failed (XClient *client, const gchar *reason);
void x_client_send_success (XClient *client);
+++ /dev/null
-#!/bin/sh
-./src/dbus-env ./src/test-runner default-keyboard-layout test-gobject-greeter
+++ /dev/null
-#!/bin/sh
-./src/dbus-env ./src/test-runner keyboard-variants test-gobject-greeter