トップ 差分 一覧 Farm ソース 検索 ヘルプ PDF RSS ログイン

Diary/2023-8-24

大阪(2)

某プロジェクトのサイトビジット.なごやかに.

Hibernate / Ubuntu 22.04


ThinkPad X31 Gen.4 にセットアップした Ubuntu 22.04 がいい感じにセットアップできたので,
本格的に使うためにハイバネーションを有効に.

ハイバネーションの有効化

手順は,今までとあまり変わらない.まずは /swapfile を作る.

% sudo swapoff -a
% sudo rm /swapfile
% sudo fallocate -l 64G /swapfile
% sudo chown root /swapfile
% sudo chmod 600 /swapfile
% sudo mkswap /swapfile

/etc/fstab に swap のエントリ

/swapfile none	   swap	sw	0	0

があることを確認.
作成したswapfileの情報を取得する

% sudo filefrag -v /swapfile | head
Filesystem type is: ef53
File size of /swapfile is 68719476736 (16777216 blocks of 4096 bytes)
 ext:     logical_offset:        physical_offset: length:   expected: flags:
   0:        0..       0:   49479680..  49479680:      1:            
   1:        1..    2047:   49479681..  49481727:   2047:             unwritten
   2:     2048..   43007:   49483776..  49524735:  40960:   49481728: unwritten

ルートパーティションのUUIDを取得する.

% sudo findmnt / -o UUID                                                                       ~ 
UUID
893fc9a1-062f-400b-a8d1-fce3a7213b1e

で,/etc/default/grub の GRUB_CMDLINE_LINUX_DEFAULT を変更.

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash resume=UUID=893fc9a1-062f-400b-a8d1-fce3a7213b1e resume_offset=49479680"

変更を反映.

% sudo update-grub
% sudo update-initramfs -u

これでハイバーネーションができるようになる.

% sudo systemctl hibernate

で動作確認.

一般ユーザにハイバネーションを許可

/etc/polkit-1/localauthority/50-local.d に,
以下の内容で hibernate.pkla を作成

[Re-enable hibernate by default in upower]
Identity=unix-user:*
Action=org.freedesktop.upower.hibernate
ResultActive=yes

[Re-enable hibernate by default 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

Gnomeメニューからハイバネートできるように
% sudo apt install gnome-shell-extension-manager
% extension-manager

で,Gnomeのシェル拡張マネージャをインストール,起動.
探す,で,"Hibernate Status Button" を追加.
今一つ探すが使いづらかったけど,がんばって探す.

SuspendThenHibernateを有効にする

https://wasamon.net/miyo/index.cgi?page=Diary%2F2019%2D10%2D27 を参考に.
https://www.wasamon.net/miyo/index.cgi?page=Diary%2F2021%2D3%2D16 同様に,
忘れないように,/etc/systemd/sleep.confのコメントアウト部分のコメントもはずす.

AllowSuspend=yes
AllowHibernation=yes
AllowSuspendThenHibernate=yes

AllowHibernateではなかった.