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, while it suspends Ubuntu by default.
NOTE: This tutorial is also tested and works in Ubuntu 22.04, and Ubuntu 23.10 with default GNOME desktop environment.
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!
So far as I know, you can edit the logind.conf file to change the action. And it should work on all Ubuntu desktop, server, and flavors.
1.) Open terminal (press Ctrl+Alt+T on Gnome) from your system application menu. When it opens, run command:
sudo gedit /etc/systemd/logind.conf
Type user password (no asterisk feedback) and hit Enter. For Ubuntu 23.04 and higher, replace
gedit in command with
nano command line text editor depends on your desktop environment.
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 different lid close action when running on power supply.
For choice, you can also uncomment ‘
HandleLidSwitchExternalPower=suspend‘ by removing # at its beginning, and change the value to lock, ignore, poweroff, or hibernate.
So the rule in step 2.) only works when your laptop is running on battery. While, this step will take effect when running on power supply.
4.) Finally apply changes by running command:
systemctl restart systemd-logind.service
For Ubuntu 22.04 and higher, the command will log you out, and break next login. So, you may just restart your computer instead to apply change.
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.