내가 찾은이 블로그 게시물은 여기에 있습니다.systemd를 사용하여 일시 중단하기 전후에 스크립트를 실행하는 과정을 설명합니다. 다음과 같이 진행하세요:
- 스크립트 를 생성합니다
/usr/lib/systemd/system-sleep/suspend-date.sh
:
#!/bin/sh
if [ "${1}" == "pre" ]; then
# Do the thing you want before suspend here, e.g.:
echo "we are suspending at $(date)..." > /tmp/systemd_suspend_test
elif [ "${1}" == "post" ]; then
# Do the thing you want after resume here, e.g.:
echo "...and we are back from $(date)" >> /tmp/systemd_suspend_test
fi
- 실행 권한을 제공합니다.
chomd +x /usr/lib/systemd/system-sleep/suspend-date.sh
- 컴퓨터를 일시 중지하다
- 컴퓨터를 깨워라
- 발생한 일에 대한 로그 보기
nano /tmp/systemd_suspend_test
하지만,5단계에 이르면 아무 일도 일어나지 않습니다. 파일 systemd_suspend_test
이 생성된 적이 없으므로 볼 내용이 없습니다.
내 문제 해결 방법은 다음과 같습니다.
- 스크립트에 적절한 권한이 있는지 확인하세요.
[/usr/lib/systemd/system-sleep]$ ls -l
-rwxr-xr-x 1 root root 317 Sep 19 14:31 suspend-date.sh
- 터미널에서 명령을 실행하여 작동하는지 확인합니다.
echo "we are suspending at $(date)..." > /tmp/systemd_suspend_test && \
echo "...and we are back from $(date)" >> /tmp/systemd_suspend_test
/tmp/systemd_suspend_test
파일을 봅니다 .
we are suspending at Wed 20 Sep 2023 02:25:28 PM EDT...
...and we are back from Wed 20 Sep 2023 02:25:28 PM EDT
- 수면 시스템 다시 시작
$ sudo systemctl restart systemd-sleep
Failed to restart systemd-sleep.service: Unit systemd-sleep.service not found.
내 컴퓨터가 일시 중단 상태에 들어가고 나갈 때 suspend-date.sh
스크립트를 시작(디렉토리에 있는 것처럼)하려면 어떻게 해야 합니까 /usr/lib/systemd/system-sleep/
?