Untuk distribusi Linux menggunakan systemd, adakah perbedaan praktis antara kedua perintah ini?
systemctl suspendpm-suspend
Mana yang harus saya gunakan atau sukai?
Untuk distribusi Linux menggunakan systemd, adakah perbedaan praktis antara kedua perintah ini?
systemctl suspendpm-suspendMana yang harus saya gunakan atau sukai?
Jawaban:
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-utilsdan 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-suspenddan systemd-suspendbiasanya 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-utilsmembaca konfigurasinya dari file di /etc/pm/config.ddan mengeksekusi hook dari keduanya /etc/pm/sleep.ddan /usr/lib/pm-utils/sleep.ddirektori.systemd-suspendmembaca konfigurasinya dari /etc/systemd/sleep.conffile (atau file dalam sleep.conf.ddirektori) 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 suspendtentu saja merupakan pilihan.) Memicu penangguhan melalui D-Bus daripada menjalankan perintah biasanya berguna dari lingkungan desktop.Jadi meskipun keduanya pm-utilsdan systemd-suspendmencapai 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 suspendbiasanya adalah yang benar untuk menelepon.
pm-utilsterinstal secara default dan tampaknya mengandalkan systemctl, 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.