linux 環境で指紋認証ができない
この記事を書いた動機 結構前から指紋認証機能が linux 上で使えないということがあった。それで、とりあえず以下の2つのパッケージをインストールすることで、センサーを認識して動くところまではやっていた。 yay -Qs fprint local/fprintd 1.94.5-1 (fprint) D-Bus service to access fingerprint readers local/libfprint 1.94.9-1 (fprint) Library for fingerprint readers その時は、Gnome の設定画面にも登録画面が出てきて、とりあえず登録することはできるようになった。しかし、結局登録した指紋と一致しないと言われ、認証機能が思ったように動かないことに気づき、めんどくさくなってまた問題をしばらく放置していた。 そして、最近になって、また linux 環境における指紋認証について調べてみたところ、問題の解決には至らなかったが、視覚的にどんな指紋が読み取られているのか確認する方法があることに気づいたので、それを記録してみようというわけです。 環境 Arch Linux linux kernel 6.13.4-arch1-1 Gnome XPS 13 2in1 (9365) 指紋認証センサー VFS7552 libfprint をコンパイルする libfprint 自体に、指紋認証センサーをテストしたりできるツール群が入っているので、それを使う。もしかするとパッケージマネージャ経由でインストールできたりするかもしれないが、GitHub - iafilatov/libfprint: libfrpint driver for a family of Elantech fingerprint sensorsに合わせて、今回は自前でコンパイルすることにした。 ちなみに、このgitリポジトリ 自体は古く、VFS7552 を検出しなかったので、現行のlibfprint / libfprint · GitLabを後にコンパイルし直した。 一応大まかなポイントだけ、ここには記録しておこうと思う。 ツールをいれる gimp # .pgm な画像を表示するために必要 ninja git python libglib2.0-dev libnss3-dev libpixman-1-dev libusb-1.0.0-dev libx11-dev libxv-dev pkg-config リポジトリのクローン mkdir ~/working cd ~/working git clone https://gitlab.freedesktop.org/libfprint/libfprint.git python 仮想環境の構築 # もし、anaconda が入っている場合は、事前に無効化しておく # conda deactivate python3 -m venv venv . venv/bin/activate pip install -U pip pip install meson “ModuleNotFoundError: No module named ‘distutils.util’” と言われてしまう場合は、以下のモジュールもインストールしていおく。 ...