大橙子网站建设,新征程启航
为企业提供网站建设、域名注册、服务器等服务
最近研究命令行下,远程唤醒(Wake On LAN)家里的windows台式机。
成都创新互联专注于大同企业网站建设,响应式网站开发,成都商城网站开发。大同网站建设公司,为大同等地区提供建站服务。全流程定制开发,专业设计,全程项目跟踪,成都创新互联专业和态度为您提供的服务
linux下可以用 etherwake 这个软件,发送魔术封包(Magic Packet)远程唤醒机器。
我用的是树莓派,记录一下远程唤醒的方法。
首先安装 etherwake (基于Debian / Ubuntu )
安装完成后,可以用下面的命令远程唤醒
或者(下面两个命令我没有亲自尝试过)
比如你的MAC地址是 AA:BB:CC:DD:EE:FF ,就可以用
发送魔术封包唤醒远程机器。
其实还有其他一些细节,以后有机会慢慢补充吧。
参考文章:
[1] HowTo: Wake Up Computers Using Linux Command [ Wake-on-LAN ( WOL ) ]
命令运行时使用CTRL+Z,强制当前进程转为后台,并使之挂起(暂停).
1. 使进程恢复运行(后台)
(1)使用命令bg
Example:
zuii@zuii-desktop:~/unp/tcpcliserv$ ./tcpserv01
*这里使用CTRL+Z,此时serv01是停止状态*
[1]+ Stopped ./tcpserv01
zuii@zuii-desktop:~/unp/tcpcliserv$ bg
[1]+ ./tcpserv01 *此时serv01运行在后台*
zuii@zuii-desktop:~/unp/tcpcliserv$
(2)如果用CTRL+Z停止了几个程序呢?
Example:
zuii@zuii-desktop:~/unp/tcpcliserv$ jobs
[1]- Running ./tcpserv01
[2]+ Stopped ./tcpcli01 127.0.0.1
zuii@zuii-desktop:~/unp/tcpcliserv$ bg %1
bash: bg:任务 1 已转入后台 *后台运行*
2. 使进程恢复至前台运行
Example:
zuii@zuii-desktop:~/unp/tcpcliserv$ ./tcpserv04
[1]+ Stopped ./tcpserv04
zuii@zuii-desktop:~/unp/tcpcliserv$ fg
./tcpserv04
总结:
(1) CTRL+Z挂起进程并放入后台
(2) jobs 显示当前暂停的进程
(3) bg %N 使第N个任务在后台运行(%前有空格)
(4) fg %N 使第N个任务在前台运行
默认bg,fg不带%N时表示对最后一个进程操作!
最近做无线网络在系统多次休眠唤醒后是否正常的测试,但每次休眠后都需要手动点击键盘来唤醒系统,显而易见的这种方法需要人来值守,很不放便。
此时便想是否有做自动唤醒的程序,毕竟这种需求也挺正常的,应该有人已经做过了。因此就开始查找自动唤醒的方法,果然就发现了 rtcwake 这个程序,这个程序是让系统进入休眠模式并在指定的时间后唤醒。立刻便觉得这个程序很神奇,然后就去看它的源码来找出它的实现方式,这边发现了本文的主题 RTC 子系统。
RTC 子系统在目录 /sys/class/rtc/ 下,会根据设备创建对应的目录,需要在内核中开启支持,配置如下:
debian/ubuntu 的系统可以在 /boot/config-$(uname -r) 查看内核的编译选项, archlinux 可以在 /proc/config.gz 查看。
RTC 目录下的文件含义可以在 sysfs-class-rtc 中查看。
RTC 目录中的 wakealarm 文件内容便是下次触发唤醒时间的时间,默认这个文件是没有值的。文件的内容需要设置是时间的秒数,可以向下面这样设置:
这就表示在 1 minute 后触发唤醒事件。
所以做休眠唤醒测试的流程如下:
本文基于 RockPI 4A 单板 Debian 系统 Linux4.4 内核介绍下睡眠唤醒( suspend/resume )的一些调试方法。
1、关闭串口睡眠
在Linux内核睡眠过程中,会先调用 suspend_console() 函数使串口进入睡眠状态,这样会导致后续设备驱动的睡眠过程不可见。可以在boot启动参数中增加 no_console_suspend 参数,显示设备驱动睡眠日志。
2、修改串口日志等级
修改串口日志打印等级,显示更多调试信息。
3、打开设备睡眠唤醒时间
设置 pm_print_times 参数,可以显示设备驱动睡眠唤醒时间,方便调试时查看哪个函数处理占用时间过长。
在调试Linux内核睡眠唤醒功能时,可以使用 RTC 做唤醒源,在系统睡眠5秒后,自动唤醒系统。
在 arch/arm64/configs/rockchip_linux_defconfig 文件中配置宏 CONFIG_PM_TEST_SUSPEND 。
唤醒日志如下:
linux系统远程关机之后能远程唤醒。
1、连接上相应的linux主机,进入到等待输入shell指令的linux命令行状态下。
2、以重启为例,在linux命令行中输入:boot。
3、回车键执行shell指令,此时会看到linux主机成功重启了。
ubuntu系统熄屏无法唤醒
解决办法:重启后,安装laptop-mode-tools工具包。
1.检查是否安装了grep laptop-mode-tools 工具包
$ dpkg -l | grep laptop-mode-tools
如果执行命令无结果输出,表示未安装(如果已安装,忽略第2步)
2.安装laptop-mode
执行命令:$ sudo apt-get install laptop-mode-tools
安装完成后查看结果,再次输入1的命令
3.判断Laptop是否启用了laptop_mode模式
修改配置文件:/etc/default/acpi-support,
$ sudo vim /etc/default/acpi-support
更改 ENABLE_LAPTOP_MODE=true
直接在终端中输入 sudo laptop_mode start 启动了laptop_mode之后,在ubuntu挂起后,基本上就不会遇到无法唤醒的情况了
注:有些用户在acpi-support中并未找到 ENABLE_LAPTOP_MODE=true 被注释的项.看文件最后一行的提示
提示我们在/etc/laptop-mode/laptop-mode.conf 中进行配置
那么就输入命令:$ sudo vim /etc/laptop-mode/laptop-mode.conf
在文件中查找 :ENABLE_LAPTOP_MODE_ON_BATTERY、ENABLE_LAPTOP_MODE_ON_AC、ENABLE_LAPTOP_MODE_WHEN_LID_CLOSED
看注释大体明白什么意思 当用电池,外接电源,合上显示屏的时候是否启用 LAPTOP_MODE,将这些全部设置为 1 就可以了。
通过 i 进入修改,然后ESC退出修改,输入:q准备保存退出,会发现无法保存退出,那么就需要强制保存通过指令 :w !sudo tee %
然后:q!就可以退出了
最后启动laptop_mode并查看结果:命令:sudo laptop_mode start