Eu corro o OS X 10.7.5. No momento, estou com um problema no Terminal. Eu habilitei a opção para abrir novas abas no diretório de trabalho atual. No entanto, isso não funciona como esperado, quando o caminho do diretório de trabalho atual contém um ou mais umlauts. Por exemplo, estar em um diretório Uni/Semester\ 7/C++/Übung\ 2
e bater Cmd-T
para abrir uma nova aba me coloca no diretório que eu mais recentemente cd
ed para, e. Uni/Semester\ 7/C++
ou alguma coisa. Mesma coisa se eu estiver em um subdiretório de Übung\ 2
.
Outro sintoma (pelo menos parece estar relacionado) é que ao sair do Terminal enquanto em um diretório contendo umlauts, na reabertura ele irá iniciar no meu diretório home, nem mesmo no pai mais próximo sem os umlauts como no novo caso de tabulação.
Eu li que algumas pessoas têm problemas com o preenchimento automático de Tab e os tremas. Eu não, funciona muito bem, e eu não sei se isso está relacionado.
Configuração-sábio, eu defino a opção Comece em Preferências & gt; Configurações & gt; Concha para /opt/local/bin/bash -l
(porque a versão bash pré-instalada está desatualizada, remover isso não fez diferença no comportamento). A opção Conchas abertas com nas preferências é definido como padrão, eu não sei se isso é relevante.
Agora, a pergunta: Alguém sabe como fazer com que o Terminal funcione com umlauts, de modo que nem sempre eu precise renavegar para o meu diretório de trabalho ao abrir uma nova guia? Parece estranho para mim que eu deveria ser o primeiro a ter esse problema, eu não consegui google nada.
EDITAR : Eu agora atualizei para o Yosemite. O problema persiste. Eu não posso acreditar que ninguém mais tenha esse problema. Eu também entrei como usuário convidado para obter as configurações padrão e acontece a mesma coisa.
/etc/bashrc
então isso não parece ser o problema.Respostas:
Antes do OS X El Capitan 10.11, o código em
/etc/bashrc
organiza para enviar uma seqüência de escape em cada prompt para informar ao Terminal qual é o diretório de trabalho atual, mas esse código codifica apenas os espaços, o que significa que não funciona com caracteres que não sejam caracteres de URL válidos, o que inclui Caracteres ASCII como “Ü”:No 10.11 e posterior, o código foi movido para
/etc/bashrc_Apple_Terminal
e foi atualizado para codificar por cento todos os caracteres que o exigem, para que ele possa agora trabalhar com caracteres como "Ü" (o seu exemplo funciona para mim no 10.11.1):[O iTerm 2 aparentemente lê o diretório de trabalho do estado do processo do shell. Isto tem a vantagem de funcionar sem qualquer configuração de shell; no entanto, não é garantido que esteja correto (não há nenhuma razão para o diretório de trabalho atual de um shell ter realmente que corresponder ao cwd que ele usa ao executar um comando, a qualquer momento), ele não funciona através de conexões indiretas como
ssh
ou shells sendo executados em editores ou multiplexadores de tela, e ele não pode ler o diretório de processos pertencentes a outros usuários - por exemplo, se você usarsudo -s
para criar um shell de root, ele não pode ler o diretório de trabalho do processo do shell de root. Além disso, o estado do programa inclui apenas um descritor de arquivo para o diretório aberto, não o caminho que o shell está usando para$PWD
, portanto, você não obterá o caminho usado para navegar até o diretório atual em alguns casos, por exemplo, se você atravessar um link simbólico.fonte
O que acabou resolvendo meu problema é simplesmente não usar Terminal e mudar para iTerm . Tem tudo o que o Terminal tem, exceto os bugs e a atualização mais recente corrigiu alguns aborrecimentos com o Yosemite. Até agora, não vi razão para escolher o Terminal sobre o iTerm.
fonte