TTY [1-6]: Zablokuj ekran po opóźnieniu (jak wygaszacz ekranu)

11

Podczas korzystania z wirtualnych terminali w urządzeniu TTY 1-6 [*] czasami łatwo jest zapomnieć o wylogowaniu: ekran po pewnym czasie jest pusty, ale nadal jestem zalogowany - hasło nie jest wymagane, każdy może korzystać z mojego konta. (Lub przełączam się na inny TTY i zapominam o innym ...)

Chciałbym mieć funkcję podobną do wygaszacza ekranu, która blokuje terminal po 3 minutach, a następnie wymaga hasła. Jak to skonfigurować?


[*] Z TTY 1-6 mam na myśli CTRLALTF1- CTRLALTF6( bez X Server )

Chris Lercher
źródło

Odpowiedzi:

7

Wiem, że to stare, ale znalazłem cię w Google, szukając tego samego pytania.

Jeśli używasz bash, nie ma problemu. Wystarczy użyć zmiennej środowiskowej „TMOUT”, która jest używana przez bash do automatycznego wylogowania (wylogowanie! Nie blokuj) w podanych sekundach.

Możesz po prostu wpisać „TMOUT = 5” w dowolnym bashu i zobaczyć, co się stanie.

Do konfiguracji w moim bashrc używam

# autologout na tty1-6 po 30 minutach
if [[$ (tty) = ~ / dev \ / tty [1-6]]]; następnie TMOUT = 1800; fi

więc nie wylogowuję się na emulatorze terminali, który normalnie jest na / dev / pty / # i już został zablokowany przez mój wygaszacz ekranu jako część pulpitu

blaimi
źródło
5

Wdrożenie wygaszacza ekranu w ten sposób dla TTY jest trudne, ponieważ nie można zapytać serwera X o czas bezczynności.

Jeśli będziesz się dyscyplinował, możesz użyć vlockpolecenia, aby jawnie zablokować terminal.

Obejściem problemu dotyczącego przekroczenia limitu czasu byłoby ssh na localhost i pozostawienie limitu czasu połączenia ssh zajmie się resztą. Limit czasu jest określony LoginGraceTimew /etc/ssh/sshd_configpunkcie i domyślnie wynosi 120 sekund.

Jeśli uruchomisz exec ssh localhost, nastąpi automatyczne wylogowanie po przekroczeniu limitu czasu połączenia ssh. Aby Twoje programy działały po przekroczeniu limitu czasu, możesz je uruchomić za pośrednictwem screen.

Egil
źródło
1
Zarówno vlocki exec ssh localhostświetne pomysły (na pewno będę korzystać z nich)! Masz rację, prawdopodobnie trudno zapytać o czas bezczynności bez serwera X. Zastanawiam się jednak, dlaczego ekran z czasem gaśnie (i budzi się po naciśnięciu klawisza)? Więc może ten sam „wyzwalacz” mógłby w jakiś sposób automatycznie zablokować ekran?
Chris Lercher
1
Właśnie się dowiedziałem, że wygaszanie ekranu (nie blokowanie) można regulować setterm -blank [0-60], patrz strona podręcznika użytkownika .
Chris Lercher
@Egil exec ssh localhostnie wylogowuje się automatycznie po LoginGraceTimemnie. Czekałem około 8 minut, ale nic się nie wydarzyło!
PHP Learner