Howdy — это открытый инструмент, который добавляет к Linux привычный сценарий входа по лицу в стиле Windows Hello. Он встроен в PAM, поэтому распознавание можно использовать там, где обычно просят пароль: при логине в систему, на экране блокировки, в sudo и даже в su. Если у ноутбука есть ИК-излучатель и камера, Howdy умеет работать в темноте; с обычной веб-камерой тоже возможно, но надежность ниже. Проект живет на GitHub и распространяется по лицензии MIT. Важно: авторы сразу предупреждают, что это про удобство, а не про железобетонную защиту: подделка в теории возможна, поэтому не стоит отключать пароль вовсе.
Howdy подключается к центральной системе аутентификации Linux — PAM. При запуске аутентификации модуль захватывает кадры с камеры, извлекает признаки лица и сравнивает их с локальной моделью пользователя. В стабильных сборках задействуется Python-стек с OpenCV; при сборке из исходников могут тянуться компоненты dlib (бывает, что «зависают» на 100% — это нормально и проходит). В новых бета-сборках появился нативный PAM-модуль pam_howdy.so, избавляющий от зависимости на pam_python.
Поддерживаемые дистрибутивы и где взять
Debian/Ubuntu и производные. Проще всего поставить из PPA :
sudo add-apt-repository ppa:boltgolt/howdy sudo apt update sudo apt install howdy
Для Debian можно скачать .deb с вкладки Releases и поставить через gdebi. Иногда на Ubuntu 24.04 встречается ошибка про «externally-managed-environment» — это уже не баг Howdy, а особенности Python-пакетов в системе: подробности и решения обсуждаются в issue-тредах репозитория.
Fedora. Есть COPR-репозиторий principis/howdy и бета-репозиторий principis/howdy-beta:
sudo dnf copr enable principis/howdy sudo dnf --refresh install howdy
Из-за удаления поддержки Python 2 в Fedora 41 (и цепочки зависимостей вроде pam_python) установка иногда требует бета-репозитория или донастройки; для Fedora 42 у части пользователей возникали проблемы с зависимостями, о чем есть обсуждения в COPR и GitHub Issues. К счастью, ветка 3.0.0 BETA с нативным pam_howdy.so сглаживает эти углы. Перед установкой стоит заглянуть в страницу COPR и свежие issues.
Arch Linux. Пакет доступен в AUR. После установки потребуется вручную подключить строку PAM, для бета-веток используется pam_howdy.so. На ArchWiki подробно описаны двоичные пути камер и нюансы с менеджерами входа (например, SDDM).
openSUSE. Для Tumbleweed/Leap есть инструкции на вики openSUSE (репозиторий dmafanasyev). Там же подсказки по выбору устройства камеры и PAM-включению.
Первичная настройка шаг за шагом
Добавьте эталонные лица. Сразу после установки выполните:
sudo howdy add
Команда создаст один или несколько «отпечатков» лица пользователя (рекомендуют сделать 3–5 моделей под разные условия освещения и ракурсы). Проверить работу можно так:
sudo howdy test
или просто запустить sudo -i и показать лицо.
Выберите правильную камеру. На ноутбуках с ИК-модулем он может определяться отдельным устройством /dev/videoX. Узнать список устройств помогает v4l2-ctl --list-devices; для стабильности лучше прописывать не «видео-номер», а симлинк из /dev/v4l/by-id/. Путь задается в конфиге howdy (обычно /lib/security/howdy/config.ini или /usr/lib64/security/howdy/config.ini):
# Путь к устройству захвата device_path = /dev/v4l/by-id/usb-XXXX-video-index0
Если ИК-подсветка не загорается, проверьте, что выбран именно ИК-сенсор; для отдельных моделей помогает утилита linux-enable-ir-emitter.
Включите Howdy в PAM. Общая идея такая: в нужные файлы /etc/pam.d/ добавляется строка для модуля Howdy. На классической ветке это:
auth sufficient pam_python.so /lib/security/howdy/pam.py
А в бета-ветках (3.0.0+) — уже нативная библиотека:
auth sufficient /lib/security/pam_howdy.so
Чтобы графический дисплей-менеджер давал выбор между лицом и паролем, обычно в начало файла добавляют и строку с pam_unix.so:
auth sufficient pam_unix.so try_first_pass likeauth nullok
Точные примеры для GDM/SDDM и системных профилей описаны в ArchWiki и на страницах дистрибутивов.
Полезные опции в конфиге
Откройте конфиг через sudo howdy config — он откроется в редакторе и подскажет доступные параметры. Обратите внимание на:
- device_path — путь к нужной камере (см. выше).
- Снимки при аутентификации — в некоторых версиях ведется сохранение кадров успешных/неуспешных попыток. Это удобно для отладки, но потенциально опасно: снимок удачной сессии можно распечатать и попробовать обмануть систему. Выключите сбор снимков в секции [snapshots], установив capture_successful = false и capture_failed = false.
Как жить с дисплей-менеджерами, оболочками и «вещами вокруг»
Howdy работает в консоли и с большинством дисплей-менеджеров, но иногда требуется тонкая настройка PAM конкретно под ваш стек. Например, SDDM в некоторых версиях вел себя нестабильно с PAM и мог игнорировать модуль — такие случаи разжеваны на ArchWiki. Если используете кастомные экранные блокировщики, проверьте их взаимодействие с PAM или включите распознавание для «системного логина», который они дергают. Для облегчения первичной регистрации лиц в ряде сборок существует простой графический помощник howdy-gtk.
Типичные проблемы и как их обходить
- Fedora 41/42 и зависимости. Изменения вокруг Python 2 и pam_python ломали установку из COPR. Смотрите обсуждения, при необходимости используйте howdy-beta (3.0.0+) с pam_howdy.so или следуйте рекомендациям мейнтейнера COPR.
- Ubuntu 24.04 и «externally-managed-environment». Это общее изменение политики Python-пакетов у дистрибутива; решения предлагаются в issue-тредах репозитория.
- dlib «висит» на 100% при сборке. Дайте времени — это известное поведение.
- ИК-подсветка не включается. Проверьте, что выбран правильный /dev/videoX; при необходимости включите эмиттер утилитой linux-enable-ir-emitter.
- SDDM не реагирует на распознавание. Проверьте секции PAM для system-local-login и используйте рекомендуемые строки с pam_unix.so и pam_howdy.so.
Безопасность и альтернативы
Авторы прямо предупреждают: Howdy не следует рассматривать как эквивалент пароля. Похожий человек или удачно распечатанное фото могут обмануть систему, а сохраненные «снимки успеха» и вовсе упрощают жизнь атакующему, если их не отключить. Лучший практический вариант — оставить биометрию «удобной кнопкой», но не убирать пароль и не делать Howdy единственным способом входа. В README это прописано большими буквами.
Если нужен именно прирост надежности, а не комфорта, рассмотрите другие факторы — например, аппаратные ключи или проверенные способы вроде отпечатка пальца через fprintd, который лучше поддерживается производителями ноутбуков. А если ИК-камеры нет и ноутбук редко стоит на столе с хорошим освещением, распознавание лиц может больше раздражать, чем помогать. (Да, пароль иногда быстрее — особенно когда ноутбук уже в доке с закрытой крышкой.)
Заключение
Howdy — аккуратный способ добавить в Linux быстрый вход по лицу «как в Windows Hello». Он работает через PAM во всех местах, где обычно нужен пароль, устанавливается из официальных репозиториев дистрибутивов и настраивается несколькими командами. Но это не «волшебная защита»: проект честно говорит, что безопасность здесь вторична, а на отдельных дистрибутивах возможны нюансы с зависимостями и PAM. Если принять эти условия, правильно выбрать устройство камеры, выключить сохранение снимков и оставить пароль в качестве резервного пути — опыт получается комфортным и предсказуемым.