TAB terminon e mc problemas

4
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=8.10
DISTRIB_CODENAME=intrepid
DISTRIB_DESCRIPTION="Ubuntu 8.10"

Esta é a versão do servidor.

Quando eu ssh para ele, eu encontro os seguintes problemas:

Problema 1

A conclusão da tabulação

comporta-se de forma esquisita ao ponto de ficar inutilizável:

> cd ~/<press TAB>
-sh: <( compgen -d -- '/home/dmitriid/' ): No such file or directory

> vi ~/.<press TAB>
<( compgen -d -- '/home/dmitriid/.' ): No such file or directory
-sh: <( eval compgen -f -X '*.@(o|so|so.!(conf)|a|rpm|gif|GIF|jp?(e)g|
JP?(E)G|mp3|MP3|mp?(e)g|MPG|avi|AVI|asf|ASF|ogg|OGG|class|CLASS)' -- 
$(quote_readline $cur) ): No such file or directory

> nano ~/.<press TAB>
./              .bash_logout    .mc/            .viminfo
../             .bashrc         .mysql_history  
.aptitude/      .erlang.cookie  .profile        
.bash_history   .gitconfig      .ssh/

Existe uma maneira de corrigir isso?

Problema 2

Eu uso muito o mc. Eu costumo fazer um Ctrl + O para esconder painéis e trabalhar no shell. No meu caso:

  1. Ctrl + O oculta painéis
  2. Qualquer pressionamento de tecla traz os painéis de volta

Existe uma maneira de corrigir isso também?

Obrigado!

    
por Mamut 29.07.2009 / 15:32

4 respostas

3

Ok. Acontece que a solução foi burra e simples. A chave era - sem shell interativo no mc.

A resposta está aqui: link

6.6 When I use Ctrl-O I don't get a subshell. How do I fix this?

Only bash, tcsh and zsh can be used as subshell. Use one of those shells as your default shell, and it will be used as subshell in GNU Midnight Commander.

Então eu decidi mudar o shell:

> which bash
/bin/bash
> sudo chsh -s /bin/bash my_user_name
> grep ^my_user_name /etc/password
my_user_name:x:1002:1002::/home/my_user_name:/bin/bash

Note / bin / bash no final do arquivo passwd. Isso significa que o shell agora foi alterado.

Depois que eu fiz o logout e depois entrei novamente - voila, tudo funciona!

    
por 01.08.2009 / 22:38
0

Parece que há algo errado com o seu diretório pessoal. Você pode fazer um ls ~ e nos dizer o que está acontecendo?

    
por 29.07.2009 / 17:28
0

Você .bashrc está obtendo /etc/bash_completion quem usa compgen vai gerar conclusão para vários comandos conhecidos (como cd e vi ) mas não para nano .

Por algum motivo, compgen tem um problema ao preencher arquivos e diretórios em sua pasta pessoal. Uma opção rápida para corrigir isso é comentar as seguintes linhas no seu .bashrc .

if [ -f /etc/bash_completion ]; then
    . /etc/bash_completion
 fi
    
por 30.07.2009 / 16:12
0

O motivo do primeiro problema é que você usa / bin / sh como shell. Mesmo quando isso está ligado ao bash, a conclusão não funciona.

Mude seu shell para bash: chsh -s / bin / bash e relogina.

    
por 11.08.2009 / 13:18