This simple tutorial shows how to change the action (e.g., power off, hibernate, do nothing, or lock) when laptop lid is closed in Ubuntu 20.04, Ubuntu 22.04, and Ubuntu 24.04, while it suspends Ubuntu by default.
NOTE: This tutorial is also tested and works in Ubuntu 22.04, and Ubuntu 24.04 with default GNOME desktop environment. It should also works in other Linux uses systemd.
Dconf editor offers options to change the action to take when the laptop lid is closed on AC or power, but it doesn’t work!
Option 1: Edit logind.conf file
So far as I know, you can edit the logind.conf
file to change the lid close action. And it should work on all Ubuntu desktop, server, and flavors.
1.) First, press Ctrl+Alt+T on keyboard to open up a terminal window. When it opens, run command to edit the config file:
sudo gedit /etc/systemd/logind.conf
Depends on your Ubuntu edition and desktop environment, replace gedit
in command with gnome-text-editor
for Ubuntu 24.04 and higher. Or, use mousepad
for XFCE, pluma
for MATE, or nano
command line text editor that works in most desktops.
2.) When the file opens, find out the line #HandleLidSwitch=suspend and change it to one of following :
- HandleLidSwitch=lock – lock when lid closed.
- HandleLidSwitch=ignore – do nothing, some laptops will disconnect Wi-Fi.
- HandleLidSwitch=poweroff – shutdown.
- HandleLidSwitch=hibernate – hibernate Ubuntu.
NOTE: hibernation feature does NOT work out-of-the-box in Ubuntu, you have to enabled it first if need.
3.) Set lid close action when running on power supply or in docking station.
For choice, you may also uncomment ‘HandleLidSwitchExternalPower
‘ and/or HandleLidSwitchDocked
lines by removing # at their beginning, and change the value to lock, ignore, poweroff, or hibernate.
So the changes will also apply when your laptop is running with power supply, in a docking station, or with external displays.
4.) After saved the file (for nano
, press Ctrl+S then Ctrl+X). Finally apply changes by running command to restart systemd-logind service:
systemctl restart systemd-logind.service
In current Ubuntu releases, the last command will log user out. But for Ubuntu 22.04 and higher, it’s better to restart computer instead.
Note: You have to do previous steps every time you want to change the action. And ‘Suspend when laptop lid is closed‘ option in Gnome Tweaks will no longer work before you comment (add # at the beginning) the line in /etc/systemd/logind.conf.
Option 2: Use A Drop-in under /etc/systemd/logind.conf.d
The first option works good in my case, but it’s recommended to create “drop-ins” in the /etc/systemd/logind.conf.d/
directory. So defaults can be easily restored by deleting main file and all drop-ins.
1. First, press Ctrl+Alt+T to open terminal. Then, run command create the directory in case it does not exit:
sudo mkdir -p /etc/systemd/logind.conf.d
2. Next, run command to create a ‘drop-in'(custom config file), for example lid-close-action.conf
, under that directory:
sudo gnome-text-editor /etc/systemd/logind.conf.d/lid-close-action.conf
Here also replace gnome-text-editor
depends on your Ubuntu edition or desktop environment, or use nano
that works in most cases.
3. When file opens, just add following lines and replace ignore
with one of suspend
, lock
, poweroff
, hibernate
as you need.
[Login] HandleLidSwitch=ignore HandleLidSwitchExternalPower=ignore HandleLidSwitchDocked=ignore
Finally, save file. For nano
command line text editor, press Ctrl+S to save and Ctrl+X to exit. And, restart computer to apply change.