Ενεργοποίηση αδρανοποίησης σε αρχείο σελιδοποίησης (swap)

Εισαγωγή 

Ο υπολογιστής μας μπορεί να βρίσκεται σε τρεις διαφορετικές καταστάσεις λειτουργίας:

1. Κανονική πλήρης λειτουργία: Η οθόνη είναι ανοικτή και ο υπολογιστής είναι πλήρως λειτουργικός

2. Κατάσταση αναστολής (suspend to RAM):  Η οθόνη είναι σβηστή, ο υπολογιστής υπολειτουργεί στο παρασκήνιο, με χαμηλή κατανάλωση ενέργειας και τα τρέχοντα δεδομένα της μνήμης RAM δεν έχουν αποθηκευτεί στο δίσκο. Σε αυτή την κατάσταση, μπορούμε να “ξυπνήσουμε” τον υπολογιστή σχεδόν ακαριαία και να επανέλθει αμέσως σε κατάσταση κανονικής πλήρους λειτουργίας και μάλιστα με ανοικτά τα παράθυρα εφαρμογών, όπως ήταν πριν τεθεί σε κατάσταση αναστολής.

3. Κατάσταση αδράνειας (hibernation): Η οθόνη είναι σβηστή, ο υπολογιστής έχει αποθηκεύσει τα τρέχοντα δεδομένα της μνήμης RAM στο δίσκο και έχει κλείσει εντελώς, δηλ δεν καταναλώνει ενέργεια. Σε αυτή την κατάσταση, μπορούμε να “ξυπνήσουμε” τον υπολογιστή πολύ γρήγορα και να επανέλθει αμέσως σε κατάσταση κανονικής πλήρους λειτουργίας και μάλιστα με ανοικτά τα παράθυρα εφαρμογών, όπως ήταν πριν τεθεί σε κατάσταση αναστολής.

Σε πολλές περιπτώσεις, αφού ολοκληρωθεί η εγκατάσταση του linux Mint 19.x , διαπιστώνουμε ότι ο υπολογιστής μας δεν υποστηρίζει τη λειτουργία αδρανοποίησης, αν δεν κάνουμε εμείς πρώτα κάποιες ρυθμίσεις.
Αυτό σημαίνει, είτε πως δεν υπάρχει καθόλου η επιλογή αδρανοποίησης, κατά το κλείσιμο του υπολογιστή, είτε, ενώ υπάρχει, δεν λειτουργεί. Δηλ. ο υπολογιστής, αν εκκινηθεί μετά από αδρανοποίηση, δεν επιστρέφει στην προηγούμενη κατάσταση, αλλά εκκινεί εκ νέου.

Διαδικασίες

Ανοίγουμε το τερματικό και δίνουμε τις παρακάτω εντολές:

free -h 
swapon 
sudo swapoff -a 
SIZE=x 

(όπου X το μέγεθος σε GB που θέλουμε για το αρχείο σελιδοποίησης – Θα πρέπει να είναι ίσο ή ελαφρώς μεγαλύτερο από το μέγεθος της μνήμης RAM του υπολογιστή μας)

df / -h
sudo dd if=/dev/zero of=/swapfile bs=1M count=$(($SIZE * 1024))
sudo chmod 0600 /swapfile
sudo mkswap /swapfile
sudo sed -i '/swap/{s/^/#/}' /etc/fstab
sudo tee -a /etc/fstab<<<"/swapfile none swap sw 0 0"
RESUME_PARAMS="resume=UUID=$(findmnt / -o UUID -n) resume_offset=$(sudo filefrag -v /swapfile|awk 'NR==4{gsub(/\./,"");print $4;}') "
if grep resume /etc/default/grub>/dev/null; then echo -e "\nERROR: Hibernation already configured. Remove the existing configuration from /etc/default/grub and add these parameters instead:\n$RESUME_PARAMS";else sudo sed -i "s/GRUB_CMDLINE_LINUX_DEFAULT=\"/GRUB_CMDLINE_LINUX_DEFAULT=\"$RESUME_PARAMS/" /etc/default/grub;fi

Αν το σύστημα εμφανίσει κάποια προειδοποίηση σφάλματος, κάντε τις διορθώσεις που προτείνει. Αν όχι, συνεχίστε με τις παρακάτω εντολές, στο τερματικό:

sudo update-grub
sudo tee /etc/polkit-1/localauthority/50-local.d/com.ubuntu.enable-hibernate.pkla <<'EOB'
[Enable hibernate]
Identity=unix-user:*
>Action=org.freedesktop.login1.hibernate;org.freedesktop.login1.handle-hibernate-key;org.freedesktop.login1;org.freedesktop.login1.hibernate-multiple-sessions
ResultActive=yes
EOB

Κάντε επανεκκίνηση του υπολογιστή και δοκιμάστε αν η αδρανοποίηση λειτουργεί στον υπολογιστή σας, δίνοντας στο τερματικό την παρακάτω εντολή:

busctl call org.freedesktop.login1 /org/freedesktop/login1 org.freedesktop.login1.Manager CanHibernate

Αν η απάντηση του τερματικού είναι “yes”, τότε είστε έτοιμοι, διαφορετικά εφαρμόστε αυτό που σας προτείνει η απάντηση.

Ανοίξτε δύο τρία παράθυρα ή εφαρμογές (τυχαία, δεν έχει σημασία τι θα επιλέξετε).

Δώστε στο τερματικό την εντολή:

systemctl hibernate

Ο υπολογιστής σας θα πέσει σε κατάσταση αδρανοποίησης. Όταν επανεκκινηθεί, θα πρέπει να βρείτε ανοικτά τα παράθυρα ή εφαρμογές που είχατε ανοίξει πιο πριν.
Αν ναι, τότε το σύστημά σας είναι έτοιμο και υποστηρίζει αδρανοποίηση. Αν όχι, τότε το σύστημα δεν υποστηρίζει αδρανοποίηση. 

Απάντηση