👌
thinkpadの指紋認証をArchLinuxで使えるようにする
更新履歴
【2025/09/09】/etc/pam.d/sddmの設定方法に一部修正・sudoでの指紋認証利用を追加
参考
環境
- thinkpad e14 gen5 AMD
- ArchLinux
手順
lsusb
で自分がなんの指紋認証デバイスを使っているか確認
1. lsusb
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 002: ID 04f2:b7b9 Chicony Electronics Co., Ltd Integrated Camera
Bus 001 Device 003: ID 2717:ff88 Xiaomi Inc. Mi/Redmi series (RNDIS + ADB)
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 003 Device 002: ID 27c6:550a Shenzhen Goodix Technology Co.,Ltd. FingerPrint
Bus 003 Device 003: ID 0bda:4853 Realtek Semiconductor Corp. Bluetooth Radio
Bus 004 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
上のようなのが出るはずです。
Bus 003 Device 002: ID 27c6:550a Shenzhen Goodix Technology Co.,Ltd. FingerPrint
というのが、指紋認証デバイスの情報
ドライバーは、Goodix
用のを今回探します。
2. ユーティリティをインストール
これをインストールする前に、ちゃんとあるか確認します。
sudo pacman -Ss fprintd
ありました。
extra/fprintd 1.94.5-1 (fprint) [インストール済み]
D-Bus service to access fingerprint readers
インストールします。
sudo pacman -S fprintd
3. ドライバーをインストール
libfprint-2-tod1-goodix
というライブラリをインストールする前に、yay
で確認します。
yay libfprint-2-tod1-goodix
このように出てくるはずです
2 aur/libfprint-2-tod1-goodix-v2 0.0.11+2404-8 (+2 0.63)
Proprietary driver for Goodix fingerprint readers from Ubuntu launchpad
1 aur/libfprint-2-tod1-goodix 0.0.9-1 (+6 0.00) (古いバージョン: 2025-05-23)
Proprietary driver for the Goodix fingerprint reader 27c6:550a, from Lenovo E14 Gen 4 Ubuntu driver.
==> インストールするパッケージ (例: 1 2 3, 1-3 または ^4)
そしたら、1
と入力してインストール開始 ➔ 「A」 ➔ 「N or Enter」
==> 1
AUR Explicit (1): libfprint-2-tod1-goodix-0.0.9-1
:: PKGBUILD up to date, skipping download: libfprint-2-tod1-goodix
1 libfprint-2-tod1-goodix (インストール済み) (ビルドファイルが存在)
==> パッケージをクリーンビルドしますか?
==> [N]なし [A]全て [Ab]中止 [I]インストール済み [No]未インストール または (1 2 3, 1-3, ^4)
==> A
:: 削除 (1/1): /home/locu/.cache/yay/libfprint-2-tod1-goodix
HEAD is now at b74d16f initial commit
Removing libfprint-2-tod1-goodix-0.0.9.r3.g5f05f60-1-x86_64.pkg.tar.zst
Removing libfprint-2-tod1-goodix/
1 libfprint-2-tod1-goodix (インストール済み) (ビルドファイルが存在)
==> 差異を表示しますか?
==> [N]なし [A]全て [Ab]中止 [I]インストール済み [No]未インストール または (1 2 3, 1-3, ^4)
==> N
あとは画面に従うだけ
4. Sessionログインで利用可能にする
/etc/pam.d/sddm
の設定を行う。(エディタは何でもいい)
sudo vim /etc/pam.d/sddm
こんな感じの中身になってるはず
#%PAM-1.0
auth include system-login
-auth optional pam_gnome_keyring.so
-auth optional pam_kwallet5.so
account include system-login
password include system-login
-password optional pam_gnome_keyring.so use_authtok
session optional pam_keyinit.so force revoke
session include system-login
-session optional pam_gnome_keyring.so auto_start
-session optional pam_kwallet5.so auto_start
一部追記する
auth sufficient pam_fprintd.so
全体コード
#%PAM-1.0
# ここから
auth sufficient pam_fprintd.so
# ここまで
auth include system-login
-auth include pam_kwallet5.so
-auth optional pam_gnome_keyring.so
account include system-login
password include system-login
-password optional pam_gnome_keyring.so use_authtok
session optional pam_keyinit.so force revoke
session include system-login
-session optional pam_gnome_keyring.so auto_start
-session optional pam_kwallet5.so auto_start
5. sudoでも指紋認証を利用する
sudo vim /etc/pam.d/sudo
開いたら、指紋認証を一番上に追加する
#%PAM-1.0
# ここから
auth sufficient pam_fprintd.so
# ここまで
auth include system-auth
account include system-auth
session include system-auth
6. 指紋登録をする
KDEを利用している場合
システム設定の、「ユーザ」から画像のように登録ができるよ
KDE以外 ( CLIのみ紹介 )
fprintd-enroll
を実行
fprintd-enroll
下のように表示されたら、指紋の登録が開始される
Using device /net/reactivated/Fprint/Device/0
Enrolling right-index-finger finger.
あとは普通にスマホの指紋登録と同じ
7. テストしてみる
セッション
パスワードは何も入力せず「Enter」を押す。
そして、指を指紋認証デバイスにタッチしてみると、ログインできるようになってるはずです。
sudo
このコマンドを入力してみてください。
sudo -K && sudo ls
そしたら
$ sudo -K && sudo ls
指紋読取装置に指を置いてください
と表示され、指を置くとログインができます。
まとめ
壊れても大丈夫なように、バックアップを取ってから試してみましょう
Discussion