はじめに
ノートパソコン等の指紋リーダ(Fingerprint)をLinuxのKDEで有効にする方法を紹介します。
本記事では、ログインマネージャはSDDMを想定しています。
また、ディストリビューションによっては設定方法が異なる場合もあります。
Login時の指紋認証設定(SDDM)
/etc/pam.d/sddm
の一番上にauth sufficient pam_fprint.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_kwallet5.so auto_start
-session optional pam_gnome_keyring.so auto_start
設定後は、パスワード入力欄が空の状態で一度エンターを押すと指紋認証が有効になります。
ロックスクリーンでの指紋認証設定
sleep後などのロックスクリーンはSDDMではなくKDE側で認証が行われています。
/etc/pam.d/kde
の一番上にauth sufficient pam_unix.so try_first_pass likeauth nullok
とauth sufficient pam_fprint.so
を追加します。
#%PAM-1.0
auth sufficient pam_unix.so try_first_pass likeauth nullok
auth sufficient pam_fprintd.so
auth include system-login
account include system-login
password include system-login
session include system-login
設定後は、SDDMと同様にパスワード入力欄が空の状態で一度エンターを押した後に指紋認証でアンロックできます。
おまけ(sleep復帰ができないときのトラブルシューティング)
初期設定ではsleep状態から復帰できないことがあります。
ブートローダにGRUBを使っている場合の解決方法を紹介します。
まず、/etc/default/grub
を開きます。
一部違う部分はあると思いますが、だいたい下のような内容になっていると思います。
そのうち、一番下にあるGRUB_CMDLINE_LINUX=""
をGRUB_CMDLINE_LINUX="nouveau.modeset=0"
に書き換えます。
# GRUB boot loader configuration
GRUB_DEFAULT=0
GRUB_TIMEOUT=5
GRUB_DISTRIBUTOR="Arch"
GRUB_CMDLINE_LINUX_DEFAULT="loglevel=3 quiet"
GRUB_CMDLINE_LINUX=""
書き換えたら、sudo grub-mkconfig -o /boot/grub/grub.cfg
を実行し、先程の設定変更を反映します。
一度再起動すると、sleepから復帰できるようになります。
sudoでの指紋認証設定
/etc/pam.d/sudo
の一番上にauth sufficient pam_fprintd.so
を追加します。
#%PAM-1.0
auth sufficient pam_fprintd.so
auth include system-auth
account include system-auth
session include system-auth
おわりに
ログイン画面とロックスクリーン、sudoで指紋認証を有効にする方法を紹介しました。