Mantendo terminal xterm vivo no crunchbang linux debian wheezy

2

Eu gosto de manter um número de terminais abertos em diferentes locais na minha VM de desenvolvimento. Para isso eu uso terminator porque eu tenho uma tela grande e posso dividir os terminais de qualquer maneira que eu quiser.

Mas depois de algum tempo, esses terminais fecham um após o outro. Eu não uso o ssh, então qualquer opção de keepalive não funcionaria.

Existe algum lugar onde eu possa configurar o terminal para que ele não expire ou feche?

Estou usando GNU bash, version 4.2.37 como shell e terminator em 'xterm'

    
por mahatmanich 21.01.2014 / 15:32

2 respostas

2

O que você descreve não é o comportamento padrão. A única maneira de pensar nisso é definir a variável TMOUT como algo. De man bash :

   TMOUT  If set to a value greater than zero, TMOUT  is  treated  as  the
          default timeout for the read builtin.  The select command termi‐
          nates if input does not arrive after TMOUT seconds when input is
          coming  from  a terminal.  In an interactive shell, the value is
          interpreted as the number of seconds to  wait  for  input  after
          issuing  the  primary prompt.  Bash terminates after waiting for
          that number of seconds if input does not arrive.

Em outras palavras, bash sairá automaticamente em $TMOUT segundos.

Então, você precisa procurar o arquivo onde essa variável está definida e desmarcá-la. Isto provavelmente vai estar no seu arquivo $HOME/.bashrc , mas para estar no lado seguro, execute este comando que irá procurar todos arquivos de configuração possíveis para TMOUT :

for f in  ~/.bashrc ~/.profile ~/.bash_profile ~/.bash_login \
         /etc/profile /etc/environment /etc/bash.bashrc; 
do 
  [ -e $f ] && grep -H TMOUT $f; 
done

Isso deve retornar uma linha como

/home/terdon/.bashrc:TMOUT=600

Exclua essa linha do arquivo relevante e você está definido.

    
por 21.01.2014 / 16:55
0

Talvez você esteja desconectado em algum lugar na infra.

Abra uma janela xterm extra e digite

while [ 1 ]; do   /usr/ucb/echo -n .; sleep 40; done

Você receberá um ponto a cada 40 segundos e digitará ^ C quando terminar.

    
por 21.01.2014 / 17:49