pm-đình chỉ vs đình chỉ systemctl?


10

Đối với các bản phân phối Linux sử dụng systemd, có sự khác biệt thực tế giữa hai lệnh này không?

  • systemctl suspend
  • pm-suspend

Tôi nên sử dụng hay thích?

Câu trả lời:


16

Nói tóm lại, bạn thường thích chế độ treo được tích hợp bởi bản phân phối của bạn. Đối với các distro mà shipd hệ thống, đó là điển hình systemctl suspend.

Ví dụ, wiki Arch Linux nói :

systemd cung cấp các lệnh gốc để tạm dừng, ngủ đông và tạm ngưng lai, xem "Quản lý năng lượng với systemd" để biết chi tiết. Đây là giao diện mặc định được sử dụng trong Arch Linux.

đối với Debian Jessie :

Với systemd, pm-utilsvà hook của nó không được sử dụng nữa, thay vào đó là systemd-suspend.


Lý do tại sao bạn muốn sử dụng bản phân phối của mình là vì các gói của họ quan tâm đến việc tạm dừng / tiếp tục sẽ gửi các tập lệnh hook tích hợp với pm-utils( /usr/lib/pm-utils/sleep.d) hoặc systemd( /usr/lib/systemd/system-sleep/), vì vậy bạn nên sử dụng cùng một giao diện để có tất cả giao diện phù hợp móc chạy như mong đợi.

Hơn nữa, các bản phân phối thường sẽ gắn phương thức tạm dừng / ngủ đông thích hợp vào ACPI cho các sự kiện phần cứng, môi trường máy tính để bàn (đối với các nút tắt cho phép tạm dừng / ngủ đông) và với trình bảo vệ / khóa màn hình, v.v.


Cả hai pm-suspendsystemd-suspendsử dụng các giao diện điển hình giống nhau để thực sự đưa máy tính vào trạng thái ngủ.

Cả hai mặc định sử dụng trình điều khiển tạm dừng của kernel (bằng cách ghi vào /sys/power/state) và cả hai đều hỗ trợ trình điều khiển tạm dừng bên ngoài (chẳng hạn như uswsusp, xem tại đây để biết chi tiết về cách nối nó vào systemd.)

Cả hai đều hỗ trợ các tệp cấu hình và tập lệnh hook được gọi trong quá trình tạm dừng hoặc tiếp tục, sự khác biệt chính là vị trí của các tệp (API của hook rất giống nhau):

  • pm-utilsđọc cấu hình của nó từ các tập tin trong /etc/pm/config.dvà thực hiện hook từ cả hai /etc/pm/sleep.d/usr/lib/pm-utils/sleep.dthư mục.
  • systemd-suspendđọc cấu hình của nó từ /etc/systemd/sleep.conftệp (hoặc tệp trong sleep.conf.dthư mục) và thực hiện hook từ đó /usr/lib/systemd/system-sleep/.

Vì vậy, từ quan điểm đó, cả hai trông rất giống nhau ...

Nhưng systemd đi sâu hơn vào hỗ trợ của nó để tạm dừng / ngủ đông / tiếp tục, kể từ:

  • Bạn có thể nối các đơn vị systemd vào quy trình tạm dừng / tiếp tục, ví dụ chạy chúng trước khi tạm dừng hoặc sau khi tiếp tục. (Bạn có thể tìm thấy công thức nấu ăn tuyệt vời ở đây .)
  • systemd hỗ trợ giao diện D-Bus, do đó, người ta có thể kích hoạt tạm dừng bằng cách sử dụng cuộc gọi D-Bus thay vì chạy lệnh (mặc dù việc chạy systemctl suspendvẫn là một tùy chọn.) Kích hoạt đình chỉ qua D-Bus thay vì chạy lệnh thường hữu ích từ môi trường máy tính để bàn.
  • systemd có giao diện nâng cao để thông báo và khiến các ứng dụng không gian người dùng trì hoãn trong khi chúng đang hoàn tất các hoạt động, giao diện ức chế , linh hoạt và thuận tiện hơn các tập lệnh hook. (Trên thực tế, systemd khuyên bạn nên sử dụng giao diện này thay vì hook script bất cứ khi nào có thể.)

Vì vậy, mặc dù cả hai pm-utilssystemd-suspendđạt được sự đình chỉ thực tế của hệ thống theo cùng một cách, việc tích hợp với các thành phần khác của hệ thống khiến nó trở thành vấn đề được gọi là ... Và trên hệ thống vận chuyển phân phối, thì systemctl suspendđiển hình là đúng một cuộc gọi.


1
Đây là một câu trả lời thực sự tuyệt vời bao gồm tất cả các cơ sở. Cảm ơn vì nền tảng! Tôi không thấy Xubfox sử dụng pm-đình chỉ, vì vậy có lẽ trong những ngày trước hệ thống tôi đã cài đặt nó và không bao giờ gỡ bỏ nó, và tôi là người duy nhất sử dụng nó. Debian thực hiện một công việc thực sự là nói với bạn khi có một cách mới hơn để làm điều gì đó.
Evan Carroll

1
+1. Có phải systemctl đóng một vai trò trong các vấn đề mà tôi gặp phải ở đây unix.stackexchange.com/questions/435168/ Ấn ?
Tim

1
Thật thú vị, Ubuntu 18.04 không pm-utilsđược cài đặt theo mặc định và dường như dựa vào systemctl, nhưng /usr/lib/pm-utils/sleep.d/có những thứ trong đó và /usr/lib/systemd/system-sleep/không tồn tại. Tuy nhiên, tôi thấy /lib/systemd/system-sleep/và nhiều hơn nữa /snap/, tất cả đều có một hoặc hai tệp trong đó.
Izkata
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.