Categories
Linux Programação Tutoriais

Como pré-determinar o tempo de uso das sessões no Bash.

Como encerrar uma sessão no Bash shell após um tempo (em segundos), predeterminado.

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.

By Elias Praciano

Autor de tecnologia (livre, de preferência), apaixonado por programação e astronomia.
Fã de séries, como "Rick and Morty" e "BoJack Horseman".
Me siga no Twitter e vamos trocar ideias!

One reply on “Como pré-determinar o tempo de uso das sessões no Bash.”

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.