Hanya memerlukan kata sandi saat bangun dari penangguhan saat ditangguhkan selama 10 menit

11

Saya biasanya ingin laptop saya terkunci ketika ditangguhkan tetapi tidak ketika saya hanya menangguhkannya karena ada kasus penggunaan di mana memasukkan kata sandi saya setelah laptop saya terbangun dari penangguhan cukup rumit. Kompromi yang baik adalah dengan hanya memerlukan kata sandi login jika laptop ditangguhkan lebih dari 10 menit yang lalu. Bagaimana saya melakukan ini?

Saya menggunakan Ubuntu 16.04 dengan Unity.

UTF-8
sumber
Suka fitur "Kunci setelah x menit" Android?
You'reAGitForNotUsingGit
@AndroidDev Cukup banyak ya.
UTF-8

Jawaban:

7

Buat file di dalamnya /lib/systemd/system-sleep/, beri nama mis lightdm::

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

buat file ini dapat dieksekusi:

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

Setiap kali Anda "menangguhkan" atau "melanjutkan" Ubuntu Anda, skrip ini akan dijalankan.

Buka menggunakan editor teks yang Anda inginkan, misalnya sudo nano /lib/systemd/system-sleep/lightdm:, dan rekatkan baris ini ke dalamnya lalu simpan:

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

Apa itu?

Ketika Anda memasukkan Ubuntu ke mode "sleep", skrip ini akan menyimpan stempel waktu saat ini, kemudian saat melanjutkan sistem itu akan memeriksa stempel waktu lama dengan yang ada sekarang, jika perbedaannya lebih dari "600" detik (10 Minuets), ia akan menunjukkan Anda "lightdm" layar kunci jika tidak maka tidak ada apa-apa

Untuk langkah terakhir:

buka "pengaturan sistem" -> "Kecerahan & kunci". Nonaktifkan meminta kata sandi setelah bangun dari penangguhan, karena kami meninggalkan menangani layar kunci ke skrip.

masukkan deskripsi gambar di sini

Setelah reboot atau shutdown Anda masih perlu memasukkan kata sandi Anda.

Ravexina
sumber
1
+1 sangat bagus. Saya harus menunjukkan komentar #Remove password prompetharus dibaca#Prompt for password if suspended > 10 minutes
WinEunuuchs2Unix
@ WinEunuuchs2Unix Terima kasih telah menunjukkannya, saya pertama kali menulis sesuatu yang lain kemudian saya lupa untuk mengubah komentar :-)
Ravexina
0

Tambahkan skrip /lib/systemd/system-sleep/untuk membuka kunci sesi Anda jika sistem ditangguhkan untuk waktu yang singkat:

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

Dengan konten ini:

#!/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
perasan lemon
sumber
1
Awalnya saya pikir cara Anda (aktif membuka) lebih elegan daripada jawaban yang lain (yang aktif mengunci). Tapi kemudian saya perhatikan bahwa Anda memiliki properti aneh: Jika saya secara aktif mengunci layar saya, saya ingin itu dikunci sampai kata sandi dimasukkan. Namun, skrip Anda akan membuka kunci layar jika komputer ditangguhkan untuk waktu yang singkat saat layar sudah terkunci. Itu sebabnya saya menerima jawaban yang lain.
UTF-8
Memang itu akan menjadi masalah =)
lemonsqueeze
-2

Saya dapat membantu Anda dengan ini. Pertama, buka pengaturan. Pilih pengaturan ini:

Brightness_ & Lock

Akan ada menu drop down yang mengatakan Layar Mematikan.

Screen_Turns_Off

Setelah mengklik pada menu drop down, ubah kedua pengaturan sehingga terlihat seperti ini:

Layar kunci

BJsgoodlife
sumber
Ini tidak bekerja. Saya menetapkan waktu ke 30 detik untuk pengujian. Seperti ini , saya harus memasukkan kata sandi saya bahkan setelah komputer menangguhkan hanya 5 detik. Seperti ini , saya langsung ke desktop saya bahkan setelah menangguhkan komputer saya selama 3 menit.
UTF-8
Maaf tentang itu, saya lupa langkah.
BJsgoodlife
Ini tidak meninggalkan komputer dalam keadaan tidak terkunci untuk jumlah menit yang telah ditentukan sebelumnya setelah penangguhan dimulai seperti yang ditentukan OP. Bahkan, itu langsung menguncinya ketika penangguhan dimulai.
b_laoshi