Systemd: 일시 중단 전 서비스 중지, 복구 후 다시 시작

Systemd: 일시 중단 전 서비스 중지, 복구 후 다시 시작

xflux사용자 세션 관리자에서 백그라운드 데몬()을 실행하는 시스템 서비스가 있습니다.

컴퓨터를 일시 중지했다가 다시 시작하면 시간 계산이 엉망이 되어 문제를 해결하려면 xflux수동으로 실행해야 합니다 .systemctl --user restart xflux

서비스가 일시 중단되기 전에 자동으로 중지되고 재개된 후에 자동으로 시작되도록 하려면 어떻게 해야 합니까? (복구 시 특정 서비스를 자동으로 실행하는 답변을 찾았는데, 제가 원하는 것은 아닙니다.)

답변1

/lib/systemd/system-sleep/2개의 인수를 사용하여 일시 중단 시 실행하고, 인수 및 재개 후 다시 실행하는 실행 파일을 넣을 수 있습니다 . 체계presuspendpostsuspend매뉴얼 페이지해킹이었다고 하더군요.


systemd 단위를 사용하려면 다음을 참조하십시오.답변유제.

답변2

오래된 스레드 - 그런데 비슷한 상황을 우연히 발견했습니다. 요청된 코드 조각은 다음과 같아야 합니다.

#!/bin/sh
case "$1" in
    USER=username
    post)
    su - $USER --shell=/bin/sh -c '
            export XDG_RUNTIME_DIR=/run/user/$(id -u);
            systemctl --user restart xflux
            '
    ;;
esac

관련 정보