Untuk distribusi Linux menggunakan systemd, adakah perbedaan praktis antara kedua perintah ini?
systemctl suspend
pm-suspend
Mana yang harus saya gunakan atau sukai?
Singkatnya, Anda umumnya harus memilih mode penangguhan yang terintegrasi oleh distro Anda. Untuk distro yang mengirim systemd, itu biasanya systemctl suspend
.
Misalnya, wiki Arch Linux mengatakan :
systemd menyediakan perintah asli untuk menangguhkan, hibernasi, dan penundaan sementara, lihat "Manajemen daya dengan systemd" untuk detailnya. Ini adalah antarmuka default yang digunakan di Arch Linux.
Dan untuk Debian Jessie :
Dengan systemd,
pm-utils
dan kaitnya tidak digunakan lagi, malah adasystemd-suspend
.
Alasan mengapa Anda ingin tetap menggunakan distro Anda adalah bahwa paket mereka yang peduli tentang menangguhkan / melanjutkan akan mengirimkan skrip kait yang terintegrasi dengan pm-utils
( /usr/lib/pm-utils/sleep.d
) atau systemd
( /usr/lib/systemd/system-sleep/
), jadi Anda harus menggunakan antarmuka yang sama untuk mendapatkan semua yang benar kait berjalan seperti yang diharapkan.
Selain itu, distro biasanya akan mengaitkan metode penangguhan / hibernasi yang tepat ke ACPI untuk acara perangkat keras, lingkungan desktop (untuk tombol penonaktifan yang memungkinkan penangguhan / hibernasi), dan dengan screen saver / kunci, dll.
Keduanya pm-suspend
dan systemd-suspend
biasanya menggunakan antarmuka yang sama untuk benar - benar membuat komputer tidur.
Baik default untuk menggunakan driver penangguhan kernel (dengan menulis ke /sys/power/state
) dan keduanya mendukung driver penangguhan eksternal (seperti uswsusp
, lihat di sini untuk rincian tentang bagaimana menghubungkannya ke systemd.)
Keduanya mendukung file konfigurasi dan skrip kait yang dipanggil dalam proses menangguhkan atau melanjutkan, perbedaan utama adalah lokasi file (API kait sangat mirip):
pm-utils
membaca konfigurasinya dari file di /etc/pm/config.d
dan mengeksekusi hook dari keduanya /etc/pm/sleep.d
dan /usr/lib/pm-utils/sleep.d
direktori.systemd-suspend
membaca konfigurasinya dari /etc/systemd/sleep.conf
file (atau file dalam sleep.conf.d
direktori) dan mengeksekusi kait dari /usr/lib/systemd/system-sleep/
.Jadi, dari sudut pandang itu, keduanya terlihat sangat mirip ...
Tetapi systemd melangkah lebih jauh ke dalam dukungannya untuk menangguhkan / hibernasi / melanjutkan, karena:
systemctl suspend
tentu saja merupakan pilihan.) Memicu penangguhan melalui D-Bus daripada menjalankan perintah biasanya berguna dari lingkungan desktop.Jadi meskipun keduanya pm-utils
dan systemd-suspend
mencapai penangguhan sebenarnya dari sistem dalam cara yang hampir sama, integrasi dengan komponen lain dari sistem membuatnya sehingga penting yang mana yang disebut ... Dan pada distribusi pengiriman systemd, maka systemctl suspend
biasanya adalah yang benar untuk menelepon.
pm-utils
terinstal secara default dan tampaknya mengandalkansystemctl
, tetapi/usr/lib/pm-utils/sleep.d/
memiliki hal-hal di dalamnya dan/usr/lib/systemd/system-sleep/
tidak ada. Namun, saya melihat/lib/systemd/system-sleep/
dan beberapa lagi di bawah/snap/
, yang semuanya memiliki satu atau dua file di dalamnya.