想在自己家里,搭一个实验环境。 尝试了装了台ESXI server,可惜有一个笔记本不认Intel 的主板,而同样的Dell E7450就可以,可以看出唯一的差别在于主板Dell修过,我怀疑是Dell的返修主板忘记或者刷错固件了。此外,ESXI装笔记本上,屏幕永远关不掉,永久了我怕烧屏,想来想去我还是选择virtual box 之类的软件吧。
所以,刚装了台Ubuntu 想拿它做服务器,我只是没有想到作为桌面操作系统标称的Ubuntu,居然也做不到合盖就关屏,反而合盖就休眠了。图形设置还不行。简单Google 之后,网上有个小哥给很详细的解决方法。
In order to force your Ubuntu to just disable the screen on lid close, you need to do two things:
- Disable sleep (do nothing) on lid close
- Disable screen on lid close
# sudo su echo 'HandleLidSwitch=ignore' | tee --append /etc/systemd/logind.conf echo 'HandleLidSwitchDocked=ignore' | tee --append /etc/systemd/logind.conf sudo service systemd-logind restart
完成了第一步。
# sudo su echo 'event=button/lid.*' | tee --append /etc/acpi/events/lm_lid echo 'action=/etc/acpi/lid.sh' | tee --append /etc/acpi/events/lm_lid touch /etc/acpi/lid.sh chmod +x /etc/acpi/lid.sh
修改 /etc/acpi/lid.sh
#!/bin/bash USER=your_username grep -q close /proc/acpi/button/lid/*/state if [ $? = 0 ]; then su -c "sleep 1 && xset -display :0.0 dpms force off" - $USER fi grep -q open /proc/acpi/button/lid/*/state if [ $? = 0 ]; then su -c "xset -display :0 dpms force on &> /tmp/screen.lid" - $USER fi
先执行以下命令是不是有效,技巧是一个窗口,
sleep 60 && xset -display :0.0 dpms force off
另一个窗口切到最前,
xset -display :0 dpms force on
随时准备屏幕变黑的时候,按下回车。
最后还是有问题,就是开机没有登录的时候合盖还是不会变暗,具体原因暂时没有时间研究了,暂时先将下面代码加入./bashrc。 SSH登录到系统就能自动关屏了。
xset -display :0 dpms force on
Reference: https://mensfeld.pl/2018/08/ubuntu-18-04-disable-screen-on-lid-close/