ATS [1-6]: Verrouiller l'écran après un délai (comme un économiseur d'écran)

10

Lorsque vous utilisez les terminaux virtuels sur TTY 1-6 [*] , il est parfois facile d'oublier de vous déconnecter: l'écran devient vide après un certain temps, mais je suis toujours connecté - aucun mot de passe requis, n'importe qui peut utiliser mon compte. (Ou je passe à un autre ATS, et j'oublie l'autre ...)

Je voudrais avoir une fonctionnalité de type économiseur d'écran qui verrouille le terminal après 3 minutes, puis nécessite un mot de passe. Comment configurer cela?


[*] Avec TTY 1-6, je veux dire CTRLALTF1- CTRLALTF6( pas de serveur X )

Chris Lercher
la source

Réponses:

6

Je sais que c'est vieux, mais je vous ai trouvé sur google à la recherche de la même question.

Si vous utilisez bash, ce n'est pas un problème. Utilisez simplement la variable d'environnement 'TMOUT' qui est utilisée par bash pour une déconnexion automatique (déconnexion! Pas de verrouillage) dans les secondes données.

Vous pouvez simplement taper '' TMOUT = 5 '' dans n'importe quel bash et voir ce qui se passe.

Pour la configuration dans mon bashrc j'utilise

# déconnexion automatique sur tty1-6 après 30 minutes
if [[$ (tty) = ~ / dev \ / tty [1-6]]]; puis TMOUT = 1800; Fi

donc je ne me déconnecte pas sur un émulateur de terminal qui est normalement sur / dev / pty / # et est déjà verrouillé par mon économiseur d'écran dans le cadre de mon bureau

blaimi
la source
5

L'implémentation d'un économiseur d'écran de cette façon pour les ATS est difficile, car vous ne pouvez pas interroger le serveur X pendant le temps d'inactivité.

Si vous vous disciplinez, vous pouvez utiliser la vlockcommande pour verrouiller explicitement un terminal.

Une solution de contournement pour l'approche du délai d'expiration serait de ssh vers localhost et de laisser le délai d'expiration de la connexion ssh s'occuper du reste. Le délai est spécifié sous LoginGraceTimedans /etc/ssh/sshd_configet est de 120 secondes par défaut.

Si vous exécutez exec ssh localhost, vous serez automatiquement déconnecté lorsque la connexion ssh expirera. Pour que vos programmes fonctionnent au-delà de la temporisation, vous pouvez les exécuter via screen.

Egil
la source
Les deux vlocket exec ssh localhostsont de grandes idées (je vais certainement les utiliser)! Vous avez raison, il est probablement difficile d'interroger le temps d'inactivité sans serveur X. Cependant, je me demande pourquoi l'écran devient vide après un certain temps (et se réveille au clavier)? Alors peut-être que le même «déclencheur» pourrait être utilisé pour verrouiller automatiquement l'écran d'une manière ou d'une autre?
Chris Lercher
Je viens de découvrir que le masquage d'écran (pas le verrouillage) peut être ajusté par setterm -blank [0-60], voir la page de manuel .
Chris Lercher
@Egil exec ssh localhostne se déconnecte pas automatiquement après LoginGraceTimepour moi. J'ai attendu environ 8 minutes mais rien ne s'est produit!
PHP Learner