
SSH経由でログインした後にユーザースコープサービスを設定しようとしていますが、
systemctl --user enable wallpaper.timer
問題のユーザーとしてSSH経由でログインしても、これらのエラーが発生します。
Failed to connect to bus: $DBUS_SESSION_BUS_ADDRESS and $XDG_RUNTIME_DIR not defined (consider using --machine=<user>@.host --user to connect to bus of other user)
env
特定の環境変数が設定されていないことを確認してください。しかし、何らかの理由で以下が機能します。
sudo systemctl --machine=<user>@.host --user enable wallpaper.timer
これは迷惑でバイパスのように見えます。私のユーザー環境変数にアクセスするには、sudoを実行する必要があります。これで、ルートサービスと設定を使用するよりも、この方法でサービスを設定することには意味がありませんUser=<username>
。
SSHユーザーアカウントにログインして$XDG_RUNTIME_DIRと$DBUS_SESSION_BUS_ADDRESSを設定するにはどうすればよいですか?私はこれを試して、ssh
同じssh -t
結果を得ました。
答え1
SSH経由でログインすると、ホストのSSHサーバー構成でPAMシステムの電源を切って$XDG_RUNTIME_DIRと$DBUS_SESSION_BUS_ADDRESSは設定されません。
sudo nano /etc/ssh/sshd.config
と設定
UsePAM yes
修理する。
明らかにこれらの変数を制御するのはPAMシステムです。