evitando que a tela seja limpa ao sair de uma sessão ssh

4

Eu tenho rdist configurado para empurrar para fora alguns dos meus arquivos de ponto para todas as máquinas remotas que eu preciso para ssh em. Eu também tenho o zsh como meu shell padrão em todas essas máquinas.

Quando eu ssh em uma máquina e depois saio, a tela é apagada. Eu acho esse comportamento incômodo. Minha tentativa de evitar esse comportamento foi comentar a linha /usr/bin/clear no meu arquivo .logout . Eu distingi esse arquivo atualizado para todas as máquinas remotas.

O problema é que isso não funcionou. Não tenho certeza sobre isso, mas achei que .logout era para csh, mas também não tenho um .zlogout (ou .bash_logout ). Não há nada em nenhum dos meus outros arquivos de ponto (por exemplo, .zshrc , .zshenv ) que parece causar a limpeza da tela. Quando eu ssh em uma máquina remota, então exec zsh (a fim de obter uma sessão de shell "nova"), o terminal não será limpo ao sair da sessão ssh. Caso contrário, o problema persiste - em qualquer máquina à qual eu me conecte, a tela desaparece ao sair.

Por que vale a pena, eu não pareço ter o mesmo problema quando eu definir o meu shell padrão nas máquinas remotas para bater. Então eu assumo que o problema é com zsh.

Eu verifiquei os arquivos de ponto para ter certeza que eles foram distintos corretamente (eles fizeram). Além disso, estou ficando sem ideias ... por que meu terminal continua sendo limpo ao sair do ssh?

edit: Encontrei a origem do problema: Existe um arquivo /etc/zlogout em muitas das máquinas remotas. Eu não tenho privilégios de sudo em muitas dessas máquinas e não quero afetar globalmente os usuários; Existe uma maneira de substituir a funcionalidade em /etc/zlogout ? Simplesmente criar um arquivo $HOME/.zlogout parece não funcionar.

    
por jayhendren 03.04.2013 / 00:24

1 resposta

3

O Zsh no RHEL 7 se comporta da mesma maneira, ou seja, durante o logout do ssh, o terminal é limpo.

(Dependendo do terminal, a última saída do terminal é perdida ou é apenas rolada para fora da vista.)

Isso ocorre porque /etc/zlogout - que faz parte do pacote zsh - contém:

clear

(não contém outros comandos)

Você pode substituir essa limpeza no seu próprio arquivo .zlogout desativando completamente a leitura de /etc/zlogout durante o logout:

$ cat ~/.zlogout
setopt norcs

Desativar a opção rcs desativa o fornecimento de certos arquivos de controle de execução - provavelmente daí o nome : nenhuma fonte de controle de execução

    
por 18.10.2014 / 22:05

Tags