fingerprint-gui
我正在使用 Arch Linux,并从 AUR安装。在我将自己添加到plugdev
和组后,它检测到了传感器scanner
。在添加以下内容后/etc/pam.d/system-auth
:
auth sufficient pam_fingerprint-gui.so
我可以sudo
用它对 、LightDM、GNOME Screensaver 等进行身份验证。
问题出在使用 Polkit 的应用程序上。fingerprint-gui
带有自己的 Polkit 身份验证代理(/usr/lib/fingerprint-gui/fingerprint-polkit-agent
,应该由/etc/xdg/autostart/fingerprint-polkit-agent.desktop
)自动启动。但是,它没有启动:
$ pgrep polkit -fa
2247 /usr/lib/polkit-1/polkitd --no-debug
$ /usr/lib/fingerprint-gui/fingerprint-polkit-agent -d
New PolkitAgentListener 0x1b5f700
Adding new listener PolkitQt1::Agent::Listener(0x7ffecc222550) for 0x1b5f700
** (fingerprint-polkit-agent:2951): WARNING **: Unable to register authentication agent: GDBus.Error:org.freedesktop.PolicyKit1.Error.Failed: An authentication agent already exists for the given subject
"Cannot register authentication agent: GDBus.Error:org.freedesktop.PolicyKit1.Error.Failed: An authentication agent already exists for the given subject"
Destroying listener
Removing listener PolkitQt1::Agent::Listener(0x7ffecc222550)
显然已经有一个代理正在运行。拱门维基/etc/xdg/autostart
如果安装了 GNOME 或 KDE,建议删除以下文件:
polkit-gnome-authentication-agent-1.desktop
polkit-kde-authentication-agent-1.desktop
我使用 GNOME Shell,但我没有polkit-gnome
安装(因此我没有这些文件)。然而,GNOME Shell 似乎有自己的 Polkit 代理:
$ locate polkit | grep agent
/etc/xdg/autostart/fingerprint-polkit-agent.desktop
...
/usr/lib/libpolkit-agent-1.so
/usr/lib/libpolkit-agent-1.so.0
/usr/lib/libpolkit-agent-1.so.0.0.0
/usr/lib/libpolkit-qt-agent-1.so
/usr/lib/libpolkit-qt-agent-1.so.1
/usr/lib/libpolkit-qt-agent-1.so.1.112.0
...
$ lsof /usr/lib/libpolkit-agent-1.so.0.0.0
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
gnome-she 757 muru mem REG 259,0 40200 289001 /usr/lib/libpolkit-agent-1.so.0.0.0
如何fingerprint-gui
在 GNOME Shell 中使用 Polkit 代理?
$ gnome-shell --version
GNOME Shell 3.18.1