Спящий режим (suspend, hibernate)

Готовые решения для многих вопросов, которые очень часто задаются снова и снова.

Модератор: Модераторы разделов

Аватара пользователя
serzh-z
Бывший модератор
Сообщения: 7894
Статус: Маньяк
ОС: Android, GNU/Linux, Windows

Re: Спящий режим

Сообщение serzh-z » 03.08.2006 15:41

polachok писал(а):
03.08.2006 15:37
а чем suspend2 лучче того что по дефолту в ядре?
Хм, ну эта... suspend2 - это всего лишь набор патчей для ядра для обеспечения работы Software Suspend v2. Если не ошибаюсь, Suspend v1 не умело сохранять/восстанавливать содержимое памяти на диск (т.е. делать Hibernate, как Windows).
Scio me nihil scire.
Спасибо сказали:

Аватара пользователя
polachok
Бывший модератор
Сообщения: 2199
Статус: главный форумный маргинал
ОС: gnu/linux

Re: Спящий режим

Сообщение polachok » 03.08.2006 16:15

не знаю, у меня такого патча нет, делаю echo disk > /sys/power/state и все. только иногда не просыпается :( - с suspend2 такого не бывает?
И немедленно выпил.
Спасибо сказали:

Аватара пользователя
Bolverk
Бывший модератор
Сообщения: 1571
ОС: Cygwin

Re: Спящий режим

Сообщение Bolverk » 03.08.2006 16:44

polachok писал(а):
03.08.2006 15:37
а чем suspend2 лучче того что по дефолту в ядре?

однозначно. кстати оно кажется тоже уже в ядре, я не слежу за этим :)

polachok писал(а):
03.08.2006 16:15
не знаю, у меня такого патча нет, делаю echo disk > /sys/power/state и все. только иногда не просыпается :( - с suspend2 такого не бывает?

у меня с suspend2 "аптайм" три месяца был :)
для него есть ещё скрипт hibernate, который делает всякие полезные штуки
Спасибо сказали:

Аватара пользователя
serzh-z
Бывший модератор
Сообщения: 7894
Статус: Маньяк
ОС: Android, GNU/Linux, Windows

Re: Спящий режим

Сообщение serzh-z » 03.08.2006 16:47

polachok писал(а):
03.08.2006 16:15
suspend2 такого не бывает?
Не пробовал - переход на это ядро как раз в прогрессе. См. отличия на http://suspend2.net/features
Scio me nihil scire.
Спасибо сказали:

Аватара пользователя
Bolverk
Бывший модератор
Сообщения: 1571
ОС: Cygwin

Re: Спящий режим

Сообщение Bolverk » 03.08.2006 16:51

Переношу собранную тему в подраздел "Важные и частые темы"
Желающие могут начинать писать FAQ :)
Спасибо сказали:

Аватара пользователя
helicopter
Сообщения: 324
Статус: Комсомолец
ОС: Gentoo Linux

Re: Спящий режим

Сообщение helicopter » 12.09.2006 12:11

(serzh-z @ Aug 3 2006, в 15:31) писал(а):ХЗ, но в 2.6.17-r2 (Gentoo: suspend2) уже есть.

В обычных gentoo-sources ? А зачем тогда в портедже suspend2-sources ?
Выбирая Linux, вы развиваете цивилизацию. Выбирая windows, вы набиваете кошелёк забугорному буржую...
Спасибо сказали:

Аватара пользователя
new bee
Сообщения: 220
ОС: Arch, Ubuntu

Re: Спящий режим

Сообщение new bee » 27.09.2006 23:47

У меня со спящим режимом все ОК, только стол просыпается в заблокированном состоянии - приходится каждый раз вводить пароль :angry: , уже в kpowersave блокировку отключил и от себя и от root'а, не помогает :(. Может кто-нибуть че знает по этому поводу.
Свободного можно покорить, нельзя исправить, ведь невозможно улучшить море или ветер.
Свобода подобна тайному обряду: захочешь улучшить - оскудеет, задумаешь подчинить - исчезнет...
Лао Цзы
Спасибо сказали:

Аватара пользователя
BaZilio
Сообщения: 457
Статус: Say оПХБЕР again!

Re: Спящий режим

Сообщение BaZilio » 27.09.2006 23:53

Чтобы Иксы не блокировались, я перед suspend-to-ram скриптом увожу на консоль (chvt 1), а при просыпании тот же скрипт возвращает в графику (chvt 7).
Вот сам скрипт. Плод нескольких часов геморроя %)

Код: Выделить всё

#!/bin/bash
# change to VT1
# required to resume to X without re-login
echo "Changing to console vt1"
chvt 1
# sync fs
echo "Syncing filesystems..."
sync
# sync time
echo "Pre-sleep system-to-hardware time sync..."
hwclock --systohc
# kill lineak
echo "Killing lineakd"
killall -s9 lineakd
# remove acer keys module
echo "Disabling ACER Hotkey Driver"
rmmod acerhk
# turn off radio
echo "Turning off radio"
ifdown wlan0 > /dev/null 2> /dev/null   # ndiswrapper
ifdown eth1 > /dev/null 2> /dev/null    # broadcom
rmmod ndiswrapper > /dev/null 2> /dev/null
echo "Goodnite!
Here we actually go to sleep..."
echo mem > /sys/power/state
echo "Good Morning!"
# restore clock
echo "Wakeup hardware-to-system time sync..."
hwclock --hctosys
# acer again
echo "Reloading ACER Hotkey Driver"
#rmmod acerhk
modprobe acerhk
# start lineak
echo "Starting lineakd"
su bazilio -c "cd /home/bazilio; DISPLAY=:0 lineakd -f /home/bazilio/.lineak/lineakd.conf -e /home/bazilio/.lineak/lineakkb.def" &
# change back to X
echo "Change display to vt7, X Session"
chvt 7

Windows XP:
Netbook - Acer Aspire One A150.
Debian Squeeze amd64:
Laptop - Acer TravelMate 5520G.
Laptop_work - Toshiba Satellite C660.
Windows 7 x64:
Desktop - Core2Duo 6600 2.4GHz/6 GB/i965/GeForce 9500GT.

4 the lulz!
Спасибо сказали:

Аватара пользователя
Bolverk
Бывший модератор
Сообщения: 1571
ОС: Cygwin

Re: Спящий режим

Сообщение Bolverk » 29.09.2006 15:40

new bee писал(а):
27.09.2006 23:47
У меня со спящим режимом все ОК, только стол просыпается в заблокированном состоянии - приходится каждый раз вводить пароль :angry: , уже в kpowersave блокировку отключил и от себя и от root'а, не помогает :(. Может кто-нибуть че знает по этому поводу.

это наверное по таймауту запускается скринсейвер и блокирует
Спасибо сказали:

Аватара пользователя
new bee
Сообщения: 220
ОС: Arch, Ubuntu

Re: Спящий режим

Сообщение new bee » 01.10.2006 19:57

BaZilio писал(а):
27.09.2006 23:53
Чтобы Иксы не блокировались, я перед suspend-to-ram скриптом увожу на консоль (chvt 1), а при просыпании тот же скрипт возвращает в графику (chvt 7).


После установки-переустанвки икс-геля у меня нелады с вторичным входом в систему, так что после chvt 7 лишь чёрный экран и ничего другого...
Свободного можно покорить, нельзя исправить, ведь невозможно улучшить море или ветер.
Свобода подобна тайному обряду: захочешь улучшить - оскудеет, задумаешь подчинить - исчезнет...
Лао Цзы
Спасибо сказали:

Аватара пользователя
new bee
Сообщения: 220
ОС: Arch, Ubuntu

Re: Спящий режим

Сообщение new bee » 05.10.2006 22:42

Все! Разобрался: в YaST'е (/etc/sysconfig), во всех suspend-строках поубирал фразы "screen_saver", и о чудо - заработало!!! =)
Свободного можно покорить, нельзя исправить, ведь невозможно улучшить море или ветер.
Свобода подобна тайному обряду: захочешь улучшить - оскудеет, задумаешь подчинить - исчезнет...
Лао Цзы
Спасибо сказали:

K.A.
Сообщения: 68
ОС: Debian Lenny

Re: Спящий режим

Сообщение K.A. » 06.10.2006 11:33

Завела Suspend2RAM (Debian Etch, 2.6.18) на ноуте, оставила его на ночь, выдернув вилку от зарядного. Соответственно, ноут питался от батареи. Утром попыталась его разбудить -- не проснулся: чёрный экран, а через некоторое время стал сильно разогреваться процессор. До этого оставляла его спать при питании от сети (если это важно), но не надолго (не более часа), и ноут просыпался нормально. В чём может быть проблема?
Скрипт, который выполняется при засыпании и просыпании:
#!/bin/sh

#unloading usb modules
rmmod uhci_hcd

# stopping alsa
/etc/init.d/alsa suspend

# stopping mysql server
/etc/init.d/mysql stop

# discover video card's ID
ID=`lspci | grep VGA | awk '{ print $1 }' | sed -e 's@0000:@@' -e 's@:@/@'`

# securely create a temporary file
TMP_FILE=`mktemp /var/tmp/video_state.XXXXXX`
trap 'rm -f $TMP_FILE' 0 1 15

# switch to virtual terminal 1 to avoid graphics
# corruption in X
chvt 1

# write all unwritten data (just in case)
sync

/etc/init.d/hwclock.sh reload

/etc/init.d/udev stop
# dump current data from the video card to the
# temporary file

cat /proc/bus/pci/$ID > $TMP_FILE

# suspend
echo -n "mem" > /sys/power/state
#sleep 2 && echo -n "mem" > /sys/power/state

#echo 2 > /proc/acpi/sleep

/usr/sbin/invoke-rc.d hwclock.sh start
/etc/init.d/udev start
# loading usb modules
modprobe uhci_hcd

# starting mysql server
#/etc/init.d/mysql start

# starting alsa
/etc/init.d/alsa resume

# restore video card data from the temporary file
# on resume
cat $TMP_FILE > /proc/bus/pci/$ID
# switch back to virtual terminal 7 (running X)
chvt 7

# remove temporary file
rm -f $TMP_FILE
IBM ThinkPad T43, Debian Lenny+Sid, 2.6.26 (vanilla).
Спасибо сказали: