2
Running KDE Frameworks 5, Plasma 5, using sddm
as a display manager.
ConsoleKit
and PAM-linux
are both installed.
Upon login (using the sddm
login screen), ck-list-sessions
returns FALSE
for both is-local
and active
. Only one session is present.
If I log out, then back in, the two fields are both TRUE
, as expected.
sddm
is not a console-kit supporting dm. Therefore, I am using the pam_ck_connector.so
module to attach a consolekit session.
The sddm startup file (/usr/share/sddm/scripts/Xsession
) is modified to launch using the line:
eval exec "ck-launch-session dbus-lauch --exit-with-session $session"
The (I think relevant) pam files are as follows:
/etc/pam.d/sddm
:
auth include system-auth
account include system-account
password include system-password
session include system-session
session optional pam_loginuid.so
session optional pam_ck_connector.so nox11
session optional pam_warn.so
/etc/pam.d/sddm-greeter
:
# Load environment from /etc/environment and ~/.pam_environment
auth required pam_env.so
# Always let the greeter start without authentication
auth required pam_permit.so
# No action required for account management
account required pam_permit.so
# Can't change password
password required pam_deny.so
# Setup session
session required pam_unix.so
#session optional pam_loginuid.so
session optional pam_ck_connector.so
session optional pam_warn.so
pam_warn.so
lines have been added to force logging to the /var/log/auth.log
file. A typical login looks something like:
<date/time> <pc-name> sddm-helper: pam_unix(sddm-greeter:session): session opened for user sddm by (uid=0)
<date/time> <pc-name> sddm-helper: pam_warn(sddm-greeter:session): function=[pam_sm_open_session] flags=0 service=[sddm-greeter] terminal=[:0] user=[sddm] ruser=[<unknown>] rhost=[<unknown>]
<date/time> <pc-name> sddm-helper: pam_unix(sddm:session): session opened for user <user-name> by (uid=0)
<date/time> <pc-name> sddm-helper: pam_ck_connector(sddm:session): nox11 mode, ignoring PAM_TTY :0
<date/time> <pc-name> sddm-helper: pam_warn(sddm:session): function= [pam_sm_open_session] flags=0 service= [sddm] terminal=[:0] user=[<user-name>] ruser=[<unknown>] rhost=[<unknown>]
<date/time> <pc-name> polkitd[810]: Registered Authentication Agent for unix-session:/org/freedesktop/ConsoleKit/Session4 (system bus name :1.38 [/opt/kde/lib64/libexec/polkit-kde-authentication-agent-1], object path /org/kde/PolicyKit1/AuthenticationAgent, locale en_GB.ISO-8859-1)
How can I make my system start normally the first time?
The Xsession changes seem redundant with pam_ck_connector. Perhaps they're what breaks the login? The
nox11
flag as well. – user1686 – 2015-06-09T05:30:02.257So you suggest returning to
eval exec "$session"
andpam_ck_connector.so
(withoutnox11
)? – chrisb2244 – 2015-06-09T05:48:04.313Making those changes, then logging out, switching to a text-based tty, then using
init 3
, followed byinit 5
, logging back in and runningck-list-sessions
givesactive = FALSE
andis-local = TRUE
. From here, runningck-launch-session ck-list-sessions
returns two sessions (of course), the second of which (the newly spawned session) isTRUE/TRUE
. This remains the case on logout/in (whereas previously went fromFALSE/FALSE
toTRUE/TRUE
. Will reboot properly and test, but expect same results – chrisb2244 – 2015-06-09T06:08:00.973Rebooting produces same results (as expected) – chrisb2244 – 2015-06-09T06:15:59.047
This gentoo forum page makes it look like the solution will require the
– chrisb2244 – 2015-06-09T06:21:13.793ck-launch-session
withinXsession
, although also mentions removing thenox11
option. Will try that nowVarious changes only make this worse - the original setup seemed to produce the best results (at least on the second login). The first set of changes (as suggested by @grawity) produced something that looked promising, but didn't work out (as documented in 3rd comment) – chrisb2244 – 2015-06-09T07:07:28.263
I have this problem too and this has been the only place I have found a well-documented description of the problem. Initially I thought sddm was being started BEFORE all the other services so I moved it from S02sddm to S06sddm in the different rc.X folders in /etc. – Trann – 2015-06-18T17:52:36.403