Eu recentemente instalei uma máquina de 64 bits do Ubuntu 12.04. Eu uso tmux com muitas janelas abertas, todas elas usam zsh como shell, algumas delas através de um ambiente chroot que usa a mesma pasta home do ambiente normal.
Depois de algum tempo fazendo comandos aleatórios nos shells (todos os tipos, mas principalmente operações de arquivo, vi, comandos build / make dentro e fora do ambiente chroot), cada shell começa mostrando imediatamente alguns comandos pré-compilados do histórico passado, que eu preciso remover, por exemplo, com Ctrl-Q, antes que eu possa digitar qualquer coisa ou pesquisar meu histórico anterior.
O fato mais irritante é que, se eu digitar por engano todos os caracteres que estiverem comandando o comando pré-compilado, exclua a linha e digite meu próprio comando, no próximo prompt também receberei os caracteres extras. Esta entrada modificada cresce e cresce, sem nunca aparecer no arquivo do histórico do zsh.
Se eu deletar o arquivo .zsh_history, ou criar um novo shell, o problema é resolvido por um tempo muito curto e então inexoravelmente volta para me assombrar depois de um tempo (alguns minutos de uso do shell).
Este é um exemplo do meu prompt depois de algum tempo, voltando ao shell do meu comando anterior:
[10:59:14] user:Build git:(master*) $ schroot -c full32 -- antls -l
Note que o prompt deve terminar obviamente em $, e o que segue ant
é algum lixo que eu digitei por engano antes de apagar a linha com Ctrl-Q em uma ocorrência anterior.
Para o contexto, estou usando oh-my-zsh com o tema geoffgarside e o plug-in gitfast . Para o chroot, estou usando o schroot com a seguinte configuração:
[precise-full32]
description=Full 32bits dev environment
aliases=full32
type=directory
directory=/opt/chroot/full32
users=user
root-groups=root
personality=linux
preserve-environment=true
Estou atento e não encontrei nenhum problema como este descrito aqui ou em outro lugar. Alguma pista sobre o que pode estar causando esse comportamento irritante?