Как заблокировать, не выключая экран (монитор)?

Из-за недавней ошибки каждый раз, когда мой экран выключается, я не могу его снова включить.

В настоящее время экран начинает отключаться после блокировки компьютера, что фактически означает, что я не могу заблокировать свой компьютер без полной перезагрузки.

Есть ли способ его заблокировать, но без перехода в спящий / выключенный режим?

2 ответа

Если вам нужно или нужно решение, которое предотвращает засыпание экрана, но которое затемняет или блокирует экран через некоторое время, есть другое решение: вместо собственной опции dim/lock системы используйте приведенный ниже скрипт для запуска в фон. Вам нужно будет установить xprintidle,

Как настроить:

  • Отключите все параметры затемнения / блокировки в системных настройках. (В настройках Яркость и блокировка И в настройках "Энергия")

  • установить xprintidle:

    sudo apt-get install xprintidle
    
  • Найдите свой псевдоним; запустить в терминале:

    xrandr
    

    Ищите имя в строке, где написано "подключен". Ваше имя может быть, например, VGA-1 или же DVI-I-1,

  • Скопируйте приведенный ниже скрипт, задайте правильное имя экрана, время простоя, прежде чем он должен заблокировать / затемнить экран, и вставьте его в пустой файл. Сохранить как lock_dim.py

Сценарий

#!/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)

Протестируйте скрипт, открыв терминал и набрав:

python3 /path/to/lock_dim.py

Если он работает так, как вам нравится, добавьте его в свои запускаемые приложения: откройте Dash > "Startup Applications" > "Add", добавьте команду:

python3 /path/to/lock_dim.py

Перейдите в " Системные настройки" > " Яркость и блокировка", затем измените "Отключить экран, когда он не активен" на " Никогда".

Теперь нажмите на значок настройки в правом верхнем углу, нажмите на имя пользователя вашей учетной записи, ваш экран будет заблокирован и никогда не спать.

Другие вопросы по тегам