덮개를 닫을 때 절전 명령을 중단하지 마세요.

덮개를 닫을 때 절전 명령을 중단하지 마세요.

나는 다음과 같은 방법으로 몇 가지 알림을 빠르게 설정하는 습관이 있습니다.

sleep $duration; notify-send $reminder_message

하지만 최근에는 여기저기 돌아다니면서 책상을 자주 바꿔야 했습니다. 나는 내가 $reminder_message의도한 것보다 늦게 도착하기 시작했다는 것을 알아차렸다. 범인은 내가 뚜껑을 닫으면 내 명령과 함께 모든 것이 일시 중지된다는 것입니다 sleep.

제가 알아낸 방법은 다음과 같습니다.

date; echo $duration; date -d "+$duration sec"; sleep "$duration"s; date

위 명령 사이에 뚜껑을 닫으면 일치하지 않습니다 date. date -d "+$duration sec"그러나 뚜껑이 닫히지 않으면 일치합니다!

따라서 빠른 수정을 위해 다음을 사용하여 덮개를 닫은 상태에서 일시 중지를 비활성화했습니다.

HandleLidSwitch=ignore

(수행원이 질문 우분투 답변)

이제 내 수면 명령이 내가 원하는 대로 작동합니다. 하지만 일시 중지를 모두 비활성화하는 것은너무 공격적이다수정하고지나침!

더 간단한 해결책이 있습니까? 나는 단지 sleep뚜껑을 닫을 때 내 명령이 중단되지 않기를 원할 뿐입니다.

답변1

기분 나쁘게 하는 것은 아니지만 여기에 XY 문제가 있을 수 있습니다. 귀하의 솔루션이 귀하의 인상진짜문제는 sleep틀릴 수도 있다는 것입니다. sleep지정된 시간이 지날 때까지 확인하고 컴퓨터가 절전 모드가 되면 해당 시간이 멈춥니다.

대신 at특정 작업이 특정 시간에 발생하도록 예약하려면 명령을 사용하는 것이 좋습니다.

at다음과 같이 작동합니다:

echo "command_to_be_run" | at +30 minutes

30분 후에 작업 일정을 잡을 예정입니다.

at은 와 매우 비슷 cron하지만 작업은 한 번만 실행됩니다. 기본적으로 설치되지는 않지만 로 설치할 수 있습니다 sudo apt install at.

관련 정보