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 시스템입니다.