Làm cách nào để tắt chế độ treo tự động khi tôi đóng nắp máy tính xách tay?


129

Tôi đang sử dụng archlinux. Nó không bao giờ tự động tạm dừng trước khi nâng cấp hệ thống gần đây (có thể tôi đã cập nhật kernel?).

Tôi nghĩ rằng nó có liên quan đến laptop-modehoặc acpid, vì vậy tôi ngăn chặn chúng:

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

Tôi cũng chỉnh sửa /etc/laptop-mode/laptop-mode.conf:

ENABLE_LAPTOP_MODE_TOOLS=0

Sau đó tôi chỉnh sửa /etc/acpi/actions/lm_lid.sh, nhận xét dòng cuối cùng:

# /usr/sbin/laptop_mode auto

Nhưng tất cả những điều trên không hoạt động. Các dòng sau được tìm thấy trong /var/log/kernel.log(các dòng không liên quan được bỏ qua):

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

Tôi nghĩ rằng điều này không phải do pm-susend, bởi vì /var/log/pm-suspend.logkhông đăng nhập bất cứ điều gì.

Tôi không muốn máy tính xách tay của tôi đi ngủ khi tôi đóng nắp. Làm thế nào để làm nó?

Phiên bản hạt nhân: 3.6.2-1-ARCH


2
Tôi vừa định tự hỏi điều này khi câu hỏi của bạn xuất hiện trong "Câu hỏi có thể đã có câu trả lời của bạn." Nó đã làm. Cảm ơn.
cjm

1
Trên Debian 8 "Jessie", lệnh systemctl mask sleep.target suspend.target hibernate.target hybrid-sleep.targetvô hiệu hóa mọi kiểu treo.
CDuv

Câu trả lời:


158

Chỉnh sửa /etc/systemd/logind.confvà đảm bảo bạn có,

HandleLidSwitch=ignore

mà sẽ làm cho nó bỏ qua nắp được đóng lại. (Bạn cũng có thể cần hoàn tác các thay đổi khác bạn đã thực hiện).

Sau đó, bạn sẽ muốn tải lại logind.confđể thay đổi có hiệu lực (cảm ơn Ehtesh Choudhury đã chỉ ra điều này trong các bình luận):

systemctl restart systemd-logind

Chi tiết đầy đủ tại Wiki archlinux .

Trang man cho logind.conf cũng có thông tin liên quan,

   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
Sau khi thay đổi HandleLidSwitch, làm cách nào để tải lại logind.conf một cách nhanh chóng? Đừng bận tâm, đó là systemctl stop systemd-logind && systemctl start systemd-logind.
Ehtesh Choudhury

11
Hoặc có thể systemctl restart systemd-logind, hoặc thậm chí chỉ systemctl reload systemd-logind? do đó, không chắc là đủ, vì vậy, mong chờ câu trả lời trước khi cố gắng đóng nắp của tôi (tính toán dài trong tiến trình ... (:). Ngoài ra, không có công cụ không gian người dùng nào có thể quản lý các tính năng acpi như vậy?
cedbeu

2
Nó chắc chắn không còn trên wiki nữa và tôi không thấy một bài viết logind.conf (viết tắt phần nhỏ trên trang đó).
Ehtesh Choudhury

1
Chủ đề liên quan được chuyển sang Quản lý năng lượng trên Arch Wiki.
ngày

3
systemctl restart systemd-logindkhiến Archlinux của tôi bị đóng băng máy tính để bàn Gnome. Được chuẩn bị.
Mehdi Sadeghi

24

Bạn có thể sử dụng điều này để tạm thời vô hiệu hóa các sự kiện chuyển đổi nắp:

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

3
Chưa bao giờ biết systemd-inhibittrước đây, rất tuyệt
Hubro

Tôi nghĩ nó đã từng ở trong arch-wiki - idk chuyện gì đã xảy ra.
dùng3467349

2
Điều đó chỉ ức chế handle-lid-switchcho một lệnh cụ thể, trong trường hợp này sleep 1d. Nhưng nó không vô hiệu hóa tự động treo khi đóng nắp máy tính xách tay nói chung.
CMCDragonkai

3
Những gì tôi đã viết là Bạn có thể sử dụng điều này để tạm thời vô hiệu hóa các sự kiện chuyển đổi nắp - thường là những gì tôi hoặc người khác có thể muốn. Vì vậy, tôi không chắc nhận xét của bạn là gì?
dùng3467349

1dnghĩa là 1 ngày? Nếu vậy, các tùy chọn khác là gì? h, m, s? Tôi không thể tìm thấy bất cứ điều gì giải thích rõ ràng phần cuối cùng của lệnh của bạn.
malan
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.