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ê selecionar o botão de configurações na lista suspensa, o Terminal tentará abrir o arquivo settings.jsonde configurações. Essa ação faz com que o sistema operacional inicie o editor de arquivos configurado .json . Esse editor pode ser o Visual Studio, o Bloco de Notas ou algum outro aplicativo inesperado. Se o seu computador não tiver um .json editor configurado, o sistema operacional possivelmente mostrará a caixa de diálogo 'Como você deseja abrir este arquivo'.

Dica

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

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

Por padrão, o startingDirectory de um perfil é %USERPROFILE% (C:\Users\<YourUsername>). Esse caminho é um caminho do Windows. Para distribuições WSL que executam uma nova versão do Terminal do Windows, os sistemas de arquivos podem inserir ~ para especificar 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 inicia a distribuição "Ubuntu-20.04" em seu caminho de arquivo inicial:

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

Se você estiver utilizando uma versão bem antiga do Terminal do Windows, o WSL pode exigir o uso do \\wsl$\ prefixo ao se referir ao caminho do diretório inicial de uma distribuição para a configuração de startingDirectory. Por exemplo, a seguinte configuração inicia 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

Em versões mais recentes do Windows, startingDirectory pode aceitar caminhos no estilo Linux.

Definindo o título da aba

Para que o shell defina automaticamente o título da guia, visite o tutorial definir o título da guia. Se você quiser definir seu próprio título de guia, abra o settings.json e siga estas etapas:

  1. No perfil da linha de comando de sua escolha, adicione "suppressApplicationTitle": true para suprimir todos os eventos de alteração de título enviados pelo shell. Adicionar somente essa configuração ao seu perfil define 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 título da guia preferencial.

Argumentos de linha de comando no PowerShell

Para saber como funcionam os argumentos de linha de comando no PowerShell, consulte a página de argumentos de linha de comando.

Argumentos de linha de comando no WSL

Para saber como os argumentos de linha de comando funcionam no WSL, consulte a página de argumentos de linha de comando.

Configuração do problema startingDirectory

Se o perfil ignorar a configuração startingDirectory, primeiro verifique a sintaxe no arquivo settings.json. Para ajudá-lo a verificar essa sintaxe, "$schema": "https://aka.ms/terminal-profiles-schema" é injetado automaticamente. Alguns aplicativos, como o Visual Studio Code, usam esse esquema injetado para validar o arquivo JSON à medida que você faz edições.

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

Como alternativa, se você executar um script usando a configuração do perfil commandline, poderá definir a localização nesse script. Semelhante aos perfis do PowerShell, seus comandos no script têm precedência sobre a configuração do startingDirectory perfil.

A finalidade startingDirectory é iniciar uma nova instância do Terminal do Windows no diretório especificado. Se o terminal executar qualquer código que altere seu diretório, verifique esse código.

Ctrl+= não aumenta o tamanho da fonte

Se você usar 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. Esse mapeamento está correto para teclados alemães.

Mais importante, o aplicativo nunca recebe o pressionamento de tecla Ctrl+Shift+0 . Esse problema ocorre porque o Windows reserva Ctrl+Shift+0 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 do teclado no Windows 10" nesta postagem.

Altere a opção "Alternar Layout de Teclado" para "Não Atribuído" (ou desativado de Ctrl+Shift), selecione OK e, em seguida, Aplicar. Ctrl+Shift+0 agora deve funcionar como uma associação de chave e é passada para o terminal.

Por outro lado, se você usar esse recurso de atalho de teclado para diferentes idiomas de entrada, poderá configurar sua própria associação de tecla personalizada em seu arquivo settings.json.

O texto está desfocado

Alguns drivers de vídeo e configurações de hardware não lidam bem com a rolagem e as regiões sujas sem causar desfoque nos dados do quadro anterior. Para atenuar esse problema, adicione uma combinação dessas configurações de renderização global para reduzir a tensão colocada em seu hardware causada pelo renderizador de texto do terminal.

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

Importante

Esse problema se aplica somente à versão 1.2+ do Terminal do Windows. Se você vir problemas de cor no Terminal do Windows 1.0 ou 1.1 ou problemas que não são capturados aqui, registre um bug.

O Windows Terminal 1.2 e versões posteriores têm uma compreensão aprimorada de determinadas configurações de cor do aplicativo. Devido a essa compreensão aprimorada, removemos vários blocos de compatibilidade que resultaram em uma experiência ruim do usuário. Infelizmente, um pequeno número de aplicativos pode enfrentar problemas.

Mantemos esse item de solução de problemas up-to-date com a lista de problemas conhecidos e suas soluções alternativas.

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

O terminal, quando associado ao PSReadline da biblioteca de edição de linhas do PowerShell, pode desenhar linhas pretas na tela. Essas regiões descoloridas se estendem pela tela além do prompt onde quer que haja parâmetros de comando, cadeias de caracteres ou operadores.

O PSReadline versão 2.0.3 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 saltos?

Somente imagens ligadas a um local de arquivo podem ser exibidas como ícones de perfil na lista de saltos. O jumplist não dá suporte a emojis para ícones.

Observações técnicas

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

Escolha as funções de API do Windows ou as sequências de VT para ajustar as cores. Não misture.

Aviso de serviço de teclado

A partir do Terminal do Windows 1.5, o Terminal exibirá um aviso se o "Touch Keyboard and Handwriting Panel Service" estiver desabilitado. O sistema operacional precisa desse serviço para rotear corretamente eventos de entrada para o aplicativo Terminal (assim como muitos outros aplicativos no Windows). Se você vir este aviso, siga estas etapas para ativar novamente o serviço:

  1. Na caixa de diálogo Executar, execute services.msc

    services.msc na caixa de diálogo de execução

  2. Localize o "Serviço de Teclado Virtual e Painel de Escrita Manual"

    Serviço de Teclado Touch e Painel de Escrita em Services.msc

  3. Abra as "Propriedades" do serviço

    propriedades do serviço

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

    tipo de inicialização de serviço

  5. Selecione Ok e reinicie o computador.

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

Por que vejo piscar ou piscar ao usar uma linha de comando do Git Bash?

Você pode notar piscando ou tremeluzindo ao usar uma janela de comando do Git Bash dentro do Terminal do Windows. Esse comportamento é, na verdade, por design. O Terminal obedece ao que o Git Bash lhe diz para fazer (configurando bell-style para visible, causando um flash para associar à resposta do sino), mas esse comportamento pode ser perturbador. Para corrigir esse problema, abra o .inputrc arquivo do Git Bash com um editor de texto. Esse arquivo provavelmente está localizado no caminho C:\Program Files\Git\etc. Para abrir o arquivo com o editor de texto nano, use o comando: nano ~/.inputrc.

Altere o padrão:

# none, visible or audible
set bell-style visible

Defina o bell-style como none ou audible para remover o flash visível.

set bell-style none

Pressione Ctrl + O e Ctrl + X para salvar e sair.

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

Para redefinir suas configurações de volta para as configurações padrão originais, exclua o arquivosettings.json. Essa ação faz com que o Terminal do Windows regenere um settings.json arquivo com as configurações padrão originais.

Importante

A partir do Terminal do Windows versão 1.10 ou superior, você também precisa excluir o state.json arquivo no mesmo diretório que o settings.json arquivo 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 useAcrylic propriedade. Há alguns motivos pelos quais sua configuração de opacidade pode não funcionar para o Acrílico, incluindo:

  • Como uma política de todo o sistema, o acrílico só está habilitado para a janela em primeiro plano. Se você selecionar qualquer outra janela que não seja o Terminal, o acrílico do Terminal será desativado.
  • A funcionalidade do Acrylic não funcionará se o hardware da GPU não oferecer suporte a ela. Se você estiver executando um aplicativo em uma VM (máquina virtual) ou em área de trabalho remota, provavelmente o acrílico não funcionará.
  • O sistema operacional desabilita o acrílico 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 quando passo o mouse sobre uma janela e digito?

Esse comportamento de ocultação automática do cursor é por design, mas você pode desabilitá-lo. Pesquise nas Configurações do Windows por Configurações do Mouse>Configurações Adicionais do Mouse>Propriedades do Mouse>Opções de Ponteiro> e desmarque Ocultar ponteiro durante a digitação. Talvez seja necessário reiniciar o Terminal do Windows para que essa alteração entre em vigor.