ConsoleKit сообщает об активности / локально только на втором + логин

2

Запускаю 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)

Как я могу заставить мою систему нормально запускаться с первого раза?

chrisb2244
источник
Изменения Xsession кажутся избыточными с pam_ck_connector. Возможно они что то ломают в логине? nox11Флаг , а также.
Гравитация
Так вы предлагаете вернуться eval exec "$session"и pam_ck_connector.so(без nox11)?
chrisb2244
Внесение этих изменений, затем выход из системы, переключение на текстовый tty, затем использование init 3, а затем init 5повторный вход в систему и выполнение ck-list-sessionsдает active = FALSEи is-local = TRUE. Отсюда, запуск ck-launch-session ck-list-sessionsвозвращает два сеанса (конечно), второй из которых (недавно порожденный сеанс) TRUE/TRUE. Это остается в силе при выходе / входе (тогда как ранее FALSE/FALSETRUE/TRUE
переход
Перезагрузка дает те же результаты (как и ожидалось)
chrisb2244
Эта страница форума Gentoo выглядит так, как будто решение требует ck-launch-sessionвнутреннего Xsession, хотя и упоминает об удалении nox11опции. Попробую это сейчас
chrisb2244