Por que executar o PowerShell altera a fonte do meu console?

15

Tenho um problema estranho no meu laptop - quando executo o Powershell em uma janela de console existente, a opção de fonte para a janela é alterada.

Por exemplo, este é o cmd.exe imediatamente após abrir a janela: console de comando quando aberto

As fontes, o tamanho da janela e as cores usadas estão corretas - a fonte é Lucida Console aos 16 pt.

Então, eu corro PowerShelle este é o resultado:

insira a descrição da imagem aqui

A fonte foi alterada para "Raster Font" em 12x16 pixels! Outras propriedades da janela - cores, contagem de linhas, contagem de colunas - permanecem inalteradas.

Alguma idéia de por que isso muda?

Nota: ao pesquisar isso - porque a fonte Raster é horrivelmente feia e me incomoda -, encontrei outros relatando problemas ao definir a fonte para a janela do console do PowerShell (como a pergunta " Não é possível alterar a fonte padrão do PowerShell para o Lucida Console "). Embora meu problema seja diferente (desde que estou iniciando o Powershell a partir de uma janela de console existente, não da tela inicial), suspeito que uma solução para uma possa ajudar a outra.

Bevan
fonte
Você pode usar o ConEmu e evitar o problema completamente.
dangph
@ Chrishrively ah, eu não tinha percebido que a resposta só foi publicada hoje. Por alguma razão, pensei que era muito mais antigo. vou remover meu comentário
barlop

Respostas:

2

Eu estava tendo exatamente o mesmo problema e isso estava me deixando louco. Aqui está o que eu fiz para corrigi-lo, espero que funcione para você também:

1.) Enquanto estiver no cmd.exe, execute o comando powershell.

2.) Enquanto estiver no prompt do powershell em cmd.exe, vá para as configurações e altere a fonte para Lucida Console.

3.) Saia do prompt do PowerShell e, enquanto ainda estiver no cmd.exe, vá para as configurações e altere a fonte para Lucida Console.

4.) Como um passo extra, corri start powershelldo cmd.exe e mudei a fonte também.

5.) Sorria agora que meu TOC é capaz de descansar. Agora, quando vou para iniciar-> executar-> cmd.exe e uso o comando powershell, ele permanece no Lucida Console.

Reiniciei o computador e reabri tudo, e até agora parece estar me furando.

Espero que isso ajude você em sua busca =)

Ozzy S
fonte
1
Muito obrigado pela sugestão - mas não fez diferença no meu laptop. :-(
Bevan
1

Este é o FYI, pelo menos no caso de ajudar alguém a uma resolução rápida. Isso pode não responder ao PORQUÊ, mas fornece uma maneira de potencialmente consertar ou consertar o avanço rápido, se necessário.

Vá para o TechNet SetConsoleFont e veja os detalhes lá, siga as instruções abaixo e veja também a seção de recursos abaixo.

É aqui que o módulo SetConsoleFont entra. Antes de poder usar o cmdlet Set-ConsoleFont, é necessário importar o módulo. Primeiro, copie o módulo para um editor local. Observe que, quando copiei o texto, a última linha teve uma quebra de linha indesejada. Verifique se a última linha do módulo está assim:

Export-ModuleMember -Variable _DefaultFont, _hConsoleScreen -Function Set-ConsoleFont, Get-ConsoleFontInfo

Em seguida, você deve armazenar o arquivo na pasta do módulo. Com $ env: PSModulePath em um console do PowerShell, você pode obter uma lista das pastas do módulo. Por exemplo, você pode armazenar o módulo SetConsoleFont na pasta do módulo PowerShell no diretório Documents usando o nome de arquivo SetConsoleFont.psm1, assim:

%USERPROFILE%\Documents\WindowsPowerShell\Modules\SetConsoleFont\SetConsoleFont.psm1

Em seguida, você pode importar o módulo com:

Import-Module SetConsoleFont

Agora você pode obter uma lista das fontes disponíveis e suas dimensões com:

Get-ConsoleFontInfo | Format-Table -AutoSize

Para definir um tamanho de fonte, escolha um número na coluna nFont:

Set-ConsoleFont 8

Para alterar o tamanho da fonte para o padrão, você pode executar o Set-ConsoleFont sem um argumento

RECURSOS

Pimp Juice IT
fonte