답변:
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보다 더 우아한 솔루션이 있어야한다고 생각하지만 배포판에 따라 다릅니다.
편집하다:
루트로 로그인 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
기본적으로 환경을 정리하기 때문에 화이트리스트에 포함 된 것들이 필요하다고 생각 합니다. 그래도 현재 사용자의 런타임 디렉토리를 전송할지 확실하지 않습니다.