8

Due to a recent bug, each time my screen turns off, I cannot get it back on.

Currently, the screen starts turning off after the computer is locked - which effectively means that I cannot lock my computer without having to completely restart it.

Is there a way to lock it, but without the monitor going to sleep/off?

jcora
  • 920
  • See if this one helpful https://askubuntu.com/questions/696738/prevent-monitor-from-losing-signal-after-screen-saver-lock-activates – user.dz Jun 10 '16 at 16:35

2 Answers2

2

If you need or want a solution that prevents the screen to fall asleep, but that does dim/lock the screen after a while, there is another solution: instead of the system's own dim/lock option, use the script below to run in the background. You will need to install xprintidle.

How to set up:

  • Disable all dim / lock options in System Settings. (In Brightness & lock AND in "Energy" settings)

  • install xprintidle:

    sudo apt-get install xprintidle
    
  • Find your screen name; run in a terminal:

    xrandr
    

    Look for the name in the line where it says "connected". Your screen name could be for example VGA-1 or DVI-I-1.

  • Copy the script below, set the correct screen_name, the idle time before it should lock/dim the screen, and paste it into an empty file. Save it aslock_dim.py

The script

#!/usr/bin/env python3

import subprocess
import time

seconds = 600 # number of seconds to wait before lock/dim the screen
screen_name = "DVI-I-1" # example, replace it with your screen's name

awake = True

while True:
    curr_idle = subprocess.check_output(["xprintidle"]).decode("utf-8").strip()
    if awake == True:
        if int(curr_idle) > seconds*1000:
            command1 = "gnome-screensaver-command -l"
            command2 = "xrandr --output "+screen_name+" --brightness 0.1"
            subprocess.call(["/bin/bash", "-c", command1])
            subprocess.call(["/bin/bash", "-c", command2])
            awake = False
        else:
            pass
    elif awake == False:
        if int(curr_idle) > seconds*1000:
            pass
        else:
            command3 = "xrandr --output "+screen_name+" --brightness 1"
            subprocess.call(["/bin/bash", "-c", command3])
            awake = True
    time.sleep(2)

Test the script by opening a terminal and type:

python3 /path/to/lock_dim.py

If it works as you like, add it to your startup applications: Open Dash > "Startup Applications" > "Add", add the command:

python3 /path/to/lock_dim.py
Jacob Vlijm
  • 83,767
  • unfortunately the command gnome-screensaver-command -l just turns the screen blank, showing the lock screen only for a second. How can I just get the lock screen? The huge nice clock. – Sadık Jul 21 '17 at 11:17
-2

Go to System preferences > Brightness & lock, then change "Turn Screen off when inactive" to Never.

Now click on setting icon from top right click on you account username your screen will be locked and never sleep.

Aaron Hill
  • 4,957
  • Actually it still starts fading the second I lock it, either by clicking Lock in the user menu, or using the keyboard shortcut. – jcora Sep 23 '14 at 10:47