Yalnızca 10 dakika askıya alındığında askıya alma durumundan uyandığınızda şifre gerekir


11

Genelde dizüstü bilgisayarım askıya alındığında kilitlenmesini istiyorum, ancak askıya alındığında değil, çünkü dizüstü bilgisayarım askıya alındıktan sonra parolamın girilmesinin oldukça hantal olduğu bir kullanım durumu var. İyi bir uzlaşma, yalnızca dizüstü bilgisayarın 10 dakikadan daha uzun bir süre önce askıya alınması durumunda oturum açma şifresini gerektirmektir. Bunu nasıl yaparım?

Unity ile Ubuntu 16.04 kullanıyorum.


Android'in "x dakika sonra kilitle" özelliğini beğendiniz mi?
You'reAGitForNotUsingGit

@AndroidDev Hemen hemen evet.
UTF-8

Yanıtlar:


7

İçinde bir dosya oluşturun /lib/systemd/system-sleep/, örneğin lightdm::

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

bu dosyayı yürütülebilir yap:

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

Ubuntu'nuzu her "askıya aldığınızda" veya "devam ettirdiğinizde", bu komut dosyası çalıştırılır.

İstediğiniz metin düzenleyicisini kullanarak açın, örneğin: sudo nano /lib/systemd/system-sleep/lightdmve bu satırları yapıştırın ve kaydedin:

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

Bu ne yapar?

Ubuntu'nuzu "uyku" moduna geçirdiğinizde, bu komut dosyası geçerli zaman damgalarını kaydeder, daha sonra sisteme devam ederken eski zaman damgalarını geçerli olanla kontrol eder, eğer farklı "600" saniyeden (10 Dakika) daha fazlaysa Eğer "lightdm" kilit ekranı aksi takdirde hiçbir şey yapmaz.

Son adım için:

"sistem ayarları" -> "Parlaklık ve kilit" i açın. Kilit ekranını betiğe bıraktığımız için askıya alındıktan sonra parola sormayı devre dışı bırakın.

resim açıklamasını buraya girin

Yeniden başlattıktan veya kapattıktan sonra hala şifrenizi girmeniz gerekir.


1
Çok güzel +1. Yorumun #Remove password prompetokunması gerektiğine dikkat #Prompt for password if suspended > 10 minutes
çekmeliyim

@ WinEunuuchs2Unix İşaret ettiğiniz için teşekkürler, önce başka bir şey yazdım, sonra yorumu değiştirmeyi unuttum :-)
Ravexina

0

/lib/systemd/system-sleep/Sistem kısa bir süre için askıya alındıysa oturumunuzun kilidini açmak için bir komut dosyası ekleyin :

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

Bu içerikle:

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

1
Başlangıçta yolunuzun (aktif olarak kilidini açma) diğer cevabın (aktif olarak kilitlenmesinden) daha zarif olduğunu düşündüm. Ama sonra seninkinin garip bir özelliği olduğunu fark ettim: Ekranımı aktif olarak kilitlersem, şifre girilene kadar kilitlenmesini istiyorum. Ancak, bilgisayar ekran kilitliyken kısa bir süre için askıya alınırsa, komut dosyanızın ekran kilidini açar. Bu yüzden diğer cevabı kabul ettim.
UTF-8

Gerçekten bu bir sorun olurdu =)
lemonsqueeze

-2

Sana bu konuda yardımcı olabilirim. İlk olarak, ayarlara gidin. Bu ayarı seçin:

Brightness_ & Kilit

Ekran Kapanıyor yazan bir açılır menü olacaktır.

Screen_Turns_Off

Açılır menüye tıkladıktan sonra her iki ayarı da değiştirerek aşağıdaki gibi görünmesini sağlayın:

Lock_Screen


Bu çalışmıyor. Test için zamanı 30 saniyeye ayarladım. Bu şekilde , bilgisayarı sadece 5 saniye askıya aldıktan sonra bile şifremi girmek zorunda kaldım. Bu şekilde , bilgisayarımı 3 dakika beklettikten sonra bile masaüstüme geldim.
UTF-8

Bunun için üzgünüm, bir adımı unuttum.
BJsgoodlife

Bu, askıya alma işlemi OP belirtildiği gibi başlatıldıktan sonra bilgisayarı önceden belirlenmiş bir süre boyunca kilitsiz durumda bırakmaz. Aslında, askıya alma başladığında hemen kilitler.
b_laoshi
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.