Вопрос или проблема
У меня есть странная проблема на установки Ubuntu 22.04. Вход по отпечатку пальца иногда не работает. Когда он не работает, я не вижу сообщение (или положите палец на считыватель)
под полем пароля.
Это функция или ошибка? Если это функция, на каком основании принимается решение о разрешении входа по отпечатку пальца? Если это ошибка, есть ли решение или обходной путь?
Я видел другие темы, связанные с проблемами входа по отпечатку пальца, но там проблема не является периодической, как у меня.
Оборудование: Lenovo L15 Gen3 (AMD) ОС: Ubuntu 22.04 LTS
В следуя этой теме, я обнаружил, что мне нужно обновить мой /etc/pam.d/gdm-fingerprint, как указано ниже. Последняя строка указывала на pam_fprintd.so, но согласно теме https://github.com/NixOS/nixpkgs/issues/171136, я выяснил, что нужно pam_deny.so.
#%PAM-1.0
auth requisite pam_nologin.so
auth required pam_succeed_if.so user != root quiet_success
auth required pam_fprintd.so
auth optional pam_gnome_keyring.so
@include common-account
# SELinux должен быть первым правилом сессии. Это гарантирует, что любой
# оставшийся контекст был очищен. Без этого возможно,
# что модуль может выполнить код в неправильной области.
session [success=ok ignore=ignore module_unknown=ignore default=bad] pam_selinux.so close
session required pam_loginuid.so
# SELinux должен вмешиваться в момент входа, чтобы гарантировать, что процесс
# запускается в правильном контексте безопасности по умолчанию. Только сессии, которые
# предназначены для выполнения в контексте пользователя, должны выполняться после этого.
# pam_selinux.so изменяет контекст SELinux используемого TTY и настраивает
# SELinux для перехода в контекст пользователя с помощью следующего execve()
# вызова.
session [success=ok ignore=ignore module_unknown=ignore default=bad] pam_selinux.so open
session optional pam_keyinit.so force revoke
session required pam_limits.so
session required pam_env.so readenv=1
session required pam_env.so readenv=1 user_readenv=1 envfile=/etc/default/locale
@include common-session
session optional pam_gnome_keyring.so auto_start
# вызывает проблему с отпечатком, измените на pam_deny.so
# и это сработает каждый раз
#password required pam_fprintd.so
password required pam_deny.so
У меня та же самая проблема. Попробуйте перезапустить сервис fprintd
:
sudo systemctl restart fprintd.service
В моем случае это заняло несколько минут, поскольку, похоже, fprintd
не реагировал, тем самым подтверждая проблему:
$ journalctl --follow -u fprintd.service -n 100
14 Ноя 15:03:04 hostname systemd[1]: Остановка демона аутентификации по отпечатку пальца...
14 Ноя 15:04:35 hostname systemd[1]: fprintd.service: Время ожидания состояния 'stop-sigterm'. Убиваем.
14 Ноя 15:04:35 hostname systemd[1]: fprintd.service: Убиваем процесс 685959 (fprintd) с сигналом SIGKILL.
14 Ноя 15:04:35 hostname systemd[1]: fprintd.service: Убиваем процесс 685968 (gdbus) с сигналом SIGKILL.
14 Ноя 15:04:35 hostname systemd[1]: fprintd.service: Убиваем процесс 685969 (libusb_event) с сигналом SIGKILL.
14 Ноя 15:04:35 hostname systemd[1]: fprintd.service: Убиваем процесс 685970 (GUsbEventThread) с сигналом SIGKILL.
14 Ноя 15:04:35 hostname systemd[1]: fprintd.service: Основной процесс завершился, код=killed, статус=9/KILL
14 Ноя 15:04:35 hostname systemd[1]: fprintd.service: Не удалось завершить с результатом 'timeout'.
14 Ноя 15:04:35 hostname systemd[1]: Демон аутентификации по отпечатку пальца остановлен.
14 Ноя 15:04:35 hostname systemd[1]: Запуск демона аутентификации по отпечатку пальца...
14 Ноя 15:04:35 hostname systemd[1]: Демон аутентификации по отпечатку пальца запущен.
14 Ноя 15:05:05 hostname systemd[1]: fprintd.service: Деактивировано успешно.
14 Ноя 15:05:11 hostname systemd[1]: Запуск демона аутентификации по отпечатку пальца...
14 Ноя 15:05:11 hostname systemd[1]: Демон аутентификации по отпечатку пальца запущен.
14 Ноя 15:05:43 hostname systemd[1]: fprintd.service: Деактивировано успешно.
Тестируя сразу после этого, я восстановил опцию отпечатка пальца при входе.
Для справки, в этом сообщении на форуме говорится, что это, вероятно, исправлено в 24.04 LTS.
Это, вероятно, не аппаратная неисправность, а давняя ошибка программного обеспечения. Я тоже сталкивался с этой проблемой с Fedora. У меня есть T14s gen 2i. Ubuntu 22.10, которую я использую сейчас, кажется, решает эту проблему. Рассмотрите возможность обновления или переустановки, если хотите использовать сенсор отпечатков пальцев. С уважением, Отто.
Ответ или решение
Проблема с доступом по отпечатку пальца в Ubuntu 22.04: Долго действующее решение
Вопрос о том, почему функция входа с помощью отпечатка пальца иногда недоступна на экране входа в вашу установку Ubuntu 22.04, является актуальной темой для многих пользователей. Давайте рассмотрим причины, возможные решения и альтернативные пути устранения проблемы.
1. Происхождение проблемы
Необходимость в использовании отпечатка пальца как метода аутентификации может быть зависима от множества факторов. Ваша проблема может быть связана как с программным обеспечением, так и с аппаратными несовместимостями. В вашем конкретном случае вы замечаете, что сообщение "(или приложите палец к считывателю)" иногда не отображается, что может указывать на прерывание работы службы fprintd
или вмешательство других модулей PAM (Pluggable Authentication Modules).
2. Влиятельные факторы
2.1. Конфигурации PAM
Один из аспектов, который вы упомянули, касается конфигурации файла /etc/pam.d/gdm-fingerprint
. Обратите внимание, что любые изменения в этом файле могут напрямую влиять на поведение аутентификации:
#password required pam_fprintd.so
password required pam_deny.so
Классическое использование pam_fprintd.so
может быть прервано неподходящей конфигурацией, что иногда приводит к проблемам с доступом через отпечаток пальца. Обратите внимание, что рекомендация по замене pam_fprintd.so
на pam_deny.so
была вызвана необходимостью устранения конфликта. Ваш опыт может отличаться на других системах, поэтому важно тестировать разные конфигурации.
2.2. Служба fprintd
Как вы уже упомянули, перезапуск службы fprintd
может решить проблему временно. Однако, если служба сбоит или зависает, это может объяснить, почему функция иногда недоступна. Ваша команда для перезапуска:
sudo systemctl restart fprintd.service
Последующий просмотр логов через journalctl
позволяет выявить моменты сбоя, например, таймауты или завершение работы из-за перегрузки.
3. Возможные решения и рекомендации
3.1. Следите за обновлениями
Поскольку вы имеете дело с известными проблемами, отчасти связанными с программным обеспечением, важно следить за обновлениями системы. Обновления могут решить проблемы с совместимостью:
sudo apt update && sudo apt upgrade
3.2. Обратите внимание на аппаратные средства
Если проблема сохраняется, стоит проверить совместимость вашего аппаратного обеспечения. Некоторые устройства могут иметь известные проблемы с поддержкой Ubuntu, и в этом случае изучение отзывов пользователей может помочь.
3.3. Подумайте о переходе на более новую версию
Если ваша проблема на данный момент не решается, вам может быть полезно рассмотреть возможность обновления до Ubuntu 22.10 или более новой версии (например, 24.04 LTS), где проблемы с поддержкой отпечатков пальцев могут быть устранены.
4. Заключение
Проблема с использованием отпечатка пальца в вашей системе Ubuntu 22.04 может быть как багом, так и особенностью программного обеспечения, связанным с конфигурациями, службами или аппаратным обеспечением. Применяя указанные методы диагностики и исправления, вы можете значительно улучшить свою ситуацию. Поддерживайте актуальность программного обеспечения и отслеживайте ошибки в логах, чтобы находить наилучшие пути решения.