Não é possível iniciar o polkit-mate-authentication-agent

Não é possível iniciar o polkit-mate-authentication-agent

Estou usando o Mate no Parabola GNU/Linux (baseado no Arch). Eu tenho o polkit-mate-authentication-agent instalado e ele deve ser iniciado automaticamente no login na área de trabalho; no entanto, ele não parece estar iniciando, seja automática ou manualmente. No meu ~/.xsession-errorsarquivo, vejo o seguinte erro:

(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

Vejo um erro muito semelhante se tento iniciá-lo a partir do terminal, seja como usuário normal ou como root. O arquivo de erros também mostra avisos do dbind para muitos outros pacotes - não sei se isso tem alguma coisa a ver com isso. Estou usando o openrc, não o systemd.

O problema parece semelhante a esta questão existente; no entanto, iniciar manualmente parece funcionar, então o problema subjacente pode não ser o mesmo:

polkit-gnome-authentication-agent-1 não inicia automaticamente após a atualização

Alguma idéia ou sugestão?

Editar:

A saída de ps -Af | grep dbusparece mostrar que o dbus está em execução e um daemon pertence ao usuário logado:

$ 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

O dbus também parece estar rodando e funcionando, de acordo com a saída de busctl.

Também tentei instalar o agente de autenticação Gnome ( polkit-gnome) e recebo exatamente o mesmo erro quando tento executá-lo no terminal.

Responder1

Resolvi esse problema graças a alguns conselhos de um dos desenvolvedores do elogind e quero encerrar isso, caso alguém tenha problemas semelhantes:

O problema era a configuração incorreta do PAM para o gerenciador de exibição, ao executar com elogind, em oposição ao systemd. A configuração padrão da minha distribuição parecia não ser compatível com o elogind. Os arquivos sddm-greeterprecisam ser modificados para chamar elogind, em vez de systemd system-login:/etc/pam.d

session optional pam_elogind.so

Por exemplo, mudei sddm-greeter para:

#%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)

e login do sistema para:

#%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)

Basicamente, comentei as linhas do systemd e as substituí pelos equivalentes do elogind. Depois disso, a autenticação do agente polkit funcionou bem.

informação relacionada