O ponto de interrogação (e os itens de menu pop-up desabilitados) indicam que o Terminal acha que o diretório ativo está em um computador remoto e, portanto, não é possível navegar até ele no Finder usando o menu pop-up. Se você olhar o último item no menu pop-up (clique com o comando no ícone "proxy"), verá o computador / host em que o Terminal acha que o diretório ativo está. Você deve achar que esse não é o nome atual do computador.
Se você estiver usando o bash (o shell padrão no macOS), por padrão, ele envia uma sequência de controle ao terminal a cada prompt para informar ao Terminal o diretório de trabalho atual. Como as seqüências de controle podem vir de computadores locais ou remotos, ele envia uma URL do esquema "file:" incluindo o nome do host e o Terminal verifica se o nome é mapeado para a máquina atual. Caso contrário, o Terminal desativa os itens de menu pop-up do caminho, porque eles não correspondem aos diretórios locais.
Você pode ver o código que envia a sequência de controle /etc/bashrc_Apple_Terminal
(ou /etc/bashrc
nas versões anteriores do macOS).
[Observe que, se você não estiver usando o bash, ou o tiver customizado para que o comportamento padrão não ocorra, mas seu shell (ou outro programa em execução) está enviando sequências de controle para definir a janela ou a guia ( ícone), o Terminal examinará para ver se contém o que parece um nome de caminho e, em seguida, verifica se isso corresponde a um nome de caminho local válido. Caso contrário, ele não exibirá o ícone de proxy da janela.]
Um cenário em que o Terminal pode falhar ao reconhecer que a URL “file:” está no host atual é se você alterar a configuração da rede enquanto um shell estiver em execução. Um caso comum é colocar um computador portátil em suspensão e mudar para outro local e depois ativá-lo. O nome e o endereço do host local serão alterados, mas a $HOSTNAME
variável de ambiente do shell ainda possui o nome do host antigo, e é isso que ele envia na sequência de controle. Para corrigir isso, atualize a variável de ambiente com:
HOSTNAME=$(hostname)
Outro cenário é onde você sai do Terminal, altera as configurações de rede e abre o Terminal com o resumo ativado. O Terminal restaurará as janelas e as guias, juntamente com o último URL do diretório de trabalho que foi enviado. Se você se deparar com esse caso, $HOSTNAME
estará atualizado - desde que ele inicia um novo shell - mas o Terminal ainda pode ter um URL antigo até que o shell o atualize novamente. Se a exibição do prompt de comando não resolver o problema, tente alterar os diretórios cd
para que o shell o atualize.