¿Cómo se puede expirar un shell de raíz después de un cierto período de tiempo?

15

¿Hay alguna manera de 'agotar el tiempo' de un shell raíz (por ejemplo, in gnome-terminal) para que después de un cierto tiempo sin emitir ningún comando, el shell salga?

Estoy buscando una solución que funcione en bash Fedora y en kshOpenBSD.

LanceBaynes
fuente

Respuestas:

23

Puede establecer establecer la TMOUTvariable en un número en segundos que desea que bash espere antes de cerrar sesión automáticamente en el shell si no se ejecuta ningún comando.

Arrowmaster
fuente
55
TMOUT está disponible tanto con bash como con ksh.
camh
44
@camh Zsh también, esperaría que cualquier shell moderno lo soporte.
Arrowmaster
1
Es una gran cosa que aprendí hoy.
SHW
2

Sé que esta pregunta se refiere a Bash & Ksh. Pero pensé que publicaría algo similar para csh / tcsh, para el registro.

En FreeBSD, el shell predeterminado es tcsh. Puede cerrar sesión automáticamente en una sesión utilizando la autologoutfunción del shell tcsh.

Lo siguiente cerrará automáticamente una sesión después de un minuto de actividad inactiva.

freebsd82# set -r autologout=’1′
(Wait one minute)
freebsd82# auto-logout
Connection to freebsd82 closed.

La página de manual de tcsh (1) lo describe así:

autologout (+)
     The first word is the number of minutes  of  inactivity  before
     automatic  logout.   The  optional second word is the number of
     minutes of inactivity before automatic locking.  When the shell
     automatically logs out, it prints `auto-logout', sets the vari-
     able logout to `automatic' and exits.  When the shell automati-
     cally locks, the user is required to enter his password to con-
     tinue working.  Five incorrect  attempts  result  in  automatic
     logout.  Set to `60' (automatic logout after 60 minutes, and no
     locking) by default in login and superuser shells, but  not  if
     the shell thinks it is running under a window system (i.e., the
     DISPLAY environment variable is set), the tty is  a  pseudo-tty
     (pty)  or  the shell was not so compiled (see the version shell
     variable).  See also the afsuser and logout shell variables.
Stefan Lasiewski
fuente