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.
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.