pm-hibernate: перезагрузка вместо выключения
Решил я поиграть в нормальные игры. К сожалению, на линуксе, на котором я работаю, с ними пока всё еще сложно. Поэтому было решено установить windows второй ОС, на один из hdd, специально для игр. Сказано сделано. Однако я столкнулся с тем, что полноценно перезагружаться каждый раз, очень неудобно..
Не проблема, решил заменить обычный спящий режим (suspend), гибернацией (hibernate). К сожалению, данный режим удален из декстопных ubuntu дистрибутивов (во всяком случае KDE), в связи с частыми глюками. Однако, линукс, есть линукс. В моем случае прекрасно работала команда pm-hibernate из пакета pm-utils.
Теперь, не надо было полностью перезагружаться, я отправлял комп в гибернацию и он сохранял все мое рабочее окружение - открытые окна и запущенные программы. Комп выключался. Я его включал, и в меню загрузки (grub) выбирал Windows. Дальше, попросту перезагружался в винде и попадал снова в Linux. Все мои открытые окна были на месте. Т.к. у меня SSD винты, эта процедура занимает довольно не много времени.
В какой-то момент, я подумал, что мне очень лень, каждый раз включать комп, после гибернации и было бы классно, чтоб Linux уходил в гибернацию, но в конце не выключался, а перезагружался. Да, это извращение, но в моём случае, именно оно и нужно было. Немного исследовав тему, я в очередной раз убедился, что в линуксе много всяких интересных утилит. Так, оказалось, что тот же pm-hibernate умеет это делать.
Для этого надо сделать следующее:
Убедиться, что система умеет делать reboot, для этого смотрим что написано в файле /sys/power/disk
1 2 3 |
# cat /sys/power/disk |
там должно быть примерно следующее:
1 2 3 |
[platform] shutdown reboot suspend |
Видим что есть reboot.
Теперь копируем файлик конфигурации в соответствующую папку:
1 2 3 |
# sudo cp /usr/lib/pm-utils/defaults /etc/pm/config.d/hibernate |
Открываем его в редакторе
1 2 3 |
# sudo nano /etc/pm/config.d/hibernate |
и меняем это (не забудьте раскомментировать):
1 2 3 |
# HIBERNATE_MODE="shutdown" |
вот на это:
1 2 3 |
HIBERNATE_MODE="reboot" |
Вот и всё, теперь по команде pm-hibernate комп отправится в гибернацию, но в конце вместо выключения, будет перезагрузка.
Так же, чтобы каждый раз не вводить root-пароль, я добавил команду в sudo:
1 2 3 |
# sudo visudo |
и добавляем:
1 2 3 |
имя-пользователя ALL=(ALL) NOPASSWD: /usr/sbin/pm-hibernate |
** тут имя-пользователя = ваш логин в системе
После этого, я создал директорию:
1 2 3 |
# mkdir -p ~/Scripts |
и файл hibernate в ней
1 2 3 |
# nano ~/Scripts/hibernate |
с таким содержимым:
1 2 3 4 |
#!/bin/bash sudo pm-hibernate |
дал ему права на запуск
1 2 3 |
chmod +x ~/Scripts/hibernate |
и добавил его в $PATH своему пользователю:
1 2 3 |
# nano ~/.profile |
добавил:
1 2 3 |
PATH=$PATH:~/Scripts |
и применил к текущему окружению:
1 2 3 |
. ~/.profile |
Таким образом, я могу вызывать команду как из терминала
1 2 3 |
# hibernate |
так и запуском из меню.
Дальше добавил команду для запуска в Application Menu.
Вот и всё, теперь нужная операция делается в несколько кликов и уже через пару минут, я нахожусь в полноценном Windows при этом сохранив все открытые окна в Linux.
Author: | Tags: /
| Rating:
Leave a Reply