GNU/Linux >> Belajar Linux >  >> Debian

Cara mengaktifkan hibernasi di Ubuntu (saat menggunakan file paging)

Artikel ini menjelaskan cara menggunakan systemd untuk mengaktifkan hibernasi pada versi Ubuntu yang lebih baru saat menggunakan file paging (yang telah menjadi standar untuk Ubuntu setidaknya sejak versi 18.04).

Baterai laptop saya cepat habis saat tidur. Saya sudah mencoba beberapa solusi / solusi seperti ini di sini (Kecuali bagi saya masalahnya bukan karena laptop kehilangan setengah dari kekuatannya dalam semalam, tetapi semuanya hanya dalam beberapa jam), tetapi tidak berhasil. Jadi saya memutuskan untuk mengaktifkan opsi Suspend to Disk dan menggunakannya sebagai ganti opsi Suspend to RAM standar karena menggunakan lebih sedikit daya sehingga baterai laptop tidak terkuras saat tidak digunakan, meskipun perlu sedikit lebih lama untuk bangun. bangun dari hibernasi daripada dari tidur. Begitulah cara melakukannya.

Petunjuk di bawah ini mungkin berfungsi pada distribusi Linux lainnya, tetapi saya hanya mengujinya di Ubuntu (seharusnya bekerja dengan cara yang sama pada semua distribusi Linux berbasis Debian dan Ubuntu, termasuk Pop! _OS, dll.). Pada distribusi Linux non-Debian, Anda mungkin perlu menggunakan perintah yang berbeda untuk memperbarui GRUB 2 (langkah 4) dan menyegarkan initramfs (langkah 6) karena ini adalah perintah khusus Debian.

Penting juga untuk dicatat bahwa hibernasi dinonaktifkan di Ubuntu karena akan menyebabkan masalah pada beberapa komputer dan oleh karena itu mungkin tidak berfungsi untuk semua. Itu sedikit Obrolan tentang meninjau kembali hibernasi di Ubuntu dengan versi 20.10, tetapi tetap dinonaktifkan secara default.

persyaratan

Itu perlu disebutkan Anda harus memiliki file paging yang setidaknya sebesar memori komputer (Hibernasi mungkin berhasil atau tidak jika komputer Anda memiliki file paging yang lebih kecil dari memori sistem). Artikel ini menjelaskan cara beralih dari partisi swap ke file swap – Anda juga dapat menggunakan petunjuk ini untuk membuat file swap yang lebih besar.

Selain itu, jika Anda mengenkripsi swap secara khusus, petunjuk ini tidak akan berfungsi . Karena swap laptop saya tidak dienkripsi, saya tidak dapat mencoba ini dengan swap terenkripsi, jadi instruksi di bawah ini hanya berlaku untuk file swap yang tidak terenkripsi. Namun, Anda harus tahu bahwa jika Anda sudah memiliki sistem file root terenkripsi, semua file di dalamnya – termasuk file paging – juga akan dienkripsi, dan petunjuk berikut akan berfungsi dalam kasus ini.

Untuk mengetahui ukuran swap komputer Anda dan jika menggunakan file swap atau partisi (Anda perlu mengetahuinya nanti), Anda dapat menggunakan perintah ini:

cat /proc/swaps

Berikut adalah contoh dengan output dari laptop saya:

$ cat /proc/swaps
Filename	Type	Size		Used		Priority
/swapfile	file	8388604		3213700		-2

Seperti yang Anda lihat di bawah Type katanya file , jadi komputer saya menggunakan file paging (dan jalurnya adalah /swapfile ), dan ukurannya adalah 8388604 Kilobyte (8,3 GB).

Secara default, Ubuntu menggunakan file paging untuk beberapa waktu (setidaknya dimulai dengan Ubuntu 18.04), jadi petunjuk di bawah ini mengasumsikan bahwa Anda menggunakannya. Jika Anda menggunakan partisi swap, dalam petunjuk berikut gunakan UUID partisi swap alih-alih UUID partisi tempat file swap berada, dan jangan tambahkan offset file swap (resume_offset Parameter) di mana-mana. Inilah perbedaan antara hibernasi dengan partisi swap dan file swap.

Anda mungkin juga tertarik dengan:3 Alat Untuk Melihat Informasi Baterai Laptop Linux Dari Baris Perintah

Cara mengaktifkan hibernasi di Ubuntu (saat menggunakan file paging)

1. Tentukan UUID partisi tempat file swap berada.

Kita perlu menambahkan ini ke file GRUB dan file resume initramfs.

Untuk mengetahui UUID partisi tempat file paging Anda berada, Anda dapat menggunakan perintah berikut:

findmnt -no UUID -T /swapfile

(/swapfile adalah jalur ke file swap dan dapat berbeda di komputer Anda; Gunakan jalur persis yang dikembalikan dari cat /proc/swaps Perintah).

Contoh dari komputer saya (dengan output):

$ findmnt -no UUID -T /swapfile

4a59c6a7-ca54-4e24-a362-3eac83bfe226

2. Cari tahu offset file paging.

Selanjutnya kita perlu mencari tahu offset dari file paging. Seperti UUID, kita perlu menambahkan ini ke file GRUB dan file resume initramfs.

Ini dapat dilakukan dengan menjalankan perintah berikut:

sudo filefrag -v /swapfile

Dalam output dari perintah ini, blok angka pertama dari kolom “physical_offset” adalah offset dari file swap, yang akan Anda perlukan nanti. Salin hanya angka dan bukan titik yang mengikuti papan angka.

Dalam kasus saya, misalnya, ini adalah output dari sudo filefrag -v /swapfile Perintah:

$ sudo filefrag -v /swapfile
Filesystem type is: ef53
File size of /swapfile is 8589934592 (2097152 blocks of 4096 bytes)
 ext:     logical_offset:        physical_offset: length:   expected: flags:
   0:        0..    6143:    4974592..   4980735:   6144:
   1:     6144..    8191:    4982784..   4984831:   2048:    4980736:
   2:     8192..   10239:    4988928..   4990975:   2048:    4984832:
   3:    10240..   12287:    4997120..   4999167:   2048:    4990976:
........................................

Dalam contoh ini offsetnya adalah file paging 4974592 (Ini adalah blok angka pertama dari psysical_offset Pilar).

3. Edit /etc/default/grub File untuk boot dengan parameter kernel "resume" dan "resume offset".

Sangat penting untuk memastikan bahwa pengeditan Anda pada file ini sudah benar atau komputer Anda mungkin tidak dapat dijalankan!

Buka /etc/default/grub File dengan editor teks sebagai root, mis. dengan perintah berikut kita buka dengan editor teks baris perintah Nano:

sudo nano /etc/default/grub

Dalam file ini di akhir GRUB_CMDLINE_LINUX_DEFAULT Baris, sebelum akhir " , tambahkan berikut ini:resume=UUID=UUID_FROM_STEP_1 resume_offset=SWAP_OFFSET_FROM_STEP_2 . Ganti nilainya dengan UUID yang Anda dapatkan di langkah 1 dan offset resume swap yang Anda dapatkan di langkah 2.

Untuk menyimpan file dan keluar dari Nano, tekan Ctrl + o , lalu Enter , lalu Ctrl + x .

Contoh. Begitulah caranya GRUB_CMDLINE_LINUX_DEFAULT baris ini terlihat seperti ini di komputer saya setelah menambahkan UUID swap dan offset swap:

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash resume=UUID=4a59c6a7-ca54-4e24-a362-3eac83bfe226 resume_offset=4974592"

4. Perbarui konfigurasi GRUB.

Untuk mengupgrade GRUB 2 pada distribusi Linux berbasis Debian, yang perlu Anda lakukan adalah menjalankan perintah berikut:

sudo update-grub

5. Buat (atau edit jika sudah memiliki) /etc/initramfs-tools/conf.d/resume dengan UUID swap dan offset resume.

Selanjutnya kita perlu mengedit file (atau membuatnya jika tidak ada). /etc/initramfs-tools/conf.d/resume File dengan editor teks sebagai root. Gunakan perintah berikut untuk membuka file ini dengan editor baris perintah Nano:

sudo nano /etc/initramfs-tools/conf.d/resume

Jika Anda memiliki baris dalam file ini yang dimulai dengan “LANJUTKAN”, edit baris tersebut, atau jika tidak ada baris tersebut (atau file benar-benar kosong), tambahkan baris tersebut sehingga terlihat seperti ini:

RESUME=UUID=UUID_FROM_STEP_1 resume_offset=SWAP_OFFSET_FROM_STEP_2

Untuk menyimpan file dan keluar dari Nano, tekan Ctrl +o , lalu Enter , lalu Ctrl + x .

Contoh dengan isi /etc/initramfs-tools/conf.d/resume Berkas dari laptop saya:

RESUME=UUID=4a59c6a7-ca54-4e24-a362-3eac83bfe226 resume_offset=4974592

6. Segarkan initramfs.

Sekarang Anda perlu membuat ulang initramfs dengan perintah ini:

sudo update-initramfs -c -k all

7. Mulai ulang komputer Anda.

Setelah me-restart komputer Anda, gunakan perintah berikut untuk menidurkan komputer Anda:

sudo systemctl hibernate

Untuk saat ini, Anda perlu memberikan kata sandi Anda untuk tidur dan tidak ada opsi menu untuk membuat komputer Anda tertidur, jadi Anda harus melakukan semua ini dari baris perintah. Untuk mengalihkan sistem Anda ke mode tidur tanpa memasukkan kata sandi (dan memiliki opsi untuk hibernasi komputer di opsi daya desktop Anda (mis. di applet di panel kontrol)), lihat 2 langkah berikutnya.

Untuk melanjutkan dari hibernasi, tekan tombol daya di komputer Anda.

Jika Anda mendapatkan pesan kesalahan saat menjalankan perintah ini yang mengatakan bahwa sistem tidak dapat dihibernasi melalui logind:Tidak cukup ruang swap untuk hibernasi, maka Anda mungkin telah mengabaikan catatan di awal artikel di mana Saya Menyebutkan bahwa yang terbaik adalah melakukannya memiliki file paging yang setidaknya sebesar memori komputer Anda. Artikel ini menjelaskan cara beralih dari partisi swap ke file swap – Anda juga dapat menggunakan petunjuk ini untuk membuat file swap yang lebih besar.

Anda dapat memeriksa kesalahan yang terkait dengan layanan systemd Hibernate dengan:

systemctl status systemd-hibernate.service

8. Opsional. Izinkan hibernasi tanpa memasukkan kata sandi (diperlukan untuk langkah berikutnya). Di beberapa lingkungan desktop, opsi ini mengaktifkan kembali opsi menu daya "Hibernasi" dan "Hibrida Tidur".

Untuk menidurkan komputer, Anda harus memasukkan kata sandi secara default. Untuk mengizinkan hibernasi tanpa kata sandi, buat / buka /etc/polkit-1/localauthority/10-vendor.d/com.ubuntu.desktop.pkla dengan editor teks sebagai root.

Perintah berikut membuka /etc/polkit-1/localauthority/50-local.d/com.ubuntu.desktop.pkla sebagai root menggunakan editor baris perintah nano:

sudo nano /etc/polkit-1/localauthority/50-local.d/com.ubuntu.desktop.pkla

Dalam file ini, rekatkan yang berikut ini:

[Enable hibernate in upower]
Identity=unix-user:*
Action=org.freedesktop.upower.hibernate
ResultActive=yes
[Enable hibernate in logind]
Identity=unix-user:*
Action=org.freedesktop.login1.hibernate;org.freedesktop.login1.handle-hibernate-key;org.freedesktop.login1;org.freedesktop.login1.hibernate-multiple-sessions;org.freedesktop.login1.hibernate-ignore-inhibit
ResultActive=yes

Sekarang simpan file dan keluar dari Nano (tekan Ctrl + o , lalu Enter , lalu Ctrl + x ).

Di beberapa lingkungan desktop, Anda kemudian akan menerima (dan setelah keluar / masuk lagi) opsi daya hibernasi dan tidur hibrida. Berikut adalah contoh dengan opsi daya Xfce setelah mengikuti langkah ini:

Namun, ini tidak berfungsi pada beberapa lingkungan desktop yang menggunakan Ubuntu, seperti:B. dengan GNOME Shell. Dalam hal ini kita memerlukan langkah tambahan (lihat di bawah).

itu melebihi AskUbuntu

9. Opsional. Tambahkan item menu untuk aplikasi hibernasi atau gunakan tombol hibernasi untuk Shell GNOME.

Jika Anda menggunakan GNOME Shell, Anda dapat menggunakan ekstensi yang menambahkan opsi untuk mengalihkan komputer Anda ke mode tidur di menu daya sistem di bilah atas, yang disebut tombol Tidur.

Berikut adalah menu Power Off / Logout GNOME Shell dengan ekstensi ini diaktifkan:

Jika Anda tidak menggunakan GNOME Shell, tetapi lingkungan desktop Anda tidak menampilkan opsi daya hibernasi, atau Anda tidak ingin menggunakan ekstensi GNOME Shell yang disebutkan di atas, Anda dapat membuat entri di menu aplikasi Anda dengan membuat file bernama hibernasi. desktop di ~/.local/share/applications/ , misalnya buka editor teks baris perintah Nano dengan file ini:

nano ~/.local/share/applications/hibernate.desktop

Dan di file itu tambahkan yang berikut ini:

[Desktop Entry]
Type=Application
Name=Hibernate desktop
GenericName=Hibernate desktop
Comment=Enter hibernation
NoDisplay=false
Icon=drive-multidisk
Exec=systemctl hibernate
Terminal=true
Categories=System;Utility;Settings;

Sekarang Anda dapat pergi ke menu aplikasi di desktop Anda dan klik Hibernate Ikon untuk membuat sistem Anda tertidur. Agar ini berfungsi, Anda harus mengikuti langkah opsional 9 dari atas untuk tidur tanpa memasukkan kata sandi.

Saya juga harus mengklarifikasi tentang opsi Tidur Hibrida . Selain Sleep / Suspend (Suspend to RAM) dan Hibernate (Suspend to Disk), ada juga opsi Hybrid Sleep (juga disebut Hybrid Suspend), yang menempatkan komputer Anda ke hibernasi dan kemudian masuk ke hibernasi setelah jangka waktu tertentu. . Anda dapat mengatur waktu tidur hibrid antara Suspend dan Hibernation (bersama dengan opsi lain) dengan menggunakan /etc/systemd/sleep.conf File dan kemudian restart sistem Anda. Anda dapat menemukan lebih banyak tentang ini di Arch Wiki.

Anda Mungkin Menyukai Ini:Cara Mengaktifkan Decoding Video dengan Akselerasi Perangkat Keras di browser Google Chrome, Brave, Vivaldi, dan Opera di Debian, Ubuntu, atau Linux Mint


Debian
  1. Cara Menambahkan File Swap Di Ubuntu

  2. Ubuntu 20.04 – Bagaimana Mengaktifkan Hwe?

  3. Cara Meningkatkan Ukuran Swap di Ubuntu Linux

  1. Bagaimana cara mengaktifkan logging error-log.txt menggunakan file .htaccess?

  2. Cara menginstal g ++ di Ubuntu

  3. Bagaimana cara menyalin file melalui FTP menggunakan Ubuntu Linux?

  1. Cara Mengaktifkan SSH di Ubuntu 18.04

  2. Cara Menambahkan Ruang Swap di Ubuntu 18.04

  3. Cara Menambahkan Ruang Swap di Ubuntu 20.04