当前位置: 首页>>技术教程>>正文


在特定时间挂起并唤醒PC

, , ,

问题描述

我希望我的PC每天都在04:58入睡,并在05:15醒来。

我怎么做?

最佳方法

您可以使用Gnome Schedule执行(至少完成一半)。 (sudo apt-get install gnome-schedule)(注意:尽管输入gnome-schedule仍会启动它,但它已作为计划任务放入启动器中。)

启动后,”New”-> “Recurrent Task”。填写合适的表格。

休眠命令为/usr/sbin/pm-hibernate(挂起为/usr/sbin/pm-suspend)

关于再次唤醒,请参阅“How do I schedule waking up from hibernation?”


或者,您可以安装“电源管理界面”。 (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中。

Source

次佳方法

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

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

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

使用rtcwake

rtcwake命令需要root权限,因此必须在Ubuntu和其他Ubuntu-derived发行版中使用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外,所有其他设备都进入low-power状态。内存中的内容将保留。

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’)

Help

参考资料

本文由Ubuntu问答整理, 博文地址: https://ubuntuqa.com/article/11814.html,未经允许,请勿转载。