👌

thinkpadの指紋認証をArchLinuxで使えるようにする

に公開

更新履歴

【2025/09/09】/etc/pam.d/sddmの設定方法に一部修正・sudoでの指紋認証利用を追加

参考

https://www.reddit.com/r/thinkpad/comments/1ew1tfq/short_guide_on_how_to_set_up_fingerprint_auth_on/?tl=ja
https://aur.archlinux.org/packages/libfprint-2-tod1-goodix

環境

  • thinkpad e14 gen5 AMD
  • ArchLinux

手順

1. lsusbで自分がなんの指紋認証デバイスを使っているか確認

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. ユーティリティをインストール

https://archlinux.org/packages/?name=fprintd

これをインストールする前に、ちゃんとあるか確認します。

sudo pacman -Ss fprintd

ありました。

extra/fprintd 1.94.5-1 (fprint) [インストール済み]
    D-Bus service to access fingerprint readers

インストールします。

sudo pacman -S fprintd

3. ドライバーをインストール

https://aur.archlinux.org/packages/libfprint-2-tod1-goodix

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ログインで利用可能にする

https://qiita.com/AkiraHasegawa/items/e6f8ed3c8d4b57f4ce93

/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