Às vezes, uma tela do terminal fica desarrumada e, quando usamos man ls
as páginas de manual, ou pressione a seta para cima para acessar os comandos anteriores da história, a tela mostrará os caracteres que não estão no lugar certo. (por exemplo, trate o final da tela como em algum lugar no meio da tela).
O comando reset
é tentado e não funcionaria. Uma maneira que funciona é sair ou fechar a janela e redimensioná-la primeiro e, em seguida, fazer ssh
(ou fechar essa guia e redimensionar a janela e abrir uma nova guia para obter um novo shell).
Mas, dessa forma, perderemos tudo o que fizemos anteriormente, como iniciar um console de máquina virtual etc. Então, se não fecharmos o shell, existe uma maneira de corrigir esse problema?
(isso aconteceu antes dentro do Fedora e também para um Macbook ssh
na caixa RHEL 5.4).
Atualização: Lembro-me agora de como aconteceu no Fedora: abri um terminal e fiz um FreeVM para usar o console de uma máquina virtual (shell). Eu acho que era tamanho 80 x 25 e depois de um tempo, redimensionei o Terminal para 130 x 50 aproximadamente e, em seguida, o "shell interno" (da VM) começou a se comportar de maneira estranha).
reset
não resolver o problema.^Jreset^J
, onde^J
significa pressionarctrl-J
. Ou (em terminais gráficos), você pode tentar oReset
botão. Além disso, alguns programas simplesmente não estão preparados para alterar os tamanhos dos terminais sob eles (sim, o software antigo está ativo e funcionando) ou apenas se comportam mal quando o terminal fica muito pequeno.Respostas:
Se você estiver usando o bash, verifique se a opção "checkwinsize" está ativada na sua sessão usando
Se você não receber
depois ative-o com
A documentação do Bash diz para o atributo "checkwinsize":
Se você gosta da configuração, pode ativar
checkwinsize
no seu~/.bashrc
.shopt -s checkwinsize
shopt -u checkwinsize
fonte
Você pode tentar Ctrl+ L. Limpa e / ou redesenha a tela do terminal, dependendo do programa.
fonte
adicionar essas opções ao docker exec parecia resolver meu problema
fonte
Eu tive o mesmo problema e nenhuma das receitas acima funcionou para mim porque acredito que meu bash nunca recebe os
SIGWINCH
sinais, que são capturados pelo processo pai.Finalmente encontrei uma solução. Eu adicionei ao meu
.bashrc
:Agora, toda vez que recebo um novo prompt, minha janela é reajustada.
Agradecemos a UKmonkey pela melhoria de PROMPT_COMMAND.
fonte
export PROMPT_COMMAND="resize &>/dev/null; $PROMPT_COMMAND"
para que o velho prompt de comando, o que quer que o meu ser será preservadaEu só queria acrescentar o que Arcadien já havia mencionado. A ativação do tamanho do tamanho de verificação faz o truque, mas, para mim, era necessário redefinir o tamanho da janela para que funcionasse corretamente. Eu acho que o tamanho do cheque foi feito para eliminar isso, mas ainda assim, vale a pena tentar. Apenas tente alterar o tamanho da janela ou não maximizá-lo e maximizá-lo postar esta opção.
fonte
De vez em quando, enfrento o mesmo problema usando o zsh no macOS. Uma simples chamada de
reset
comando configura o terminal ao meu gosto novamente.fonte
reset
não estava trabalhando para eles, e isso foi de fato o ponto da questão ....reset
trabalhei nesse caso. Adicionei esta resposta para ajudar qualquer pessoa que enfrenta o mesmo problema em um MacOS e não esteja ciente doreset
comando.reset
funciona no Windows Putty com Ubuntu 16.04!Eu tive o mesmo problema que você e foi o que fiz:
tenho uma
.profile
configuração no meu usuário, e é aí que faço todas as minhas alterações.Existe um pacote chamado
xterm
que está disponível através do qualapt-get
eu não conheçoyum
. Mas fiz uma instalação local a partir da fonte, pois não tenho privilégios de instalação. LINK: http://invisible-island.net/xterm/#downloadEu exportei o caminho no meu perfil e o invoquei no mesmo local
Então agora, toda vez que eu faço login, o tamanho do terminal é definido de acordo com o redimensionamento.
fonte
Bem, isso é um problema comum e deve haver uma solução simples.
Se outras medidas como Ctrl + A Ctrl + L não funcionarem, tente usar
stty
:Ou: saia da tela (Ctrl + AD para desanexar) e efetue logout da sua sessão SSH.
stty -a | grep rows
: Obtenha o número de linhas e colunas.Exemplo:
speed 38400 baud; rows 33; columns 133; line = 0;
stty
saída deve ser diferente.Exemplo:
speed 38400 baud; rows 47; columns 177; line = 0;
stty rows N
estty columns N
onde N é o número "real" (fora da tela). Exemplo:$ stty rows 33; stty columns 133
Se você usa o Terminator , pode pular as três primeiras etapas, pois mostra o número de colunas e linhas na parte superior.
Você não precisa redimensionar a janela do seu terminal para encontrar isso. Os administradores geralmente fazem login em computadores diferentes e, quando os monitores conectados diferem em tamanho (resolução), uma janela maximizada terá um tamanho diferente em cada computador. Na verdade, é bastante difícil não encontrar isso com frequência.
E o resultado não é apenas que algumas páginas de manual não estão aparecendo corretamente. É praticamente qualquer coisa que usa um pager - as primeiras linhas geralmente estão ausentes (por exemplo). E nem pense em usar o VIM em um terminal tão desalinhado. Você deseja destacar a linha 3 (V) para substituí-la, mas quando o fizer, o texto destacado será o de outra linha.
fonte
Tente
stty sane
. deve fazer o que você precisa.fonte