我知道你可以关闭笔记本电脑盖时禁用待机功能,但是如果插入以太网,是否可以不让它处于待机状态?
因此基本上,无论是否使用电池供电,我都需要它像这样工作:
If laptop shell closed
If ethernet not plugged in
Go to standby
Else
Don't go to standby, ever
有办法实现这个吗?
答案1
好的,根据其他答案的一些信息,您可以尝试这种未经测试的方法:
当盖子打开或关闭时您想要调用的脚本必须存储
在中/etc/acpi/lid.sh
。然后必须创建正确的文件
/etc/acpi/events/lm_lid
,其内容如下:event=button/lid.* action=/etc/acpi/lid.sh
重启系统以使此操作生效。或者使用以下命令重启 ACPI 即可
sudo /etc/init.d/acpid restart
从https://unix.stackexchange.com/questions/252002/help-testing-special-file-in-sys-class-net和如何从命令行暂停/休眠?
脚本/etc/acpi/lid.sh
将如下所示(将 yournetworkcardname 更改为您的网卡名称。使用ifconfig
以找到它)。您可以选择挂起或休眠。
#!/bin/bash
if [ "$(head -c1 /sys/class/net/yournetworkcardname/carrier)" -eq 0 ]; then
systemctl suspend
fi
使用 测试脚本bash -x /etc/acpi/lid.sh
并确保其正常工作。您可能需要添加以下内容才能以 sudo 身份运行脚本而无需输入密码,来自https://unix.stackexchange.com/questions/18830/how-to-run-a-specific-program-as-root-without-a-password-prompt:
myusername ALL = (root) NOPASSWD: /etc/acpi/lid.sh
也许您还必须使用 sudo 在操作中调用该脚本。