如何让你的Linux电脑从睡眠自动

image

想要让你的Linux电脑进入睡眠或休眠模式,并让它在特定时间自动唤醒? 你可以很容易地使用rtcwake命令,默认包括在大多数Linux系统。

如果您希望您的计算机在特定时间执行某些操作,但不希望其每天24小时运行,这可能非常有用。 例如,您可以让您的计算机在晚上睡觉,并让它醒来,然后才能执行一些下载。

使用rtcwake

rtcwake命令需要root权限,所以它必须与Ubuntu和Ubuntu的其他衍生分布sudo的运行。 在不使用sudo的Linux发行版,你就必须登录为su命令第一根。

这里是命令的基本语法:

sudo rtcwake -m [挂起类型] -s [秒数]

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

sudo rtcwake -m disk -s 60

image

挂起的类型

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

  • 待机 -待机提供一点积蓄力量,但恢复到正在运行的系统是非常快的。 如果省略-m开关,这是默认模式。
  • 纪念品 -挂起到内存。 这提供了显着的功率节省 - 一切都进入低功耗状态,除了你的RAM。 内存的内容被保留。
  • 磁盘 -挂起到硬盘。 内存的内容写入磁盘,计算机关闭。 计时器完成后,计算机将打开并且其状态将恢复。
  • -打开电脑完全关闭。 rtcwake的手册页注意到,从“关闭”恢复没有官方支持ACPI规范,但这可以与许多计算机。
  • 没有 -不要立即暂停电脑,只需设置唤醒时间。 例如,您可以告诉您的计算机在上午6点醒来。 之后,可以把它在晚上11点或凌晨1点手动睡眠 - 无论哪种方式,它会在上午6点醒来。

秒与特定时间

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

-t选项允许你唤醒您的计算机在特定的时间。 该交换机需要从Unix时期(1970年1月1日00:00:00 UTC)开始的秒数。 为了便于提供秒正确的号码,结合了rtcwake命令date命令。

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

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

sudo rtcwake -m no -l -t $(date +%s -dtomorrow 06:30)

image

更多提示

在rtcwake从睡眠唤醒系统后,使用&&运算符运行特定命令。 例如,以下命令将您的计算机挂起到RAM,在两分钟后唤醒它,然后启动Firefox:

rtcwake -m mem -s 120 && firefox

整合rtcwake命令成cron的脚本 ,以在特定时间自动唤醒您的计算机。 -m没有开关,也可以在cron脚本是有用的。 例如,您可能没有-s 28800命令cron脚本在晚上10点,每天运行rtcwake -m。 这将使您的计算机在28800秒在6:00 am醒来。 然而,你的电脑不会立即睡觉 - 你可以把它睡在晚上11点或凌晨1点,它仍然会在早上6点正常醒来。

警告

  • RTC代表实时时钟。 rtcwake使用您的计算机的硬件时钟,您可以在您的BIOS中设置,以确定您的计算机何时将被唤醒。 如果您使用的是旧电脑中的CMOS电池不能正常运行,这将无法正常工作。
  • 如果睡眠,挂起到RAM或休眠不能与您的Linux系统正常工作 - 或许是因为Linux没有驱动程序,使它们与您的硬件正常工作 - 这可能不工作。
  • 设置笔记本电脑在特定时间自动唤醒时要小心。 你不会希望它在笔记本电脑包中唤醒,运行,过热或耗尽电池。
赞 (0)
分享到:更多 ()