
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-errors
arquivo, 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 dbus
parece 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-greeter
precisam 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.