I want to automatically log out the user from the login shell after a defined period of inactivity but leave X Window Terminals untouched. This will allow me to enhance security slightly, as I will not accidentally leave the superuser session running for a long time.
The proper way to achieve this is to set TMOUT
variable to the number of seconds to wait for user input using a global profile.
Do not worry as you can keep your application running (like
top
, mc
or long running process
) and it will not be terminated.Execute the following commands to define 120
seconds timeout.
$ cat << EOF | sudo tee /etc/profile.d/tmout.sh # Execute only outside of X-terminal [ -z "\$DISPLAY" ] || return 0 export TMOUT=120 EOF
$ sudo chmod 644 /etc/profile.d/tmout.sh
Changes will take place after the user re-login. Bash will simply terminate after a timeout.