私は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
一般ユーザーまたはrootとして端末で実行しようとすると、非常に似たエラーが表示されます。エラーファイルには、他のいくつかのパッケージに対するdbind警告も表示されます。これがそれに関連しているかどうかはわかりません。私はsystemdではなくopenrcを使用しています。
この質問は既存の質問と似ているように見えますが、手動起動が機能しているように見えるため、根本的な問題が異なる可能性があります。
polkit-gnome-authentication-agent-1 はアップグレード後に自動的に起動しません。
どんなアイデアや提案がありますか?
編集する:
出力には、ps -Af | grep dbus
dbusが実行中で、デーモンがログインしているユーザーが所有しているとマークされます。
$ 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-greeter
とsystem-login
inを変更する必要があります。/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プロキシ認証が正しく機能しました。