154

I am getting a web server setup at home on an older AMD 2400+ desktop. I have Ubuntu 11.04 installed and running however, after a time, I can no longer browse to the server. When I go to the keyboard and press a key, everything magically works again.

I have looked through the BIOS and I am not seeing any power saving features enabled. Is there anything like that in Ubuntu? Can it be disabled?

I don't have any GUI installed. This is console only.

gosuto
  • 225
Mike Wills
  • 1,833

8 Answers8

173

On Ubuntu 16.04 LTS, I successfully used the following to disable suspend:

sudo systemctl mask sleep.target suspend.target hibernate.target hybrid-sleep.target

And this to re-enable it:

sudo systemctl unmask sleep.target suspend.target hibernate.target hybrid-sleep.target

From man systemctl:

mask NAME...  
           Mask one or more units, as specified on the command line. This
           will link these unit files to /dev/null, making it impossible to
           start them. This is a stronger version of disable, since it
           prohibits all kinds of activation of the unit, including
           enablement and manual activation. Use this option with care. This
           honors the --runtime option to only mask temporarily until the
           next reboot of the system. The --now option may be used to ensure
           that the units are also stopped. This command expects valid unit
           names only, it does not accept unit file paths.

 unmask NAME...
           Unmask one or more unit files, as specified on the command line.
           This will undo the effect of mask. This command expects valid
           unit names only, it does not accept unit file paths.
abu_bua
  • 11,313
39

GUI

Have you looked at:

System -> Preferences -> Power Management

On AC Power Tab, Put computer to sleep when inactive for: "Never"

Terminal

Can you open up "gconf-editor"?

Look in: /apps/gnome-power-manager/timeout

Try setting sleep_computer_ac to 0

I'm not positive if anything else needs to be changed as well.

19

None of these described solutions worked for me. The laptop was still going to sleep. Using the Grub Linux command line option of acpi=off caused the laptop to fail to boot. I finally found this solution.

sudo vi /etc/default/acpi-support # and then set SUSPEND_METHODS="none"
sudo /etc/init.d/acpid restart

Based on the original solution from Stephan here: Keep Ubuntu Server running on a laptop with the lid closed?

Andrew Vian
  • 537
  • 4
  • 6
15

The right answer for this located here:

Have you tried adding the kernel options acpi=off apm=off to the GRUB_CMDLINE_LINUX_DEFAULT in /etc/default/grub?

Then run sudo update-grub and reboot your computer.

Mike Wills
  • 1,833
12

In addition to the systemctl mask/unmask options, I also use the following to turn suspend on/off for the Gnome desktop.

gsettings set org.gnome.settings-daemon.plugins.power sleep-inactive-battery-type 'suspend'
gsettings set org.gnome.settings-daemon.plugins.power sleep-inactive-ac-type 'suspend'

or

gsettings set org.gnome.settings-daemon.plugins.power sleep-inactive-battery-type 'nothing'
gsettings set org.gnome.settings-daemon.plugins.power sleep-inactive-ac-type 'nothing'

I found these by exploring the settings revealed by the commands listed in How to dump ALL dconf/gsettings so that I can compare them between two different machines?

HankB
  • 285
12

Just wanted to note my problems with the accepted answer and provide an alternative solution:

Masking sleep.target, suspend.target etc. using systemctl does do the job, but know that systemd-logind will still try to call sleep.target (or which ever)!

@Djizeus reports that this resulted in an indefinite CPU usage of 70-100% after closing the lid. Personally I experienced systemd-logind spamming my /var/log/auth.log until it filled the disk (tens and tens of lines per second reporting sleep is masked).

Taken again from @Djizeus' comment: "[t]he solution is to ignore the lid with HandleLidSwitch=ignore in /etc/systemd/logind.conf".

gosuto
  • 225
9

Please try looking into these links - cyberciti.biz and Arch forums

This is an excerpt from the cyberciti.biz link:

By default, the Linux kernel will use screen-save option to disable it you need to type this command (it turns off monitor VESA powersaving features):

$ setterm -powersave off -blank 0

If it dumps back you with an error that read as follows: cannot (un)set powersave mode

You need to shutdown X window system and rerun the above command. Better, add following two commands to your ~/.xinitrc file:

setterm -blank 0 -powersave off -powerdown 0
xset s off
0

I found Light Locker, as I have Ubuntu 14.04.2 with LXDE (Lubuntu) Desktop; if you have this desktop you can change the default and manage the monitor through that. Otherwise you might have to install gconf-editor through terminal if you don't have it. Light Locker is in can be found in Preferences in the main menu.