想在自己家里,搭一個實驗環境。 嘗試了裝了台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/