Compartilhar via


Solução de problemas no Terminal do Windows

Este guia aborda alguns dos erros e obstáculos comuns que você pode encontrar ao usar o Terminal do Windows.

Abrir as configurações não faz nada (ou abre um aplicativo inesperado)

Se você clicar no botão de "configurações" no menu suspenso, o Terminal tentará abrir o arquivo de configurações, settings.json. Isso fará com que o sistema operacional tente e inicie o editor de arquivos .json configurado. Isso pode ser o Visual Studio, o Bloco de Notas ou algum outro aplicativo completamente inesperado. Se não houver um editor .json configurado no seu computador, o sistema operacional eventualmente mostrará a caixa de diálogo "Como você deseja abrir esse arquivo".

Dica

Use também a interface do usuário de configurações para definir as configurações. Você pode aprender a abrir a interface do usuário de configurações na página Ações.

Defina sua distribuição do WSL para começar no diretório inicial ~ quando lançada em versões mais antigas do Terminal do Windows

Por padrão, o startingDirectory de um perfil é %USERPROFILE% (C:\Users\<YourUsername>). Este é um caminho do Windows. Para distribuições do WSL que executam uma nova versão do Terminal do Windows, os sistemas de arquivos podem inserir ~ para definir esse caminho inicial. Em versões mais antigas do Terminal do Windows, você pode usar /home/<Your Ubuntu Username> para se referir diretamente à sua pasta inicial. Por exemplo, a seguinte configuração iniciará a distribuição "Ubuntu-20.04" no caminho de arquivo inicial:

{
    "name": "Ubuntu-20.04",
    "commandline" : "wsl -d Ubuntu-20.04",
    "startingDirectory" : "/home/<Your Ubuntu Username>"
}

Se você estiver usando uma versão anterior do Terminal do Windows, o WSL poderá exigir o uso do prefixo \\wsl$\ ao fazer referência ao caminho inicial de uma distribuição para a configuração startingDirectory. Por exemplo, a seguinte configuração iniciará a distribuição "Ubuntu-18.04" em seu caminho de arquivo inicial:

{
    "name": "Ubuntu-18.04",
    "commandline" : "wsl -d Ubuntu-18.04",
    "startingDirectory" : "//wsl$/Ubuntu-18.04/home/<Your Ubuntu Username>"
}

Importante

Nas versões mais recentes do Windows, o startingDirectory pode aceitar caminhos em estilo Linux.

Como definir o título da guia

Para que o Shell defina automaticamente o título da guia, visite o tutorial de definição do título da guia. Se você quiser definir o próprio título da guia, abra o arquivo settings.json e siga estas etapas:

  1. No perfil da linha de comando de sua escolha, adicione "suppressApplicationTitle": true para suprimir os eventos de alteração de título que são enviados do shell. A adição de apenas essa configuração ao seu perfil definirá o título da guia como o nome do seu perfil.

  2. Se você quiser um título de guia personalizado que não seja o nome do seu perfil, adicione "tabTitle": "TITLE". Substitua "TITLE" pelo seu título de guia preferencial.

Argumentos de linha de comando no PowerShell

Visite a página Argumentos de linha de comando para saber como os argumentos de linha de comando operam no PowerShell.

Argumentos de linha de comando no WSL

Visite a página Argumentos de linha de comando para saber como os argumentos de linha de comando operam no WSL.

Problema ao definir startingDirectory

Se o startingDirectory estiver sendo ignorado em seu perfil, primeiro verifique se a sintaxe está correta no arquivo settings.json. Para ajudar você a verificar essa sintaxe, "$schema": "https://aka.ms/terminal-profiles-schema" é injetado automaticamente. Alguns aplicativos, como o Visual Studio Code, podem usar esse esquema injetado para validar seu arquivo json à medida que você faz edições.

Se suas configurações estiverem corretas, você poderá estar executando um script de inicialização que define o diretório inicial do seu terminal separadamente. Por exemplo, o PowerShell tem seu próprio conceito separado de perfis. Se você estiver alterando o diretório inicial lá, isso terá precedência sobre a configuração definida no Terminal do Windows.

Como alternativa, se você estiver executando um script usando a configuração de perfil commandline, pode ser que você esteja configurando a localização lá. Assim como os perfis do PowerShell, seus comandos têm precedência sobre a configuração de perfil startingDirectory.

A finalidade do startingDirectory é iniciar uma nova instância do Terminal do Windows no diretório especificado. Se o terminal executar um código que altere seu diretório, esse poderá ser um bom lugar para dar uma olhada.

Ctrl + = não aumenta o tamanho da fonte

Se você estiver usando um layout de teclado alemão, poderá encontrar esse problema. Ctrl+= será desserializado como Ctrl+Shift+0 se o layout do teclado principal estiver definido como alemão. Este é o mapeamento correto para teclados com layout alemão.

Mais importante, o aplicativo nunca responde ao pressionamento das teclas Ctrl+Shift+0. Isso ocorre porque Ctrl+Shift+0 é reservado pelo Windows se você tiver vários layouts de teclado ativos.

Se você quiser desabilitar esse recurso para que Ctrl+= funcione corretamente, siga as instruções para "Alterar teclas de atalho para alternar o layout de teclado no Windows 10" nesta postagem no blog.

Altere a opção "Alternar layout de teclado" para "Não atribuído" (ou não associado a Ctrl+Shift), selecione OK e, em seguida, Aplicar. Ctrl+Shift+0 agora deve funcionar como uma associação de chave e é passado para o terminal.

Por outro lado, se você usar esse recurso de teclas de atalho para vários idiomas de entrada, poderá configurar a própria associação de teclas personalizada no arquivo settings.json.

O texto está desfocado

Alguns drivers de vídeo e combinações de hardware não lidam com as regiões de rolagem e/ou sujas sem desfocar os dados do quadro anterior. Para atenuar esse problema, você pode adicionar uma combinação destas configurações de renderização globais para reduzir a sobrecarga colocada no hardware causada pelo renderizador de texto do terminal.

Minhas cores parecem estranhas! Há barras pretas na minha tela!

Importante

Isso se aplica somente à versão 1.2 ou superiores do Terminal do Windows. Se você estiver vendo problemas de cor no Terminal do Windows 1.0 ou 1.1 ou problemas que não estão capturados aqui, registre um bug.

O Terminal do Windows 1.2 e as versões posteriores têm uma compreensão aprimorada de terminadas configurações e cores do aplicativo. Devido a essa compreensão aprimorada, pudemos remover vários blocos de compatibilidade que resultavam em uma experiência de usuário ruim. Infelizmente, há um pequeno número de aplicativos que podem apresentar problemas.

Manteremos esse item de solução de problemas atualizado com a lista de problemas conhecidos e as soluções alternativas.

Linhas pretas no PowerShell (5.1, 6.x, 7.0)

O terminal, quando combinado com a biblioteca de edição de linha do PowerShell PSReadline, pode desenhar linhas pretas na tela. Essas regiões com cores incorretas se estenderão pela tela, além do seu prompt, onde quer que haja parâmetros de comando, cadeias de caracteres ou operadores.

O PSReadline versão 2.0.3 foi lançado e contém uma correção para esse problema. Se você estiver usando a versão de pré-lançamento do PSReadline, observe que uma correção ainda não está disponível.

Para atualizar para a versão mais recente do PSReadline, execute o seguinte comando:

Update-Module PSReadline

Por que meus emojis não aparecem como ícones na lista de atalhos?

Somente imagens vinculadas de um local de arquivo podem ser renderizadas como ícones de perfil na lista de atalhos. Não há suporte para emojis em ícones da lista de atalhos.

Observações técnicas

Os aplicativos que usam a família de APIs GetConsoleScreenBufferInfo para recuperar as cores do console ativo no formato Win32 e tentam transformá-las em sequências de VT multiplataforma (por exemplo, transformando BACKGROUND_RED em \x1b[41m) podem interferir na capacidade do Terminal de detectar qual cor da tela de fundo o aplicativo está tentando usar.

Os desenvolvedores de aplicativos são incentivados a escolher funções de API do Windows ou sequências de VT para ajustar as cores e não tentar misturá-las.

Aviso de serviço de teclado

Do Terminal do Windows 1.5 em diante, o Terminal exibirá um aviso se o "Serviço de Teclado Virtual e Painel de Manuscrito" estiver desabilitado. Esse serviço é necessário para o sistema operacional rotear corretamente os eventos de entrada para o aplicativo do Terminal (bem como para muitos outros aplicativos no Windows). Se você vir esse aviso, poderá seguir estas etapas para reabilitar o serviço:

  1. Na caixa de diálogo de execução, execute services.msc

    services.msc in the run dialog

  2. Localizar o "Serviço de Teclado Virtual e Painel de Manuscrito"

    Touch Keyboard and Handwriting Panel Service in Services.msc

  3. Abra as "Propriedades" para esse serviço

    service properties

  4. Altere o "tipo de inicialização" para "Automático"

    service startup type

  5. Pressione "Ok" e reinicie o computador.

Depois de reiniciar o computador, o serviço deve ser iniciado automaticamente e a caixa de diálogo não deve mais aparecer.

Por que vejo uma intermitência ou um piscamento ao usar uma linha de comando do git bash?

Você pode notar uma intermitência ou um piscamento ao usar uma linha de comando do git bash dentro de Terminal do Windows. Esse comportamento ocorre intencionalmente. O Terminal está obedecendo ao que o git bash está solicitando que ele faça (definindo um estilo de sino como visível, fazendo com que um piscamento seja associado à resposta do sino), mas entendemos que isso pode ser confuso. Para corrigir isso, abra o arquivo .inputrc para o seu git bash com um editor de texto. Esse arquivo provavelmente estará localizado no caminho C:\Program Files\Git\etc. Para abrir com o editor de texto Nano: nano ~/.inputrc

Altere o valor padrão:

# none, visible or audible
set bell-style visible

Defina o estilo de sino como none ou audible para remover o piscamento visível:

set bell-style none

Pressione Ctrl + O e Ctrl + X para Salvar e Sair.

Como fazer para redefinir minhas configurações Terminal do Windows para as configurações padrão?

Para redefinir suas configurações para as configurações padrão originais, exclua o arquivo settings.json. Isso fará com que o Terminal do Windows regenere um arquivo settings.json com as configurações padrão originais.

Importante

A partir da versão 1.10 do Terminal do Windows, você também precisará excluir o arquivo state.json no mesmo diretório que o arquivo settings.json para redefinir totalmente as configurações para os padrões.

Por que a opacidade acrílica não está tornando minha tela de fundo do Terminal do Windows transparente?

Você pode definir a transparência de uma janela de terminal com a propriedade useAcrylic. Há alguns motivos pelos quais sua configuração de opacidade pode não estar funcionando com o acrílico, incluindo:

  • Como uma política em todo o sistema, o acrílico só está habilitado para a janela em primeiro plano. Portanto, se você ativar qualquer outra janela que não seja o Terminal, o acrílico do Terminal será desativado.
  • O acrílico não funcionará se o hardware da GPU não for compatível com ele. Se você estiver executando um aplicativo em uma VM (Máquina Virtual) ou na área de trabalho remota, provavelmente o acrílico não funcionará.
  • O acrílico pode ser desabilitado pelo sistema operacional por vários motivos, como estar no modo de economia de energia (bateria baixa) ou ao acessar um computador usando a Área de Trabalho Remota.

Por que meu ponteiro do mouse desaparece ao passar o mouse sobre uma janela e digitar?

Esse comportamento de ocultação automática do cursor é por design, mas pode ser desabilitado acessando as Configurações do Windows em "Configurações do mouse" > "Configurações Adicionais do Mouse" > "Propriedades do Mouse" > "Opções de Ponteiro" > e desmarcando "Ocultar ponteiro durante a digitação". Talvez seja necessário reiniciar o Terminal do Windows para que essa alteração entre em vigor.