Systemd는 / etc / pm /…를 읽습니까?


14

시스템에서 systemd읽기 및 실행 스크립트를 사용 /etc/pm/sleep.d/합니까?

대답은 systemd이 스크립트 를 무시 한다는 결론 입니다. 이것이 사실이라면 대체품은 무엇입니까?

업데이트 : man systemd-sleep상태 스크립트를 추가 할 수 있습니다 /lib/systemd/system-sleep/. 세부 사항이 충분하지 않았지만 아치 위키 예제를 수정 하여 만들었습니다 /lib/systemd/system-sleep/root-resume.service.

[Unit]
Description=Local system resume actions
After=suspend.target

[Service]
Type=simple
ExecStart=/bin/systemctl restart network-manager.service

[Install]
WantedBy=suspend.target

내 의도는 때때로 작동하지 않기 때문에 다시 시작한 후 네트워크 관리자를 다시 시작하는 것입니다.

이것은 내가 원하는 것을하지 않는 것 같습니다.


sudo pm-suspendcmdline에서 입력하면 /etc/pm/sleep.d 스크립트가 계속 실행됩니다 . 그냥 systemd는 워크 플로에서 사용하지 않습니다.
Tomofumi

답변:


13

/etc/pm/config.d|power.d|sleep.dsystemd 에서는 스크립트 가 무시됩니다. 대신 시스템화 된 "장치"(서비스)를 작성하고 활성화해야합니다.

시스템이 절전 모드에서 재개 된 후 네트워킹을 다시 시작하려면 파일을 작성했습니다 /lib/systemd/system/root-resume.service.

[Unit]
Description=Local system resume actions
After=suspend.target

[Service]
Type=oneshot
ExecStart=/bin/systemctl restart network-manager.service

[Install]
WantedBy=suspend.target

그런 다음로 서비스를 활성화했습니다 sudo systemctl enable root-resume.service. 서비스를 활성화하면 파일에 대한 심볼릭 링크가 생성됩니다./etc/systemd/system/suspend.target.wants/

man systemd-sleep배치 된 서비스 파일과 달리 /lib/systemd/system-sleep/무시됩니다.


그렇습니다. "정지 후 네트워크 다시 시작"스크립트가 systemd를 사용하여 우분투를 실행하는 사람들에게는 작동하지 않는 이유가 바로 여기에 있습니다.
neo1691

로 작성해야합니다 /etc/systemd/system/root-resume.service. 패키지 관리자가 관리하는 / lib에서 파일을 수정해서는 안됩니다. 백업 단순화에 대한 언급은 물론 업그레이드시 부서 지거나 잠재적 인 손상을 피할 수 있습니다.
hackel

2

아니요 /usr/lib/pm-utils/sleep.d. 그러나 /lib/systemd/system-sleep/실행 가능한 비트 세트로 모든 스크립트 (서비스 파일 아님) 를 실행합니다.

다음은에서 수정 된 pm-powersave를 호출하는 예제입니다 /usr/lib/pm-utils/sleep.d/00powersave.

#!/bin/sh

# do not run pm-powersave on ARM during suspend; the 1.5 seconds that it takes
# to run it don't nearly compensate the potentially slightly slower suspend
# operation in low power mode
ARCH=`uname -m`

case $1 in
    pre)  [ "$ARCH" != "${ARCH#arm}" ] || pm-powersave false ;;          
    post) pm-powersave ;;
esac
exit 0

$ 1은 이력서에 "게시"이고, 그렇지 않으면 "이전"입니다. 두 경우 모두 $ 2에는 "suspend", "hibernate"또는 "hybrid-sleep"이 포함됩니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.