Запускаю KDE Frameworks 5, Plasma 5, используя sddm
в качестве диспетчера отображения.
ConsoleKit
и PAM-linux
оба установлены.
При входе в систему (с использованием sddm
экрана входа в систему) ck-list-sessions
возвращается FALSE
как is-local
и active
. Только один сеанс присутствует.
Если я выйду из системы, а затем вернусь, оба поля будут TRUE
, как и ожидалось.
sddm
не является консоль-комплект, поддерживающий дм. Поэтому я использую pam_ck_connector.so
модуль для подключения сеанса consolekit.
Файл запуска sddm ( /usr/share/sddm/scripts/Xsession
) изменяется для запуска с использованием строки:
eval exec "ck-launch-session dbus-lauch --exit-with-session $session"
(Я думаю, что соответствующие) файлы PAM являются следующими:
/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
были добавлены строки для принудительной регистрации в /var/log/auth.log
файле. Типичный логин выглядит примерно так:
<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)
Как я могу заставить мою систему нормально запускаться с первого раза?
nox11
Флаг , а также.eval exec "$session"
иpam_ck_connector.so
(безnox11
)?init 3
, а затемinit 5
повторный вход в систему и выполнениеck-list-sessions
даетactive = FALSE
иis-local = TRUE
. Отсюда, запускck-launch-session ck-list-sessions
возвращает два сеанса (конечно), второй из которых (недавно порожденный сеанс)TRUE/TRUE
. Это остается в силе при выходе / входе (тогда как ранееFALSE/FALSE
TRUE/TRUE
ck-launch-session
внутреннегоXsession
, хотя и упоминает об удаленииnox11
опции. Попробую это сейчас