Prevent sleep/suspend when not logged in to a specific account
Solution 1
When no user is signed on
When no user is signed on the power settings come from psuedo-user ID gdm
. The following controls for GDM auto-suspend come from: ArchLinux GDM
GDM auto-suspend (GNOME 3.28)
GDM uses a separate dconf database to control power management. You can make GDM behave the same way as user sessions by copying the user settings to GDM's dconf database.
$ IFS=$'\n'; for x in $(sudo -u username gsettings list-recursively org.gnome.settings-daemon.plugins.power); do eval "sudo -u gdm dbus-launch gsettings set $x"; done; unset IFS
where username
is your user's name.
Or to simply disable auto-suspend (also run the command with ac replaced with battery to also disable it while running on battery):
$ sudo -u gdm dbus-launch gsettings set org.gnome.settings-daemon.plugins.power sleep-inactive-ac-type 'nothing'
Solution 2
edit file /etc/systemd/logind.conf
there you can find the line:
#HandleLidSwitch=suspend
change it to:
HandleLidSwitch=ignore
now your login screen ignores your lid switch also.
There is a good ubuntu manual page of logind.conf:
http://manpages.ubuntu.com/manpages/cosmic/man5/logind.conf.5.html
To disable suspend via policykit (systemwide setting) follow instructions on:
https://sites.google.com/site/easytipsforlinux/disable-hibernate-and-suspend
Related videos on Youtube
josephwb
Updated on September 18, 2022Comments
-
josephwb over 1 year
We have a shared office desktop running Ubuntu 18.04 where several jobs (via ssh and screen) often run for weeks on multiple accounts. When logged into an account, sleep/suspend is deactivated through:
- Power settings in main System Setting
- Using
gnome-tweak-tool
, setting "Suspend when laptop lid is closed" to off.
This works fine as long as a user with these power settings is always directly logged into the machine (i.e., physically, not via ssh).
The problem is when no user is currently logged in directly i.e., when the machine is at the main login screen (like on boot up). There does not appear to be a way to set sleep/suspend settings when not logged into a specific account. So, if the machine remains on this screen, it eventually sleeps, suspending all the running jobs.
As I mentioned, things work fine as long as some user is logged in. However, this has been viewed as a security risk. So we'd like to find a better system-wide solution.
I should mention that we have another office desktop running Ubuntu 16.04 which does not have this problem.
-
Admin about 5 yearsmaybe something like this? askubuntu.com/a/942987/104223
-
Admin about 5 yearsIf it's a production machine or something critical, you may want to disable suspend completely. That can be done with what Pasi Suominen showed in his answer ( via
/etc/systemd/logind.conf
although not via lidswitch setting). If you do insist on tracking a specific remote login, I think it could be done, but not without root-level service running in background. Disabling suspend globally is an easier solution, and is already available, so I'd recommend that. -
Admin about 5 yearsIf you want to disable suspend completely, that's doable via policykit. See instructions: sites.google.com/site/easytipsforlinux/…
-
Melik Karapetyan about 5 yearswon't this only run when a user is logged in?
-
Muntaha Liaqat about 5 yearsyes of course you have to log in
-
Charon ME over 4 yearsthis gives me a lot of "permission denied" error messages
-
markackerman8-gmail.com over 4 yearsmassive errors here too!
-
markackerman8-gmail.com over 4 yearsCaffeine is great for "Auto Suspend" ... Enabled or Disabled, but Ubuntu ... gnome on xorg anyway doesn't pay attention to it!
-
Attila Lendvai over 3 yearsfor me it's: No such schema “org.gnome.settings-daemon.plugins.power”