回答:
私のgentooボックスにssh経由でリモートでログインしたときにも同じ問題が発生しました。私の場合、これはXDG_RUNTIME_DIR
およびDBUS_SESSION_BUS_ADDRESS
環境変数が欠落していたためです。次のコマンドを実行して、再試行してください。
export XDG_RUNTIME_DIR="/run/user/$UID"
export DBUS_SESSION_BUS_ADDRESS="unix:path=${XDG_RUNTIME_DIR}/bus"
これが役立つ場合は、それらのコマンドを.bashrcに入れることができます。.bashrcよりもエレガントな解決策があるはずですが、それはディストリビューションによって異なります。
編集:
rootとしてログインすると、次のようにsystemctl --user
別のユーザーとして正常に実行できましたsu
。
su -c 'XDG_RUNTIME_DIR="/run/user/$UID" DBUS_SESSION_BUS_ADDRESS="unix:path=${XDG_RUNTIME_DIR}/bus" systemctl --user status' username
またはを使用してsudo
(注意、それぞれのユーザーUID(1000)をパス '/ run / user /'に明示的に追加する必要がありましたが、bashスクリプトから実行している場合は、代わりに$ SUDO_UIDを使用できます):
sudo -u username XDG_RUNTIME_DIR="/run/user/1000" DBUS_SESSION_BUS_ADDRESS="unix:path=${XDG_RUNTIME_DIR}/bus" systemctl --user status
/etc/profile.d/dbus.sh
ます。sudo
デフォルトで環境をクリアするため、ホワイトリストに登録する必要があると思います。ただし、現在のユーザーのランタイムディレクトリを転送するだけかどうかはわかりません。