89

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)

Braiam
  • 69,112
WhyWhat
  • 1,029

11 Answers11

167

To disable entering the sleep mode I had to edit the /etc/systemd/logind.conf file and modify the line:

#HandleLidSwitch=suspend

to

HandleLidSwitch=ignore

Additionally, ensure that the file also has this line:

LidSwitchIgnoreInhibited=no

Then restart the OS via:

sudo service systemd-logind restart
Ryan
  • 623
user386160
  • 1,671
18

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
echo "event=button/lid.*" | sudo tee -a /etc/acpi/events/lid-button
echo "action=/etc/acpi/lid.sh" | sudo tee -a /etc/acpi/events/lid-button
sudo touch /etc/acpi/lid.sh
sudo chmod +x /etc/acpi/lid.sh
sudo nano /etc/acpi/lid.sh

Then 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

11

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 restart

Instantly 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.

0fnt
  • 103
Stephan
  • 119
  • 1
  • 2
8

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 https://manpages.ubuntu.com/manpages/cosmic/man5/systemd-sleep.conf.5.html 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=no

Although 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.

6

Everything 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.

ish
  • 141,990
5

I am using 14.04 LTS with ASUS EEE.

The solution by Stephan above didn't work for me. However, this answer worked.

Max
  • 151
4

Editing the /etc/systemd/logind.conf helped, but not with only adding

HandleLidSwitch=ignore

I also had to add the lines:

HandleLidSwitchDocked=ignore

and

LidSwitchIgnoreInhibited=no
jarno
  • 41
3

I think setting the SUSPEND_METHODS="none" option in /etc/default/acpi-support, does the same thing

OmPS
  • 789
1

Ubuntu 24.04.1 LTS

HandleLidSwitch=ignore 
HandleLidSwitchDocked=ignore
HandleLidSwitchExternalPower=ignore

HandleLidSwitchExternalPower controls what happens when lid is closed and the laptop is connected to the power supply. Set it to ignore

1

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.

0

Approach that worked for me running Ubuntu Server 22.04 on a MacBook Pro 7,1; edit the login.conf file and utilize setterm cli command. This also helped make sure my screen and logo backlight turned off.

Edit file: /etc/systemd/logind.conf Adjust these two parameters:

HandleLidSwitch=ignore
HandleLidSwitchExternalPower=ignore

Also, in the terminal, type: setterm --blank 1 --powerdown 2

Rovo
  • 1
  • 1