GNOME Shell에서 Fingerprint-gui의 polkit 에이전트를 어떻게 사용합니까?

GNOME Shell에서 Fingerprint-gui의 polkit 에이전트를 어떻게 사용합니까?

fingerprint-gui저는 Arch Linux를 사용하고 있으며 AUR에서 설치했습니다. 나 자신을 추가 plugdev하고 그룹화한 후 센서가 감지되었습니다 scanner. 다음을 추가한 후 /etc/pam.d/system-auth:

auth      sufficient pam_fingerprint-gui.so

sudoLightDM, 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/autostartGNOME 또는 KDE가 설치된 경우 다음 파일을 삭제하는 것이 좋습니다.

polkit-gnome-authentication-agent-1.desktop
polkit-kde-authentication-agent-1.desktop

그놈 쉘을 사용하지만 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-guiGNOME Shell에서 Polkit 에이전트를 사용하는 방법은 무엇입니까 ?

$ gnome-shell --version
GNOME Shell 3.18.1

답변1

약간의 망설임 끝에 gnome-session래퍼로 ​​교체했습니다.

$ cat /usr/local/bin/gnome-session
#! /bin/sh

/usr/lib/fingerprint-gui/fingerprint-polkit-agent -d &
exec /usr/bin/gnome-session "$@"

그러나 Polkit fingerprint-gui프록시는 매우 보기 흉합니다.

여기에 이미지 설명을 입력하세요.

관련 정보