Я хочу, чтобы мой компьютер спал в 04:58 и просыпался в 05:15 каждый день.
Как мне это сделать?
Можно сделать (по крайней мере, половина) это с Расписанием Gnome. (sudo apt-get install gnome-schedule
) (NB: это вставляется в Ваше средство запуска как в Запланированные задачи, хотя вводя расписание гнома все еще, поднимает его.)
После запуска его, "Новый"-> "Текущая Задача". Заполните форму, как Вы считаете целесообразным.
Команда для спящего режима /usr/sbin/pm-hibernate
(Приостановите, /usr/sbin/pm-suspend
)
В отношении пробуждения снова, см., "Как я планирую пробуждение от спящего режима?"
Поочередно, можно установить "интерфейс управления питанием". (sudo apt-get install powermanagement-interface
)
Затем создайте сценарий как это:
#!/bin/bash
# This script puts the system under standby mode for x hours
usage() {
echo "usage: $0 <n-hours>"
echo "where <n-hours> is the number of hours to be on standby"
exit 0
}
if [ $# -ne 1 ]
then
usage
fi
PATH=$PATH:/usr/sbin
hours=$1
echo 0 > /sys/class/rtc/rtc0/wakealarm
echo `date '+%s' -d "+ $hours hours"` > /sys/class/rtc/rtc0/wakealarm
## Edit the above line to get the exact length of hibernation you want
pmi action suspend
И запланируйте его в crontab корня.
Вы можете попробовать настроить BIOS для события пробуждения. Почти у каждой материнской платы есть эта функция, используйте руководство по mb и выясните это, в некоторых биографиях AMI это называется Wake up by RTC alarm, я думаю, что это простой способ разбудить компьютер в определенное время
Так что, если кому-то интересно, я обнаружил, что это работает, без необходимости устанавливать что-либо и без полномочий root.
Используйте эту команду Код:
dbus-send --print-reply --system --dest=org.freedesktop.UPower /org/freedesktop/UPower org.freedesktop.UPower.Suspend
и для ее задержки используйте команду сна с числом с smh или d (сек, мин, день, час) и с;
[ 115] пример кода:
sleep 60s; dbus-send --print-reply --system --dest=org.freedesktop.UPower /org/freedesktop/UPower org.freedesktop.UPower.Suspend
, который приостанавливает работу компьютера через 60 секунд
Хотите перевести ваш ПК с Linux в спящий режим или в режим гибернации, чтобы он автоматически включался в определенное время? Вы можете легко сделать это с помощью команды rtcwake, включенной по умолчанию в большинство систем Linux.
Это может быть полезно, если вы хотите, чтобы ваш компьютер что-то делал в определенное время, но не хотите, чтобы он работал 24/7. Например, вы можете перевести свой компьютер в ночное время и дать ему проснуться, прежде чем выполнять какие-либо загрузки.
Для команды rtcwake требуются права суперпользователя, поэтому ее необходимо запускать с помощью sudo в Ubuntu и других производных от Ubuntu дистрибутивах. В дистрибутивах Linux, которые не используют sudo, вам сначала нужно войти в систему как пользователь root с помощью команды su.
Вот основной синтаксис команды:
sudo rtcwake -m [type of suspend] -s [number of seconds]
Например, следующая команда приостанавливает работу вашей системы на диске (переводит ее в спящий режим) и пробуждает через 60 секунд:
sudo rtcwake -m disk -s 60
[ 1111] Типы приостановки
Переключатель -m принимает следующие типы приостановки:
Режим ожидания - Режим ожидания обеспечивает небольшую экономию энергии, но восстановление к работающей системе очень быстро. Это режим по умолчанию, если вы опустите ключ -m.
mem - Приостановить в ОЗУ. Это обеспечивает значительную экономию энергии - все находится в состоянии низкого энергопотребления, кроме вашей оперативной памяти. Содержимое вашей памяти сохраняется.
диск - Приостановить на диск. Содержимое вашей памяти записывается на диск, и ваш компьютер выключается. Компьютер включится и его состояние будет восстановлено после завершения таймера.
выключено - полностью выключить компьютер. Справочная страница rtcwake отмечает, что восстановление из «off» официально не поддерживается спецификацией ACPI, но в любом случае это работает на многих компьютерах.
нет - Не отключайте компьютер немедленно, просто установите время пробуждения. Например, вы можете попросить свой компьютер проснуться в 6 утра. После этого можете положить его спать вручную в 11 часов вечера или в 1 час ночи - в любом случае, он проснется в 6 часов утра.
Секунды против определенного времени
Опция -s займет несколько секунд в будущем. Например, -s 60 разбудит ваш компьютер за 60 секунд, а -s 3600 разбудит ваш компьютер за час.
Опция -t позволяет вам разбудить компьютер в определенное время. Этому переключателю требуется несколько секунд с начала эпохи Unix (00:00:00 UTC 1 января 1970 года). Чтобы легко указать правильное количество секунд, объедините команду date с командой rtcwake.
Переключатель -l сообщает rtcwake, что аппаратные часы установлены на местное время, а переключатель -u сообщает rtcwake, что аппаратные часы (в BIOS вашего компьютера) установлены на время UTC. Дистрибутивы Linux часто устанавливают ваши аппаратные часы на время UTC и переводят их в ваше местное время.
Например, чтобы компьютер завтра проснулся в 6:30 утра, но не остановился немедленно (при условии, что для аппаратных часов установлено местное время), выполните следующую команду:
sudo rtcwake -m no -l -t $(date +%s -d ‘tomorrow 06:30’)