11

When using the virtual terminals on TTY 1-6 [*], it's sometimes easy to forget to log out: The screen goes blank after a while, but I'm still logged in - no password required, anyone can use my account. (Or I switch to another TTY, and forget the other one...)

I'd like to have screensaver-like functionality that locks the terminal after 3 minutes, and then requires a password. How do I set this up?


[*] With TTY 1-6, I mean CTRLALTF1 - CTRLALTF6 (no X Server)

2 Answers 2

7

I know this is old, but I found you on google searching for the same question.

If you’re using bash, it’s no problem. Just use the environment-variable 'TMOUT' which is used by bash for a auto-logout (logout! not lock) in the given seconds.

You can just type ''TMOUT=5'' into any bash an see, what happens.

For configuration in my bashrc I’m using

# autologout on tty1-6 after 30 minutes
if [[ $(tty) =~ /dev\/tty[1-6] ]]; then TMOUT=1800; fi

so I don’t get logged out on a terminal-emulator which is normally on /dev/pty/# and already get locked by my screensaver as part of my desktop

5

Implementing a screensaver that way for the TTYs is hard, as you cannot query the X server for the idle time.

If you discipline yourself, you can use the vlock command to explicitly lock a terminal.

A workaround for the timeout approach would be to ssh to localhost and let the ssh connection timeout take care of the rest. The timeout is specified under LoginGraceTime in /etc/ssh/sshd_config and is 120 seconds by default.

If you run exec ssh localhost, you would be automatically logged out when the ssh connection times out. To keep your programs running past the timeout, you could run them via screen.

3
  • 1
    Both vlock and exec ssh localhost are great ideas (I will definitely use them)! You're right, it's probably hard to query the idle time without an X server. However, I wonder why the screen does go blank after some time (and wakes up on keypress)? So maybe the same "trigger" could be used to lock the screen automatically somehow? Jun 27, 2011 at 14:22
  • 1
    I just found out, that the screen blanking (not the locking) can be adjusted by setterm -blank [0-60], see man page. Jun 27, 2011 at 15:26
  • @Egil exec ssh localhost does not logout automaticall after LoginGraceTime for me. I waited for about 8 minutes but nothing occured! Jul 30, 2015 at 6:55

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .