在特定时间挂起并唤醒PC


Answers:


9

您可以使用Gnome Schedule完成(至少完成一半)。(sudo apt-get install gnome-schedule)(注意:它会作为Scheduled Tasks放在您的启动器中,尽管键入gnome-schedule仍然可以启动它。)

启动后,单击“新建”->“循环任务”。填写合适的表格。

休眠的命令是/usr/sbin/pm-hibernate(Suspend is /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中。

资源


19

如何使Linux PC自动从睡眠中唤醒

是否要将Linux PC置于睡眠或休眠模式并在特定时间自动唤醒?您可以使用rtcwake命令轻松地执行此操作,大多数Linux系统默认包含该命令。

如果您希望计算机在特定时间执行某项操作,但又不想24/7全天候运行,则此功能很有用。例如,您可以让计算机在晚上入睡,并在执行某些下载之前将其唤醒。

使用rtcwake

rtcwake命令需要root权限,因此它必须在Ubuntu和其他Ubuntu衍生发行版上以sudo运行。在不使用sudo的Linux发行版上,您必须首先使用su命令以root用户身份登录。

这是命令的基本语法:

sudo rtcwake -m [type of suspend] -s [number of seconds]

例如,以下命令将您的系统挂起到磁盘(使其休眠)并在60秒后将其唤醒:

sudo rtcwake -m disk -s 60

暂停类型

-m开关接受下列类型的中止:

待机 –待机几乎没有节电,但是恢复到正在运行的系统非常快。如果省略-m开关,则这是缺省模式。

内存 –挂起到RAM。这样可以节省大量电量-除RAM外,所有其他设备都进入低功耗状态。内存中的内容将保留。

disk –挂起到磁盘。内存中的内容将写入磁盘,并且计算机已关闭电源。计时器完成后,计算机将打开电源并恢复其状态。

关闭 –完全关闭计算机。rtcwake的手册页指出,ACPI规范不正式支持从“ off”进行还原,但是无论如何,这适用于许多计算机。

–不要立即挂起计算机,只需设置唤醒时间即可。例如,您可以告诉计算机在早上6点醒来。之后,可以将其手动设置为晚上11点或凌晨1点-无论哪种方式,它将在早上6点醒来。

秒vs.特定时间

-s选项将在未来的秒数。例如,-s 60在60秒内唤醒计算机,而-s 3600在一个小时内唤醒计算机。

-t选项允许你在特定的时间唤醒您的计算机。自Unix时代(1970年1月1日UTC:00:00:00)以来,此开关需要几秒钟的时间。为了轻松提供正确的秒数,请将date命令与rtcwake命令结合使用。

-l开关告诉rtcwake的硬件时钟设置为本地时间,而-u开关告诉rtcwake的硬件时钟(在您的计算机的BIOS)设置为UTC时间。Linux发行版通常将您的硬件时钟设置为UTC时间,并将其转换为本地时间。

例如,要使您的计算机明天早上6:30醒来但不立即挂起(假设您的硬件时钟设置为本地时间),请运行以下命令:

sudo rtcwake -m no -l -t $(date +%s -d ‘tomorrow 06:30’)

救命


1
一个很好的rtcwake文字就是这个问题。它提供了完整的解决方案: askubuntu.com/questions/61708/…–
gare

6
请当您复制从网站上粘贴给予至少网址:howtogeek.com/121241/...
hanoo

rtcwake似乎无法记住多个实例,因此如何使计算机每小时唤醒一次?
严景贤

1

您可以尝试设置BIOS来唤醒事件,几乎每个主板都具有该功能,请使用mb手册进行查找,在某些AMI BIOS中,它称为RTC警报唤醒,我认为这是简便的方法在特定时间唤醒电脑


0

因此,如果有人感兴趣,这就是我发现的有效方法,而无需安装任何程序且无需以root用户身份进行。

使用此命令代码:

dbus-send --print-reply --system --dest=org.freedesktop.UPower /org/freedesktop/UPower org.freedesktop.UPower.Suspend

要使其延迟,请使用sleep命令,该命令的编号为smh或d(秒,分钟,天,小时),并带有;

示例代码:

sleep 60s; dbus-send --print-reply --system --dest=org.freedesktop.UPower /org/freedesktop/UPower org.freedesktop.UPower.Suspend

60秒后挂起计算机

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.