Linux Mint 20 Cinnamon(Ubuntu 20)에서 최대 절전 모드를 활성화하고 예기치 않은 깨우기를 방지하는 방법에 대한 가이드

Linux Mint 20 Cinnamon(Ubuntu 20)에서 최대 절전 모드를 활성화하고 예기치 않은 깨우기를 방지하는 방법에 대한 가이드

Linux Mint 20 Cinnamon(Ubuntu 20)에서 최대 절전 모드를 활성화하고 예기치 않은 깨우기를 방지하는 방법은 무엇입니까?

답변1

다음은 원래 질문의 일부로 게시되었으므로 (테든) 여기에 복사하고 있습니다.


업데이트: 깨울 때마다 실행되도록 되어 있는 스크립트의 섹션 4에서 일부 불일치가 발생했습니다. /proc/acpi/wakeup설정은 재설정만 가능하다는 것이 밝혀졌습니다때때로. 종료/재시작/최대 절전 모드/일시 중지할 때마다 그런 것은 아닙니다. 따라서 내 스크립트는 때때로 깨우기를 활성화합니다. 스크립트를 업데이트했습니다. 이제 활성화된 것으로 표시되는지 확인합니다.어딘가에그런 다음 /proc/acpi/wakeup출력하면 됩니다.

어떤 의미에서 이것은 미래를 위한 나 자신을 위한 메모이기도 하다. Linux에서 최대 절전 모드가 작동하는 간단한 기능이 아닌 이유와 이를 활성화하는 것이 왜 그렇게 복잡한지 이해가 되지 않습니다. 절전 모드에 대해 궁금한 분들에게도 도움이 되었으면 좋겠습니다.


  1. 먼저, 당신이 가지고 있는지 확인해야합니다충분히 큰 스왑 파일. 스왑 영역은 최대 절전 모드 중에 RAM이 디스크에 저장되는 곳입니다.
  • 스왑 크기를 확인하십시오.시스템 모니터->리소스또는 실행하면 sudo swapon --show충분하지 않을 수 있습니다. 스왑 크기는 RAM 크기보다 약간 커야 합니다. 온라인에는 몇 가지 가이드가 있습니다. 4GB RAM 시스템에서 5GB 스왑 공간을 선택했습니다.
  • 스왑 공간을 늘리는 방법은 설정 방법에 따라 다릅니다. 어쩌면 더 큰 스왑 파일을 만들어야 할 수도 있고, 열어야 할 수도 있습니다.고팟간단히 파티션 크기를 조정하면 됩니다. /dev/vgmint/root볼륨이 있는 암호화된 LVM이 있습니다 /dev/vgmint/swap. LVM은 마운트 후에 크기를 조정할 수 없으므로 Linux Mint를 사용하여 USB 스틱에서 부팅할 수 있습니다. 거기에서 사용할 수 있습니다디스크암호화된 LVM을 잠금 해제하고 사용하는 애플리케이션이 아름다운 가이드/dev/vgmint/root볼륨 크기를 안전하게 줄이려면 :
    • 파일 시스템 강제 검사sudo e2fsck -f /dev/vgmint/root
    • 파일 시스템을 축소합니다 sudo resize2fs /dev/vgmint/root 180G. 180G를 원하는 최종 볼륨 크기의 약 90%로 교체하세요.
    • 볼륨을 최종 크기로 줄입니다 sudo lvreduce -L 200G /dev/vgmint/root. 여기서 200G는 볼륨의 최종 크기입니다.
    • 볼륨의 남은 여유 공간을 차지하도록 파일 시스템을 확장합니다.sudo resize2fs /dev/vgmint/root
  • sudo lvextend -l 100%FREE /dev/vgmint/swap_1그런 다음 방금 생성한 여유 공간을 사용하여 스왑 볼륨을 확장하도록 실행할 수 있습니다 .
  • 이제 교환을 업데이트해야 합니다. 우리는 귀하의 일반 시스템으로 부팅되는 USB 스틱을 통해 라이브 시스템을 완성했습니다. 스왑의 크기를 다시 확인하면 공간을 더 주었음에도 불구하고 크기가 변경되지 않은 것을 볼 수 있습니다. 새로운 거래소를 만들어야 합니다. sudo swapoff -a모든 스왑을 비활성화하려면 실행 하고 sudo mkswap /dev/vgmint/swap_1새 스왑을 생성하려면 실행하세요.
  1. 이제 하드웨어를 테스트해 보세요.최대 절전 모드 지원그리고수면 버튼을 다시 추가하세요독서로이 사랑스러운 기사:
    • 터미널을 열고 실행하면 sudo pm-hibernate컴퓨터가 최대 절전 모드로 전환됩니다. 다시 부팅하고 모든 것이 복원되는지 확인하십시오. 그렇다면 하드웨어가 최대 절전 모드를 지원하는 것입니다.
    • 이제 최대 절전 모드 아이콘을 활성화하겠습니다. 파일을 생성합니다:
      sudo -i
      cd /var/lib/polkit-1/localauthority/50-local.d/
      nano com.ubuntu.enable-hibernate.pkla
      
    • 다음을 파일에 붙여넣습니다.
      [Re-enable hibernate by default in upower]
      Identity=unix-user:*
      Action=org.freedesktop.upower.hibernate
      ResultActive=yes
      
      [Re-enable hibernate by default in logind]
      Identity=unix-user:*
      Action=org.freedesktop.login1.hibernate
      ResultActive=yes
      
    • 저장하고 다시 시작하세요. 이제 전원 버튼을 누르면 "최대 절전 모드" 옵션이 나타납니다.
  2. 에너지 관리. 이는 Cinnamon이 포함된 Linux Mint에만 해당될 수 있습니다. 일정 기간 동안 사용하지 않으면 노트북을 최대 절전 모드로 전환하고 싶지만 다음 명령을 사용하여 설정할 수 없습니다.에너지 관리앱. 내부 Cinnamon 설정을 편집하려면 dconf 편집기( sudo apt install dconf-editor)를 사용합니다. 그것을 열고 다음으로 가십시오./org/cinnamon/settings-daemon/plugins/power/아니면 그냥 검색해 보세요. sleep-inactive-battery-type이것이 내가 추구하는 것입니다 - "최대 절전 모드"로 설정합니다. 여기서는 use-time-for-policy"배터리 부족", "배터리 위험" 및 "배터리 작동" 상태를 확인하기 위해 남은 시간 대신 전원을 끄고 배터리 비율을 사용하는 것을 선호합니다. 배터리 비율은 실제 값이며 남은 시간은 추정치이며 크게 다를 수 있습니다. percentage-low, percentage-critical및 를 사용하여 백분율 임계값을 설정할 수도 있습니다 percentage-action. 둘러보면 이 탭에 몇 가지 흥미로운 설정이 있습니다. 그래도 조심하세요.
  3. 이제 마지막 퍼즐 조각일시 중지/최대 절전 모드에서 불필요한 절전 모드 해제 방지. 쓰다 sudo cat /proc/acpi/wakeup. 어떤 장치가 활성화되어 있고 최대 절전 모드에서 예상치 못한 깨우기를 일으킬 수 있는지 확인할 수 있습니다. 문제를 일으키는 장치는 시작할 때와 일시 중지/최대 절전 모드에서 돌아올 때 비활성화해야 합니다.
  • 장치를 비활성화하는 방법은 다음과 같습니다 echo DEVICE_NAME | sudo tee /proc/acpi/wakeup. (감사해요이 스레드.)
  • 어떤 장치가 문제를 일으키는지 알아내고(저는 모두 비활성화했습니다) 해당 장치를 비활성화하는 bash 스크립트를 작성합니다. (루트가 파일을 실행하므로 파일을 루트가 소유해야 할 수도 있습니다.) 다음과 같습니다.
#!/bin/bash

filename='/proc/acpi/wakeup'
n=0
fix=false
while read line; do
if [[ "$line" == *"enabled"* ]]; then
  fix=true
  #break
fi
n=$((n))
done < $filename

if [[ "$fix" == "true" ]]; then
  echo RP01 | tee /proc/acpi/wakeup
  echo RP02 | tee /proc/acpi/wakeup
  echo RP03 | tee /proc/acpi/wakeup
  echo RP05 | tee /proc/acpi/wakeup
  echo RP06 | tee /proc/acpi/wakeup
  echo XHC1 | tee /proc/acpi/wakeup
  echo LID0 | tee /proc/acpi/wakeup
fi

스크립트를 루트에서 실행 가능하게 만드는 것을 잊지 마십시오. sudo su그런 다음chmod +x /your-script.sh

  • 이제 스크립트를 호출할 systemctl 서비스를 생성해야 합니다. (감사해요이 기사영감을 얻기 위해 이 사이트에 있는 다른 많은 게시물도 있습니다.) 서비스 직원에게 전화했더니일어나 다. 파일 생성을 사용하십시오 sudo nano /etc/systemd/system/wakeups.service. 문서 내용:
[Unit]
Description=Fix unwanted wakeups from suspend

[Service]
Type=oneshot
TimeoutSec=0
StandardOutput=syslog
User=root
ExecStart=/path-to-your-script/script.sh

[Install]
WantedBy=multi-user.target suspend.target hibernate.target
  • 다음을 실행하여 서비스를 활성화합니다.systemctl enable wakeups.service
  1. 글쎄, 이것이 최대 절전 모드 기능을 작동시키는 데 필요한 전부입니다! 정기적으로 시작하고 최대 절전/일시 중지에서 돌아올 때 모든 것이 제대로 작동하는지 테스트하고 확인하십시오.

관련 정보