- 追加された行はこのように表示されます。
- 削除された行は
このように表示されます。
!大阪(2)
某プロジェクトのサイトビジット.なごやかに.
!Hibernate / Ubuntu 22.04
ThinkPad X13 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ではなかった.