Tim, All,
I have stumbled upon an issue that may be responsible for the sound and sftp session closing (bug 1902) problems I experience running TDE on a systemd based system. The problem surrounds pam/tdm and polkit setup and tracking user sessions in the absence of Consolekit. The issue is addressed in the freedesktop articles:
http://www.freedesktop.org/wiki/Software/systemd/writing-display-managers/
http://www.freedesktop.org/wiki/Software/systemd/writing-desktop-environment...
The porting changes necessary for TDE to work in a systemd/polkit environment look minimal, but they are a bit above my understanding at the moment.
I have detailed the sftp issue in http://bugs.pearsoncomputing.net/show_bug.cgi?id=1902 along with diagnostics. The crux of the current issue is that tdebase/tdebase mkpamserv does not provide an environment where proper session tracking occurs:
08:29 valhalla:~> loginctl show-session $XDG_SESSION_ID NAutoVTs=6 KillExcludeUsers=root KillUserProcesses=no IdleHint=yes IdleSinceHint=0 IdleSinceHintMonotonic=0 InhibitDelayMaxUSec=5s HandlePowerKey=poweroff HandleSuspendKey=suspend HandleHibernateKey=hibernate HandleLidSwitch=suspend IdleAction=ignore IdleActionUSec=30min PreparingForShutdown=no PreparingForSleep=no
does not contain Remote=no and Active=yes which apparently indicate proper user session tracking. I need someone who has a bit more experience with tdebase code and in this area to review the freedesktop links regarding the new session tracking requirements under systemd and see if this is an issue that needs to be jumped on before RC1 is frozen. Currently, the current problems I have discovered under systemd impact user sound access/printer driver generation/and sftp session closure. I suspect the problems may be more widespread but I have yet to discover all of them.
I have compared what TDE does with /etc/pam.d/trinity and what is currently done with kde4 on arch. The current TDE pam.d settings are:
/etc/pam.d/trinity #%PAM-1.0 #auth required pam_securetty.so auth requisite pam_nologin.so auth include system-local-login account include system-local-login session include system-local-login
The comparable pam setup for kde4 on Arch uses (noc is cat with no-comment):
09:56 alchemy:~/tde/tmp/pam> noc kde4/kde #%PAM-1.0 auth include system-login account include system-login password include system-login session include system-login 09:56 alchemy:~/tde/tmp/pam> noc kde4/kde-np #%PAM-1.0 auth required pam_tally.so onerr=succeed file=/var/log/faillog auth required pam_shells.so auth requisite pam_nologin.so auth required pam_env.so auth optional pam_permit.so account include system-login password include system-login session include system-login 10:00 alchemy:~/tde/tmp/pam> noc kde4/kscreensaver #%PAM-1.0 auth required pam_unix_auth.so
I have tried changing /etc/pam.d/trinity to use:
#%PAM-1.0 #auth required pam_securetty.so auth requisite pam_nologin.so auth include system-login account include system-login password include system-login session include system-login
Login is fine using system-login instead of the current 'system-local-login', but the output of 'loginctl show-session $XDG_SESSION_ID' is unchanged.
I have posted the issue to the Arch list and will report any suggestins back. Experts, what say you?