I decided to use my Eee PC 1001HA as a home server. I have it connected through Wi-Fi to the router, running Ubuntu Server 12.04. Everything works fine except this annoying problem:
when I close the lid, the ssh server stops working and, I guess, wlan0 too.
Tried the BIOS and nothing, no option about the lid. My wlan0 is a RaLink RT3090.
Tried ls -lrt /var/log between lid derivatives, but I can't understand those satanic logs. I can share them if needed.
pm-powersave.log seems to be updated between lid movements. So I guess I've to disable this "powersave" service. Can I do this? I don't mind if the server runs all day.
Remember that there is no UI, this is a netbook with a lid and its connected to the ac adapter.
edit: This is just a workaround but I am able to click the power-button and close the lid quickly. This way the server boots normally and connects to the wireless network automatically. (found here)
39 Answers
To disable entering the sleep mode I had to edit the /etc/systemd/logind.conf file and modify the line:
#HandleLidSwitch=suspendto
HandleLidSwitch=ignoreAdditionally, ensure that the file also has this line:
LidSwitchIgnoreInhibited=noThen restart the OS via:
sudo service systemd-logind restart 13 Turn off laptop screen when closed
This works for me on a new install of Ubuntu Server LTS 18.04.1.
The answer from @user386160 worked great to prevent my laptop from going to sleep. But I found out that my monitor was staying on even when the lid was closed (a.k.a. generating unnecessary heat).
Here's the additional steps I took to turn off the laptop monitor when the screen was closed:
sudo apt-get install acpi-support vbetool
sudo echo "event=button/lid.*" > /etc/acpi/events/lid-button
sudo echo "action=/etc/acpi/lid.sh" >> /etc/acpi/events/lid-button
sudo touch /etc/acpi/lid.sh
sudo chmod +x /etc/acpi/lid.sh
sudo nano /etc/acpi/lid.shThen set the contents of the lid.sh file to the following:
#!/bin/bash
grep -q close /proc/acpi/button/lid/*/state
if [ $? = 0 ]; then sleep 0.2 && vbetool dpms off
fi
grep -q open /proc/acpi/button/lid/*/state
if [ $? = 0 ]; then vbetool dpms on
fi 1 just to confirm, 14.04 LTS Server user here on a Dell X100e.
sudo apt-get install acpi-support
sudo vi /etc/default/acpi-support # and then set SUSPEND_METHODS="none"
sudo /etc/init.d/acpid restartInstantly able to close lid, no issues.
Just posting to confirm the previous posters' solution as the only fix needed. No need (currently) to do anything else in addition to this.
2Everything stops working because...the laptop goes to sleep! (suspend mode).
To stop, just disable the ACPI lid-button event.
Edit /etc/acpi/event/lidbtn and comment out the bottom two lines:
# /etc/acpi/events/lidbtn # Called when the user closes or opens the lid event=button[ /]lid # comment this out with a # at the beginning action=/etc/acpi/lid.sh # same here
Reboot, and that should be it.
1I am using 14.04 LTS with ASUS EEE.
The solution by Stephan above didn't work for me. However, this answer worked.
1I think setting the SUSPEND_METHODS="none" option in /etc/default/acpi-support, does the same thing
Editing the /etc/systemd/logind.conf helped, but not with only adding
HandleLidSwitch=ignoreI also had to add the lines:
HandleLidSwitchDocked=ignoreand
LidSwitchIgnoreInhibited=no This worked for me - my Ubuntu Server install didn't have /etc/acpi/event/lidbtn either, but I installed the acpi-support package and then it showed up.
The package installs a whole bunch of other X11 related packages but doesn't enable graphical mode, don't worry.
Once I commented the last two lines as above then my laptop stayed running with the lid closed.
Another approach,
for me on Ubuntu Server 20.10, changing logind.conf did not help (although I've also done that, haven't tested this solution without those changes in that file), and the
sudo systemctl mask sleep.target suspend.target hibernate.target hybrid-sleep.target
-approach caused systemd to consume 100% of my CPU, but from this manpage I managed to get it to work (no reboot or anything) by disabling sleep in it's entirety; In /etc/systemd/sleep.conf add the following lines
AllowSuspend=no
AllowHibernation=no
AllowSuspendThenHibernate=no
AllowHybridSleep=noAlthough that might not be an option if you want to be able to suspend it etc. in some other situation, but at least it worked for me.