Nur beim Aufwachen aus dem Ruhezustand nach 10 Minuten Sperre ein Passwort erforderlich

10

Ich möchte generell, dass mein Laptop gesperrt ist, wenn er gesperrt ist, aber nicht, wenn ich ihn gerade suspendiere, weil es einen Anwendungsfall gibt, in dem die Eingabe meines Kennworts nach dem Aufstehen aus dem Ruhezustand ziemlich mühsam ist. Ein guter Kompromiss besteht darin, nur das Passwort für die Anmeldung zu verlangen, wenn der Laptop vor mehr als 10 Minuten gesperrt wurde. Wie mache ich das?

Ich benutze Ubuntu 16.04 mit Unity.

    
UTF-8 26.04.2017, 16:05

3 Antworten

6

Erstellen Sie eine Datei in /lib/systemd/system-sleep/ , z. B .: lightdm :

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

mache diese Datei ausführbar:

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

Jedes Mal, wenn Sie Ihr Ubuntu "suspendieren" oder "fortsetzen", wird dieses Skript ausgeführt.

Öffnen Sie es mit dem gewünschten Texteditor, z. B .: sudo nano /lib/systemd/system-sleep/lightdm , fügen Sie diese Zeilen ein und speichern Sie sie:

#!/bin/sh
set -e

case "" 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

Was macht es?

Wenn Sie Ihr Ubuntu in den "Schlaf" -Modus versetzen, speichert dieses Skript die aktuellen Zeitstempel, während es beim Fortsetzen des Systems alte Zeitstempel mit dem aktuellen überprüft, wenn der Unterschied mehr als "600" Sekunde (10 Minuten) beträgt werde ich dir den "lightdm" Sperrbildschirm zeigen sonst macht er nichts.

Für den letzten Schritt:

Öffnen Sie "Systemeinstellungen" - & gt; "Helligkeit und Sperre". Deaktivieren Sie die Passwortabfrage nach dem Aufwachen aus dem Suspend-Modus, da wir den Sperrbildschirm für das Skript verwenden.

Nach dem Neustart oder Herunterfahren müssen Sie noch Ihr Passwort eingeben.

    
Ravexina 15.06.2017, 14:22
0

Fügen Sie ein Skript in /lib/systemd/system-sleep/ hinzu, um Ihre Sitzung zu entsperren, wenn das System für kurze Zeit gesperrt wurde:

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

Mit diesem Inhalt:

#!/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" "";  }

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

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

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

# Resume
if [ "" = "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
    
lemonsqueeze 15.06.2017 14:14
-1

Ich kann dir dabei helfen. Gehe zuerst zu den Einstellungen. Wählen Sie diese Einstellung:

Es wird ein Dropdown-Menü mit dem Hinweis "Bildschirm wird ausgeschaltet" geben.

Nachdem Sie auf das Dropdown-Menü geklickt haben, ändern Sie beide Einstellungen so, dass sie wie folgt aussehen:

    
BJsgoodlife 15.06.2017 12:50