TTY [1-6]: Kunci layar setelah penundaan (seperti screensaver)

10

Saat menggunakan terminal virtual pada TTY 1-6 [*] , kadang-kadang mudah lupa untuk logout: Layar menjadi kosong setelah beberapa saat, tetapi saya masih login - tidak perlu kata sandi, siapa pun dapat menggunakan akun saya. (Atau saya beralih ke TTY lain, dan lupakan yang lain ...)

Saya ingin memiliki fungsionalitas seperti screensaver yang mengunci terminal setelah 3 menit, dan kemudian memerlukan kata sandi. Bagaimana cara mengatur ini?


[*] Dengan TTY 1-6, maksud saya CTRLALTF1- CTRLALTF6( tidak ada X Server )

Chris Lercher
sumber

Jawaban:

6

Saya tahu ini sudah lama, tetapi saya menemukan Anda di google mencari pertanyaan yang sama.

Jika Anda menggunakan bash, itu tidak masalah. Cukup gunakan variabel lingkungan 'TMOUT' yang digunakan oleh bash untuk auto-logout (logout! Not lock) di detik yang diberikan.

Anda bisa mengetikkan '' TMOUT = 5 '' ke bash apa pun, apa yang terjadi.

Untuk konfigurasi di bashrc saya, saya menggunakan

# autologout pada tty1-6 setelah 30 menit
if [[$ (tty) = ~ / dev \ / tty [1-6]]]; lalu TMOUT = 1800; fi

jadi saya tidak logout pada terminal-emulator yang biasanya di / dev / pty / # dan sudah dikunci oleh screensaver saya sebagai bagian dari desktop saya

blaimi
sumber
5

Menerapkan screensaver seperti itu untuk TTY sulit, karena Anda tidak dapat meminta server X untuk waktu idle.

Jika Anda mendisiplinkan diri sendiri, Anda dapat menggunakan vlockperintah untuk secara eksplisit mengunci terminal.

Solusi untuk pendekatan batas waktu adalah ssh ke localhost dan biarkan batas waktu koneksi ssh menangani sisanya. Batas waktu ditentukan LoginGraceTimedalam /etc/ssh/sshd_configdan 120 detik secara default.

Jika Anda menjalankan exec ssh localhost, Anda akan secara otomatis keluar ketika koneksi ssh habis. Agar program Anda berjalan melewati batas waktu, Anda dapat menjalankannya melalui screen.

Egil
sumber
Keduanya vlockdan exec ssh localhostmerupakan ide - ide hebat (saya pasti akan menggunakannya)! Anda benar, mungkin sulit untuk menanyakan waktu idle tanpa X server. Namun, saya bertanya-tanya mengapa layar menjadi kosong setelah beberapa waktu (dan bangun dengan menekan tombol)? Jadi mungkin "pemicu" yang sama dapat digunakan untuk mengunci layar secara otomatis?
Chris Lercher
Saya baru tahu, bahwa layar kosong (bukan penguncian) dapat disesuaikan dengan setterm -blank [0-60], lihat halaman manual .
Chris Lercher
@Egil exec ssh localhosttidak logout otomatis LoginGraceTimeuntukku. Saya menunggu sekitar 8 menit tetapi tidak terjadi apa-apa!
PHP Learner