깊은 잠과 유휴 잠 사이를 동적으로 전환합니다.

깊은 잠과 유휴 잠 사이를 동적으로 전환합니다.

나는 보통 두 가지 상황에서 주기적으로 노트북을 절전 모드로 전환합니다.

  1. 무언가를 읽거나 토론하는 짧은 시간(몇 분)
  2. 점심시간 및 출퇴근 시간이 긴 경우(1시간 이상)

make 및 set 명령 처럼 랩탑을 절전 모드로 전환할 때, 절전 모드를 deep또는 로 설정해야 하는지 결정할 수 있는 도구나 스크립트가 있는지 궁금합니다 .s2idlesuspend_to_idlesuspend_to_deep

기본적으로 이 두 옵션 사이를 전환하는 스크립트를 작성할 수 있지만 /sys/power/mem_sleepa) sudo가 필요하고 b) 파일 변경 사항이 즉시 고려되는지 잘 모르겠습니다(그렇다고 생각하지만 어디서 확인해야 할지 모르겠습니다) , 아시는 분 계시면 정보 주시면 감사하겠습니다.)

편집: 이론적 근거는 s2idle노트북이 deep잠에서 깨어날 때 15~30초 동안 느린 동작을 방지하기 위해 짧은 잠 시간 동안 사용되는 동시에 더 긴 잠 시간 동안 배터리를 절약하기 위해 후자를 사용하는 것입니다.

답변1

변경 사항이 즉시 반영되었는지 확인할 수 있도록 전환을 수행하는 스크립트를 작성했습니다. /sys/power/mem_sleep약간 지루했지만 효과가 있었습니다.

fcontent=$(cat /sys/power/mem_sleep)

if [ "$fcontent" = "s2idle [deep]" ]; then
        echo "s2idle" | sudo tee /sys/power/mem_sleep
else
        echo "deep" | sudo tee /sys/power/mem_sleep
fi;

답변2

주요 답변에 대한 대안 또는 추가 사항:

~/bin두 개의 별도 스크립트( 안에 )와 두 개의 해당 실행 프로그램을 만들었습니다 .

suspend_deep.sh:

#!/bin/sh

echo deep | sudo tee -a /sys/power/mem_sleep

suspend idle:

#!/bin/sh

echo s2idle | sudo tee -a /sys/power/mem_sleep

송신기 위치는 다음과 같습니다 ~/.local/share/applications.

[Desktop Entry]
Exec=pkexec env DISPLAY=$DISPLAY XAUTHORITY=$XAUTHORITY KDE_SESSION_VERSION=5 KDE_FULL_SESSION=true ~/bin/suspend_deep.sh
Icon=system-suspend
Name[en_US]=Suspend deep
Name=Suspend deep
Type=Application
Terminal=false

그리고:

[Desktop Entry]
Exec=pkexec env DISPLAY=$DISPLAY XAUTHORITY=$XAUTHORITY KDE_SESSION_VERSION=5 KDE_FULL_SESSION=true ~/bin/suspend_idle.sh
Icon=system-suspend
Name[en_US]=Suspend idle
Name=Suspend idle
Type=Application
Terminal=false

현재 상태만 변경하는 스위치에 비해 이 솔루션은 아래와 같이 현재 상태를 알 수 없거나 예상대로 작동하지 않을 때 유용합니다.나한테 이런 일이 일어났어.

답변3

마더보드와 커널이 s2idle과 s2ram을 모두 지원하는 경우 이러한 명령을 실행하여 즉시 일시 중단을 트리거하고 원하는 상태를 얻을 수 있습니다.

s2ram의 경우:

echo "mem" > /sys/power/state

s2idle의 경우:

echo "freeze" > /sys/power/state

시스템에 따라 다를 수 있습니다. 어떤 옵션이 있는지 확인하세요.

cat /sys/power/state

하지만 루트 권한 없이는 이를 달성할 수 있는 방법을 찾을 수 없습니다.

관련 정보