Пароль требуется только при пробуждении из режима ожидания при приостановке на 10 минут

Я обычно хочу, чтобы мой ноутбук был заблокирован, когда он приостановлен, но не тогда, когда я просто приостановил его, потому что есть случай использования, когда ввод моего пароля после того, как мой ноутбук проснулся из режима ожидания, является довольно громоздким. Хороший компромисс - требовать пароль для входа, только если ноутбук был заблокирован более 10 минут назад. Как мне это сделать?

Я использую Ubuntu 16.04 с Unity.

11
задан 14 June 2017 в 13:49

3 ответа

Создайте файл в /lib/systemd/system-sleep/, названный, например: lightdm:

sudo touch /lib/systemd/system-sleep/lightdm

делают этот исполняемый файл файла:

sudo chmod +x /lib/systemd/system-sleep/lightdm

Каждый раз Вы "приостанавливаете" или "возобновляете" свою Ubuntu, этот сценарий, собирающийся быть выполненным.

Открытый это с помощью редактора требуемого текста, например: sudo nano /lib/systemd/system-sleep/lightdm, и вставка это выравнивает в него, и затем сохраните его:

#!/bin/sh
set -e

case "$1" in
   pre)

    #Store current timestamp (while suspending)
    /bin/echo "$(date +%s)" > /tmp/_suspend 
    ;;

   post)
      #Compute old and current timestamp
      oldts="$(cat /tmp/_suspend)"
      ts="$(date +%s)"

      #Prompt for password if suspended > 10 minutes
      if [ $((ts-oldts)) -ge 600 ];
       then
         export XDG_SEAT_PATH=/org/freedesktop/DisplayManager/Seat0
         /usr/bin/dm-tool lock
      fi

      /bin/rm /tmp/_suspend
   ;;
esac

, Что это делает?

при помещении Ubuntu в режим "сна", этот сценарий сохранит текущие метки времени, затем при возобновлении системы, это проверит старые метки времени с текущей, если другое было больше настолько 600-секундным (10 Менуэтов), это собирается показать Вам, "lightdm" блокируют экран иначе, это ничего не делает.

Для последнего шага:

открытые "параметры настройки системы"-> "Яркость & блокировка". Отключите выяснение у пароля после пробуждения от, приостанавливают, потому что мы оставляем обработку экрана блокировки сценарию.

enter image description here

После перезагрузки или завершения работы все еще необходимо ввести пароль.

7
ответ дан 14 June 2017 в 23:49

Я могу помочь Вам с этим. Во-первых, перейдите к настройкам. Выберите эту установку:

Brightness_&Lock

будет выпадающее меню, в котором говорится, что Экран Выключает.

Screen_Turns_Off

После нажатия на выпадающее меню изменяют обе настройки, таким образом, они похожи на это:

Lock_Screen

-2
ответ дан 14 June 2017 в 23:49

Добавьте сценарий в /lib/systemd/system-sleep/ для разблокирования сессии, если система была приостановлена в течение короткого времени:

cd /lib/systemd/system-sleep/
sudo touch     unlock_early_suspend
sudo chmod 755 unlock_early_suspend
sudo -H gedit     unlock_early_suspend

С этим содержанием:

#!/bin/bash
# Don't ask for password on resume if computer has been suspended for a short time

# Max duration of unlocked suspend (seconds)
SUSPEND_GRACE_TIME=600

file_time()      {  stat --format="%Y" "$1";  }

unlock_session()
{
    # Ubuntu 16.04
    sleep 1; loginctl unlock-sessions
}

# Only interested in suspend/resume events here. For hibernate etc tweak this
if [ "$2" != "suspend" ]; then  exit 0;  fi

# Suspend
if [ "$1" = "pre" ]; then  touch /tmp/last_suspend;  fi

# Resume
if [ "$1" = "post" ]; then
    touch /tmp/last_resume
    last_suspend=`file_time /tmp/last_suspend`
    last_resume=`file_time /tmp/last_resume`
    suspend_time=$[$last_resume - $last_suspend]

    if [ "$suspend_time" -le $SUSPEND_GRACE_TIME ]; then
        unlock_session
    fi
fi
0
ответ дан 14 June 2017 в 23:49

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

Похожие вопросы: