Prevent sleep/suspend when not logged in to a specific account

8,494

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

Share:
8,494

Related videos on Youtube

josephwb
Author by

josephwb

Updated on September 18, 2022

Comments

  • josephwb
    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:

    1. Power settings in main System Setting
    2. 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
      Admin about 5 years
      maybe something like this? askubuntu.com/a/942987/104223
    • Admin
      Admin about 5 years
      If 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
      Admin about 5 years
      If you want to disable suspend completely, that's doable via policykit. See instructions: sites.google.com/site/easytipsforlinux/…
  • Melik Karapetyan
    Melik Karapetyan about 5 years
    won't this only run when a user is logged in?
  • Muntaha Liaqat
    Muntaha Liaqat about 5 years
    yes of course you have to log in
  • Charon ME
    Charon ME over 4 years
    this gives me a lot of "permission denied" error messages
  • markackerman8-gmail.com
    markackerman8-gmail.com over 4 years
    massive errors here too!
  • markackerman8-gmail.com
    markackerman8-gmail.com over 4 years
    Caffeine is great for "Auto Suspend" ... Enabled or Disabled, but Ubuntu ... gnome on xorg anyway doesn't pay attention to it!
  • Attila Lendvai
    Attila Lendvai over 3 years
    for me it's: No such schema “org.gnome.settings-daemon.plugins.power”