проблема
Этот вопрос, кажется, задавался миллиард раз, но я все еще не могу автоматически разблокировать мой брелок для входа в систему.
Фон
Я автоматически захожу, chvt и startx по этим линиям в i3wm, который затем запускает модифицированный i3lock . Я действительно хочу, чтобы моя цепочка для ключей входа в gnome автоматически разблокировалась при входе в систему (или, возможно, при разблокировке i3lock), но я не смог успешно выполнить ни одну из инструкций, которые я нашел в Интернете.
Результаты
В арке вики есть все, что я пытался, но не смог сделать. Я также осмотрел различные другие вопросы / ответы, в которых есть похожие инструкции, но безрезультатно.
Одна странная вещь, которую я заметил, это то, что я не могу разблокировать брелок для входа через echo $LOGINPASSWORD | gnome-keyring-daemon --unlock
. journalctl
отчеты
Jul 07 20:08:16 ERIS gnome-keyring-daemon[26585]: failed to unlock login keyring on startup
когда я открываю морского конька, чтобы разблокировать его вручную, он сообщает, что пароль для входа в систему изменился, и просит меня ввести мой старый пароль. Журнал сообщает
Jul 07 20:08:43 ERIS gnome-keyring-daemon[26585]: fixed login keyring password to match login password
после чего я не могу снова разблокировать брелок с помощью пароля (к счастью, я сделал резервную копию заранее).
Дополнительная информация
Вот некоторые релевантные /etc/pam.d/
файлы, надеюсь, здесь нет ничего деликатного LOL (для краткости удалены комментарии, порядок не изменен. Обратите внимание, что я тоже пробовал этот бит .xinitrc, но он ничего не делал). Единственное, что я добавил вручную, были pam_gnome_keyring.so
биты, за исключением содержимого в /etc/pam.d/i3lock ; все остальное уже было там, по умолчанию или из-за какого-то другого пакета.
/etc/pam.d/login
auth optional pam_faildelay.so delay=3000000
auth [success=ok new_authtok_reqd=ok ignore=ignore user_unknown=bad default=die] pam_securetty.so
auth requisite pam_nologin.so
session [success=ok ignore=ignore module_unknown=ignore default=bad] pam_selinux.so close
session required pam_env.so readenv=1
session required pam_env.so readenv=1 envfile=/etc/default/locale
@include common-auth
auth optional pam_group.so
session required pam_limits.so
session optional pam_lastlog.so
session optional pam_motd.so motd=/run/motd.dynamic
session optional pam_motd.so noupdate
session optional pam_mail.so standard
session required pam_loginuid.so
@include common-account
@include common-session
@include common-password
session [success=ok ignore=ignore module_unknown=ignore default=bad] pam_selinux.so open
auth optional pam_gnome_keyring.so
session optional pam_gnome_keyring.so auto_start
/etc/pam.d/common-auth
auth [success=1 default=ignore] pam_unix.so nullok_secure
auth requisite pam_deny.so
auth required pam_permit.so
/etc/pam.d/common-account
account [success=1 new_authtok_reqd=done default=ignore] pam_unix.so
account requisite pam_deny.so
account required pam_permit.so
/etc/pam.d/common-session
session [default=1] pam_permit.so
session requisite pam_deny.so
session required pam_permit.so
session optional pam_umask.so
session required pam_unix.so
session optional pam_systemd.so
/etc/pam.d/passwd
@include common-password
/etc/pam.d/common-password
password [success=1 default=ignore] pam_unix.so obscure sha512
password requisite pam_deny.so
password required pam_permit.so
password optional pam_gnome_keyring.so
/etc/pam.d/i3lock
auth required pam_env.so
auth sufficient pam_unix.so try_first_pass likeauth nullok
session optional pam_gnome_keyring.so auto_start