Administradores, preocupados com a segurança, podem determinar um tempo limite para o uso do terminal ou para uma conexão vinda de fora.
No sistema operacional GNU/Linux ou nos UNIX, a variável de sistema TMOUT (TiMeOUT) é a responsável por armazenar o tempo, em segundos, antes de “cortar” o uso do terminal.
Basta especificar o tempo, em segundos, da variável (da shell) TMOUT, assim: TMOUT=30 (para desconectar o terminal, daqui a 30 segundos).
Experimente, agora!
Abra um novo terminal e digite o seguinte comando:
TMOUT=3
O comando acima, irá desconectar e fechar o seu terminal após 3 segundos.
Embora desnecessária, é possível usar a variável com o comando export:
export TMOUT=5
A variável pode ser incluída no .bashrc ou no .bash_profile, caso você prefira controlar o tempo de uso de cada novo terminal no sistema.
Outros usos para o timeout
Sob o ponto de vista do entretenimento ou da diversão, é possível usar o TMOUT, para jogar com os amigos ou treinar a sua velocidade na solução de problemas via terminal.
Por exemplo, estabeleça um procedimento a ser realizado e um tempo razoável para concluí-lo e inicie o TMOUT.
Você pode usar o recurso também dentro de um script Bash, para fechar a shell, depois de um tempo sem resposta do usuário.
Qualquer procedimento pode ser combinado ao TMOUT, para manter a sua tela “enxuta” e menos terminais abertos. Veja um exemplo:
sudo apt update;sudo apt --list-upgradable;TMOUT=300
Como cancelar um timeout em andamento
Se você já tiver um timeout em andamento na sua shell, basta redefinir a variável para qualquer outro valor.
Se a redefinir para 0 (zero), ela será simplesmente cancelada:
TMOUT=0 # para cancelar um timeout corrente
… ou informe um novo valor, em segundos, para ganhar mais tempo de uso no terminal:
TMOUT=15 # para ter 15 segundos de uso da shell
TMOUT=300 # para alterar o tempo de uso para 5 minutos
Você pode também usar o unset para desativar um TMOUT em andamento:
unset TMOUT
Por fim, se quiser saber o tempo que foi estabelecido para o uso da shell, use o comando echo:
echo $TMOUT
300
Infelizmente, o comando acima, só mostra o valor inicial, atribuído à variável — e não o que falta para a sessão ser encerrada, o que pode te deixar “um pouco no escuro”, quanto ao tempo que te resta dentro da sessão.
One reply on “Como pré-determinar o tempo de uso das sessões no Bash.”
Obrigado!