描述

不要成为一个电能浪费者。如果你的电脑不需要开机就请把它们关机。出于方便和计算机宅的考虑,你可以通过配置你的 Linux 计算机实现自动唤醒和关闭。

宝贵的系统运行时间

有时候有些电脑需要一直处在开机状态,在不超过电脑运行时间的限制下这种情况是被允许的。有些人为他们的计算机可以长时间的正常运行而感到自豪,且现在我们有内核热补丁能够实现只有在硬件发生故障时才需要机器关机。我认为比较实际可行的是,像减少移动部件磨损一样节省电能,且在不需要机器运行的情况下将其关机。比如,你可以在规定的时间内唤醒备份服务器,执行备份,然后关闭它直到它要进行下一次备份。或者,你可以设置你的互联网网关只在特定的时间运行。任何不需要一直运行的东西都可以将其配置成在其需要工作的时候打开,待其完成工作后将其关闭。

系统休眠

对于不需要一直运行的电脑,使用 root 的 cron 定时任务(即 /etc/crontab)可以可靠地关闭电脑。这个例子创建一个 root 定时任务实现每天晚上 11 点 15 分定时关机。

# crontab -e -u root

# m h  dom mon dow   command

1523 * * * /sbin/shutdown -hnow

以下示例仅在周一至周五运行:

1523 * * 1-5 /sbin/shutdown -hnow

您可以为不同的日期和时间创建多个 cron 作业。 通过命令 man 5 crontab 可以了解所有时间和日期的字段。

一个快速、容易的方式是,使用 /etc/crontab 文件。但这样你必须指定用户:

1523 * * 1-5root shutdown -hnow

自动唤醒

实现自动唤醒是一件很酷的事情;我大多数 SUSE (SUSE Linux)的同事都在纽伦堡,因此,因此为了跟同事能有几小时一起工作的时间,我不得不需要在凌晨五点起床。我的计算机早上 5 点半自动开始工作,而我只需要将自己和咖啡拖到我的桌子上就可以开始工作了。按下电源按钮看起来好像并不是什么大事,但是在每天的那个时候每件小事都会变得很大。

唤醒 Linux 计算机可能不如关闭它可靠,因此你可能需要尝试不同的办法。你可以使用远程唤醒(Wake-On-LAN)、RTC 唤醒或者个人电脑的 BIOS 设置预定的唤醒这些方式。这些方式可行的原因是,当你关闭电脑时,这并不是真正关闭了计算机;此时计算机处在极低功耗状态且还可以接受和响应信号。只有在你拔掉电源开关时其才彻底关闭。

BIOS 唤醒

BIOS 唤醒是最可靠的。我的系统主板 BIOS 有一个易于使用的唤醒调度程序 (图 1)。对你来说也是一样的容易。

图 1:我的系统 BIOS 有个易用的唤醒定时器。

主机远程唤醒(Wake-On-LAN)

远程唤醒是仅次于 BIOS 唤醒的又一种可靠的唤醒方法。这需要你从第二台计算机发送信号到所要打开的计算机。可以使用 Arduino 或树莓派Raspberry Pi发送给基于 Linux 的路由器或者任何 Linux 计算机的唤醒信号。首先,查看系统主板 BIOS 是否支持 Wake-On-LAN ,要是支持的话,必须先启动它,因为它被默认为禁用。

然后,需要一个支持 Wake-On-LAN 的网卡;无线网卡并不支持。你需要运行 ethtool 命令查看网卡是否支持 Wake-On-LAN :

# ethtool eth0 | grep -i wake-on

Supports Wake-on: pumbg

Wake-on: g

这条命令输出的 “Supports Wake-on” 字段会告诉你你的网卡现在开启了哪些功能:

d — 禁用

p — 物理活动唤醒

u — 单播消息唤醒

m — 多播(组播)消息唤醒

b — 广播消息唤醒

a — ARP 唤醒

g — 特定数据包magic packet唤醒

s — 设有密码的特定数据包magic packet唤醒

ethtool 命令的 man 手册并没说清楚 p 选项的作用;这表明任何信号都会导致唤醒。然而,在我的测试中它并没有这么做。想要实现远程唤醒主机,必须支持的功能是 g —— 特定数据包magic packet唤醒,而且下面的“Wake-on” 行显示这个功能已经在启用了。如果它没有被启用,你可以通过 ethtool 命令来启用它。

# ethtool -s eth0 wol g

这条命令可能会在重启后失效,所以为了确保万无一失,你可以创建个 root 用户的定时任务(cron)在每次重启的时候来执行这条命令。

@reboot /usr/bin/ethtool -seth0 wolg

另一个选择是最近的网络管理器Network Manager版本有一个很好的小复选框来启用 Wake-On-LAN(图 2)。

图 2:启用 Wake on LAN

这里有一个可以用于设置密码的地方,但是如果你的网络接口不支持安全开机Secure On密码,它就不起作用。

现在你需要配置第二台计算机来发送唤醒信号。你并不需要 root 权限,所以你可以为你的普通用户创建 cron 任务。你需要用到的是想要唤醒的机器的网络接口和MAC地址信息。

3008 * * * /usr/bin/wakeonlan D0:50:99:82:E7:2B

打开APP精彩内容

点击阅读全文

linux界面唤醒,Linux计算机实现自动唤醒和关闭的方法步骤详解相关推荐

  1. 我的世界服务器怎么弄自动钓鱼,我的世界自动钓鱼机制作教程 图文步骤详解...

    之前有玩家跟我问过自动钓鱼机的事,所以这里就跟大家分享一个简易的自动钓鱼机,全自动的钓鱼机我也不知道怎么做,网上的很多教程也是看不懂,所以这里就发一个肯定能用的自动钓鱼机. 我的世界自动钓鱼机红石制作 ...

  2. win7开机密码_如何开启win7系统自动锁屏功能 win7自动锁屏功能开启方法【详解】...

    我们都清楚电脑能够设置开机密码来保护自己的电脑不让别人使用,如果电脑已经开启了,就可以选择自动锁屏功能,那么win7系统如何开启自动锁屏功能呢?今天为大家分享win7系统开启自动锁屏功能的操作方法. ...

  3. linux系统重启网卡的方法步骤详解

    在实际工作中,经常会遇到Linux系统进行重启网卡的操作.接下来是小编为大家收集的linux系统重启网卡方法,希望能帮到大家. linux系统重启网卡方法 一.service network rest ...

  4. linux怎样重启网卡,linux系统重启网卡的方法步骤详解

    在实际工作中,经常会遇到Linux系统进行重启网卡的操作.接下来是小编为大家收集的linux系统重启网卡方法,希望能帮到大家. linux系统重启网卡方法 一.service network rest ...

  5. python建立py文件夹过程_Pycharm创建python文件自动添加日期作者等信息(步骤详解)...

    百度AI接口的调用方法不必多介绍.官网地址 人流量统计新建AipBodyAnalysisfrom aip import AipBodyAnalysis""" 你的 APP ...

  6. 阿里云主机Linux服务器配置步骤详解

    下面我们一起来看看关于阿里云主机Linux服务器配置步骤详解,如果你正在使用阿里云主机我们可进入参考一下配置步骤哦,有兴趣的同学可进入参考. 一提到云主机,大家肯定熟知国内最知名品牌--阿里云了,后来 ...

  7. Linux系统与网络、磁盘参数和日志监控等命令详解二

    创作人QQ:851301776,邮箱:lfr890207@163.com, 欢迎大家一起技术交流,本博客主要是自己学习的心得体会,只为每天进步一点点! 个人座右铭: 1.没有横空出世,只要厚积一定发. ...

  8. linux centos7 mysql_Linux centos7环境下安装MySQL的步骤详解

    Linux centos7环境下安装MySQL的步骤详解 安装MySQL mysql 有两个跟windows不同的地方 1).my.ini 保存到/etc/my.ini 2).用户权限,单独用户执行 ...

  9. linux安装Openssl步骤详解_问题:OpenSSL: error:100AE081:elliptic curve routines:EC_GROUP_new_by_curve_name:un

    linux上安装Openssl步骤详解 问题: OpenSSL: error:100AE081:elliptic curve routines:EC_GROUP_new_by_curve_name:u ...

最新文章

  1. 最长重复子串(Rabin-Karp算法)
  2. 计数排序之python 实现源码
  3. K for the Price of One(EASY HARD)
  4. python基础代码的含义_Python基础学习篇
  5. idea集成Activiti Designer插件
  6. Guns导入开发工具
  7. 巴赛尔协议与贷款产品利率解析
  8. 如何用ModelsimSE仿真IP核-以PLL为例
  9. ObjectDataSource 如何传递查询参数
  10. 用微软makecert.exe生成一个自签名的证书
  11. 深度学习在58同城首页推荐中的应用
  12. linux 下tar打包举例,Linux tar打包命令
  13. fbinstool linux iso,大神给你传授fbinsttool下载 【操作教程】 的详细_
  14. 多线段几何图形—— 简单几何图形(求几何图形面积)
  15. 渗透测试国内外研究_《混凝土与水泥制品》2020第8期——“混凝土研究”栏目...
  16. 更新计算机策略命令,强制更新组策略指令是什么
  17. latex 参考文献显示问号_回「LaTeX 的罪与罚」
  18. oracle同一个库不同用户,oracle同一个库上面,不同用户相互赋予权限
  19. POJ 1647 One-move checkmate G++
  20. SpringBoot项目中post请求,参数丢失,偶尔丢失,发现问题

热门文章

  1. java 执行多个查询语句_用java在单个语句中执行的多个查询
  2. lnmp 查看mysql版本_MySQL数据库之Lnmp环境中php-mysql版本问题
  3. OpenShift 4 Hands-on Lab (5) - 用Build、Builder Trigger、Webhook构建和更新镜像
  4. 将您的SQL Server工作负载迁移到PostgreSQL
  5. 基于matlab的车牌定位算法设计与实现,matlab车牌定位系统设计(源码+文档)
  6. java使用爬虫_Java中如何使用爬虫进行解析?
  7. 转 android anr 分析示例,Android ANR 分析与解决
  8. matlab gui 制动程序设计,Matlab的GUI程序设计程序.doc
  9. mysql外连接基准表_4.mysql数据库创建,表创建模等模板脚本,mysql_SQL99标准的连接查询(内连接,外连接,满外连接,交叉连接)...
  10. 从0开始学习自动化测试框架cypress(四)登录