web-dev-qa-db-ja.com

指紋GUIはrootとしてのみ機能しますか?

私は現在、Lenovo ThinkPad L530でManjaro Arch Linuxを実行しています。このマシンには、USB-ID 147e:1002のUPEK指紋リーダーが統合されています。今私がやろうとしていることは、その指紋リーダーでAURの指紋GUIパッケージをセットアップすることですが、デバイスを認識しません。ただし、「接続されたUSBデバイス」リストには表示されます。 fingerprint-guiコマンドをrootとして(またはSudoを使用して)実行すると、リーダーが正しく認識され、問題なく使用できます。

Rootとしてログインしなくても指紋リーダーを使用できる可能性はありますか?

4
rocket_doge_

新しいudevルールが必要であることがわかりました。私は このチュートリアル を少し変更してフォローしました:

  • 次のように/lib/udev/rules.d/40-libfprint0-custom.rulesを作成します。

    ATTRS{idVendor}=="147e", ATTRS{idProduct}=="1002", MODE="0664", GROUP="plugdev"
    
  • 自分をplugdevグループに追加します。

    # usermod -a -G plugdev username
    
  • Udevを再起動します。

    # service udev restart
    
  • ログアウト/ログインして、新しいplugdevグループメンバーシップを取得します。

  • fingerprint-guiを使用して登録を行います。
4
rocket_doge_

(おそらく上記の方が良いでしょう、私は試していません)

私のために働いたことは、AuthenTecをあなたに合うように置き換える(lsusbから)

Sudo vi /usr/local/sbin/finger.local

#!/bin/bash 
# /usr/local/sbin/finger.local 
BUS='chmod 777 /dev/bus/usb/'
BUS+=`lsusb | grep AuthenTec | awk '{print $2}'`
BUS+='/'
BUS+=`lsusb | grep AuthenTec | awk '{print $4}'`
BUS=${BUS%?};
$BUS

Sudo vi /etc/systemd/system/finger-local.service

[Unit]
Description=enable permissions for fingerprint-gui on boot
ConditionFileIsExecutable=/usr/local/sbin/finger.local

[Service]
Type=oneshot
ExecStart=/usr/local/sbin/finger.local
TimeoutSec=0
StandardOutput=tty
RemainAfterExit=yes
SysVStartPriority=99

[Install]
WantedBy=multi-user.target

Sudo chmod + x /usr/local/sbin/finger.local

Sudo systemctl enable finger-local.service reboot

0
user171095