polkit-mate-authentication-agent를 시작할 수 없습니다

polkit-mate-authentication-agent를 시작할 수 없습니다

저는 Parabola GNU/Linux(Arch 기반)에서 Mate를 사용하고 있습니다. polkit-mate-authentication-agent를 설치했는데 데스크톱에 로그인하면 자동으로 시작되지만 자동 또는 수동으로 시작되지 않는 것 같습니다. 내 ~/.xsession-errors파일에 다음 오류가 표시됩니다.

(polkit-mate-authentication-agent-1:24207): dbind-WARNING **: 07:13:53.904: Couldn't register with
accessibility bus: Did not receive a reply. Possible causes include: the remote application did
not send a reply, the message bus security policy blocked the reply, the reply timeout expired, or 
the network connection was broken.
Cannot register authentication agent: GDBus.Error:org.freedesktop.PolicyKit1.Error.Failed: Cannot 
determine user of subject

일반 사용자나 루트로 터미널에서 실행하려고 하면 매우 유사한 오류가 표시됩니다. 오류 파일에는 다른 여러 패키지에 대한 dbind 경고도 표시됩니다. 이것이 그것과 관련이 있는지는 모르겠습니다. 저는 systemd가 아닌 openrc를 사용하고 있습니다.

이 질문은 기존 질문과 유사한 것으로 보이지만 수동 시작이 작동하는 것으로 보이므로 근본적인 문제가 다를 수 있습니다.

polkit-gnome-authentication-agent-1은 업그레이드 후 자동으로 시작되지 않습니다.

어떤 아이디어나 제안이 있나요?

편집하다:

출력에는 ps -Af | grep dbusdbus가 실행 중이고 데몬이 로그인한 사용자가 소유한 것으로 표시됩니다.

$ ps -Af | grep dbus
dbus      1332     1  0 Mar21 ?        00:00:14 /usr/bin/dbus-daemon --system
john     15835 26842  0 10:18 pts/0    00:00:00 grep --color=auto dbus
lightdm  24087     1  0 07:13 ?        00:00:00 dbus-launch --autolaunch 91d1384971b9deaa251b73355e5436ad --binary-syntax --close-stderr
lightdm  24088     1  0 07:13 ?        00:00:00 /usr/bin/dbus-daemon --syslog-only --fork --print-pid 5 --print-address 7 --session
lightdm  24096 24090  0 07:13 ?        00:00:00 /usr/bin/dbus-daemon --config-file=/usr/share/defaults/at-spi2/accessibility.conf --nofork --print-address 3
john     24117     1  0 07:13 ?        00:00:00 dbus-launch --exit-with-session mate-session
john     24118     1  0 07:13 ?        00:00:00 /usr/bin/dbus-daemon --syslog --fork --print-pid 5 --print-address 7 --session

출력 결과에 따르면 dbus도 실행 중이고 작동하는 것으로 보입니다 busctl.

또한 Gnome 인증 에이전트( )를 설치하려고 시도했는데 polkit-gnome터미널에서 실행하려고 하면 똑같은 오류가 발생했습니다.

답변1

elogind 개발자 중 한 사람의 몇 가지 제안 덕분에 저는 이 문제를 해결했으며 다른 사람이 비슷한 문제를 겪을 경우를 대비해 이 문제를 닫고 싶었습니다.

문제는 (systemd 대신) elogind로 실행할 때 디스플레이 관리자의 PAM이 올바르게 구성되지 않는다는 것입니다. 내 배포판의 기본 구성이 elogind와 호환되지 않는 것 같습니다. systemd가 아닌 elogind를 호출하려면 파일 sddm-greetersystem-loginin을 수정해야 합니다./etc/pam.d

session optional pam_elogind.so

예를 들어, sddm-greeter를 다음과 같이 변경했습니다.

#%PAM-1.0

# Load environment from /etc/environment and ~/.pam_environment
auth            required pam_env.so

# Always let the greeter start without authentication
auth            required pam_permit.so

# No action required for account management
account         required pam_permit.so

# Can't change password
password        required pam_deny.so

# Setup session
session         required pam_unix.so
#-session               optional pam_systemd.so
session         optional pam_elogind.so
sddm-greeter (END)

그리고 시스템에 로그인합니다:

#%PAM-1.0

auth       required   pam_tally2.so        onerr=succeed file=/var/log/tallylog
auth       required   pam_shells.so
auth       requisite  pam_nologin.so
auth       include    system-auth

account    required   pam_tally2.so 
account    required   pam_access.so
account    required   pam_nologin.so
account    include    system-auth

password   include    system-auth

session    optional   pam_loginuid.so
session    optional   pam_keyinit.so       force revoke
session    include    system-auth
session    optional   pam_motd.so          motd=/etc/motd
session    optional   pam_mail.so          dir=/var/spool/mail standard quiet
#-session   optional   pam_systemd.so
session    optional   pam_elogind.so
session    required   pam_env.so
system-login (END)

기본적으로 나는 systemd 라인을 주석 처리하고 elogind와 동등한 라인으로 대체했습니다. 그 후 polkit 프록시 인증이 제대로 작동했습니다.

관련 정보