사용자 데몬 다시 로드가 실패하는 이유는 무엇입니까? [복사]

사용자 데몬 다시 로드가 실패하는 이유는 무엇입니까? [복사]

만약 내가한다면:

sudo systemctl --user daemon-reload

다음과 같이 실패합니다.

Failed to connect to bus: No such file or directory

패키지 설치이므로 "sudo"가 필요합니다.

답변1

을 사용하면 루트로 실행 sudo됩니다 systemctl --user. 그러나 루트가 당시 로그인되어 있지 않으면 루트에는 활성 사용자별 D-Bus 인스턴스가 없습니다.

실제로 로그인한 사용자만이 사용자별 D-Bus 인스턴스를 실행합니다. 이러한 특별한 의미에서 suor 를 사용하는 것이 sudo반드시 실제 로그인과 동일하지는 않습니다. Linux 배포판에 이 loginctl명령이 있는 경우 매개 변수 없이 명령을 사용하여 활성 세션이 있는 사용자를 확인합니다(활성 사용자별 D-Bus 인스턴스가 있다는 의미).

--global옵션은 systemctl enable또는 에만 적용됩니다 systemctl disable.

현재 활성 사용자의 모든 세션에서 실행 하려면 systemctl --user daemon-reload다음을 수행할 수 있습니다.

#!/bin/sh
for reloaduser in $(loginctl --no-legend list-users | awk '{print $2;}')
do
    sudo -u $reloaduser systemctl --user daemon-reload
done

관련 정보