จะปิดการใช้งานการระงับอัตโนมัติเมื่อฉันปิดฝาแล็ปท็อปได้อย่างไร


129

ฉันใช้อาร์คลินุกซ์ ไม่เคยพักระบบอัตโนมัติก่อนที่จะอัปเกรดระบบเมื่อเร็ว ๆ นี้

ฉันคิดว่ามันเกี่ยวข้องกับlaptop-modeหรือacpidดังนั้นฉันจึงหยุดพวกเขา:

/etc/rc.d/laptop-mode stop
/etc/rc.d/acpid stop

ฉันยังแก้ไข/etc/laptop-mode/laptop-mode.conf:

ENABLE_LAPTOP_MODE_TOOLS=0

จากนั้นฉันจะแก้ไข/etc/acpi/actions/lm_lid.shแสดงความคิดเห็นในบรรทัดสุดท้าย:

# /usr/sbin/laptop_mode auto

แต่ทั้งหมดข้างต้นไม่ทำงาน พบบรรทัดต่อไปนี้ใน/var/log/kernel.log(บรรทัดที่ไม่เกี่ยวข้องกัน):

Oct 23 15:29:20 localhost kernel: [18617.549098] PM: Syncing filesystems ... done.
Oct 23 15:29:20 localhost kernel: [18618.001898] PM: Preparing system for mem sleep
Oct 23 15:29:30 localhost kernel: [18618.039565] Freezing user space processes ... (elapsed 0.01 seconds) done.
Oct 23 15:29:30 localhost kernel: [18618.052596] Freezing remaining freezable tasks ... (elapsed 0.01 seconds) done.
Oct 23 15:29:30 localhost kernel: [18618.065999] PM: Entering mem sleep
Oct 23 15:29:30 localhost kernel: [18618.066167] Suspending console(s) (use no_console_suspend to debug)
Oct 23 15:29:30 localhost kernel: [18618.097917] sd 0:0:0:0: [sda] Synchronizing SCSI cache
Oct 23 15:29:30 localhost kernel: [18618.098103] sd 0:0:0:0: [sda] Stopping disk
Oct 23 15:29:30 localhost kernel: [18618.270537] snd_hda_intel 0000:00:14.2: power state changed by ACPI to D3hot
Oct 23 15:29:30 localhost kernel: [18619.274374] PM: suspend of devices complete after 1196.192 msecs
Oct 23 15:29:30 localhost kernel: [18619.274691] PM: late suspend of devices complete after 0.313 msecs
Oct 23 15:29:30 localhost kernel: [18619.440877] ohci_hcd 0000:00:14.5: wake-up capability enabled by ACPI
Oct 23 15:29:30 localhost kernel: [18619.642144] ACPI: Waking up from system sleep state S3
Oct 23 15:29:30 localhost kernel: [18620.049424] PM: noirq resume of devices complete after 333.503 msecs
Oct 23 15:29:30 localhost kernel: [18620.049852] PM: early resume of devices complete after 0.334 msecs
Oct 23 15:29:30 localhost kernel: [18622.418605] PM: resume of devices complete after 2371.906 msecs
Oct 23 15:29:30 localhost kernel: [18622.419018] PM: Finishing wakeup.
Oct 23 15:29:30 localhost kernel: [18622.419019] Restarting tasks ... done.
Oct 23 15:29:30 localhost kernel: [18622.464752] video LNXVIDEO:01: Restoring backlight state

ฉันคิดว่ามันไม่ได้เกิดจากpm-susendเพราะ/var/log/pm-suspend.logไม่ได้บันทึกอะไรเลย

ฉันไม่ต้องการให้แล็ปท็อปของฉันหลับเมื่อฉันปิดฝา ทำอย่างไร?

เวอร์ชั่นเคอร์เนล: 3.6.2-1-ARCH


2
ฉันเพิ่งจะถามตัวเองเมื่อคำถามของคุณปรากฏขึ้นใน "คำถามที่อาจมีคำตอบของคุณ" มันทำ. ขอบคุณ
cjm

1
ใน Debian 8 "Jessie" คำสั่งsystemctl mask sleep.target suspend.target hibernate.target hybrid-sleep.targetจะปิดใช้งานการระงับทุกประเภท
CDuv

คำตอบ:


158

แก้ไข/etc/systemd/logind.confและตรวจสอบให้แน่ใจว่าคุณมี

HandleLidSwitch=ignore

ซึ่งจะทำให้ละเว้นการปิดฝา (คุณอาจต้องยกเลิกการเปลี่ยนแปลงอื่น ๆ ที่คุณทำ)

จากนั้นคุณจะต้องโหลดซ้ำlogind.confเพื่อให้การเปลี่ยนแปลงมีผล (ขอบคุณ Ehtesh Choudhury สำหรับการชี้ให้เห็นในความคิดเห็น):

systemctl restart systemd-logind

รายละเอียดมากกว่าที่วิกิพีเดีย ArchLinux

man page สำหรับ logind.conf ยังมีข้อมูลที่เกี่ยวข้อง

   HandlePowerKey=, HandleSuspendKey=, HandleHibernateKey=,
   HandleLidSwitch=
       Controls whether logind shall handle the system power and sleep
       keys and the lid switch to trigger actions such as system power-off
       or suspend. Can be one of ignore, poweroff, reboot, halt, kexec,
       suspend, hibernate, hybrid-sleep and lock. If ignore logind will
       never handle these keys. If lock all running sessions will be
       screen locked. Otherwise the specified action will be taken in the
       respective event. Only input devices with the power-switch udev tag
       will be watched for key/lid switch events.  HandlePowerKey=
       defaults to poweroff.  HandleSuspendKey= and HandleLidSwitch=
       default to suspend.  HandleHibernateKey= defaults to hibernate.

16
หลังจากเปลี่ยนHandleLidSwitchแล้วฉันจะโหลด logind.conf ใหม่ได้อย่างไร? systemctl stop systemd-logind && systemctl start systemd-logindไม่เป็นไรมันเป็น
Ehtesh Choudhury

11
หรืออาจจะsystemctl restart systemd-logindหรือเพียงแค่systemctl reload systemd-logind? ไม่แน่ใจว่ามันเพียงพอแล้วดังนั้นรอการตอบกลับก่อนที่จะพยายามปิดฝาของฉัน (กำลังดำเนินการการคำนวณที่ยาวนาน ... (
:)

2
มันไม่ได้อยู่ในวิกิอีกต่อไปและฉันไม่เห็นบทความ logind.conf (ย่อส่วนเล็ก ๆ ของหน้านั้น)
Ehtesh Choudhury

1
หัวข้อที่เกี่ยวข้องถูกย้ายไปที่การจัดการพลังงานบน Arch Wiki
วันที่

3
systemctl restart systemd-logindทำให้ Archlinux ของฉันหยุดทำงานเดสก์ท็อปเชลล์ GNOME เตรียมตัว.
Mehdi Sadeghi

24

คุณสามารถใช้สิ่งนี้เพื่อปิดการใช้งานกิจกรรมสวิตช์ฝาชั่วคราว:

systemd-inhibit --what=handle-lid-switch sleep 1d

3
ไม่เคยรู้systemd-inhibitมาก่อนตอนนี้เท่ห์มาก
Hubro

ฉันคิดว่ามันเคยเป็นใน arch-wiki - idk เกิดอะไรขึ้น
user3467349

2
นั่นเป็นเพียงการยับยั้งhandle-lid-switchคำสั่งเฉพาะในกรณีsleep 1dนี้ แต่จะไม่ปิดการใช้งานการระงับอัตโนมัติเมื่อปิดฝาแล็ปท็อปโดยทั่วไป
CMCDragonkai

3
สิ่งที่ฉันเขียนคือคุณสามารถใช้สิ่งนี้เพื่อปิดการใช้งานกิจกรรมฝาปิดสวิตช์ชั่วคราวซึ่งโดยทั่วไปเป็นสิ่งที่ฉันหรือคนอื่น ๆ อาจต้องการ ดังนั้นฉันไม่แน่ใจว่าความคิดเห็นของคุณเกี่ยวกับอะไร
user3467349

ไม่1dได้หมายความว่า 1 วัน? ถ้าเป็นเช่นนั้นตัวเลือกอื่น ๆ คืออะไร? h, m, s? ฉันไม่พบสิ่งใดที่อธิบายส่วนสุดท้ายของคำสั่งของคุณอย่างชัดเจน
malan
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.