Sem cores ao executar o aplicativo shell nativo do Windows a partir do mintty

2

Instalei o cygwin (não sou muito experiente com ele) e tento executar um aplicativo nativo do shell do Windows a partir dele (msbuild.exe, que é a ferramenta de compilação para o .NET framework, para ser exato).

Quando executo o aplicativo do shell bash normal do cygwin, a saída do aplicativo aparece como deveria com as cores de texto que normalmente veria na linha de comando do Windows.

Mas quando executo o programa a partir de um terminal mintty, não há coloração da saída, todo o texto está na cor de primeiro plano padrão. Estou intrigado, porque eu esperaria que o código de cores fosse os caracteres de escape padrão do código de cores ANSI ...

Isso pode ser corrigido?

    
por Pete 03.09.2010 / 11:15

3 respostas

3

O aplicativo provavelmente usa APIs do console do Windows em vez de seqüências de cores ANSI. O Mintty é um terminal Unix (baseado na implementação de pty do Cygwin) em vez de um wrapper de console do Windows, portanto, essas chamadas de API do console não terão efeito.

Não há atualmente nenhuma maneira de fazer isso funcionar na menta, embora haja várias idéias bastante complexas sobre como o problema poderia ser abordado em link . Enquanto isso, a solução é apenas iniciar o programa em questão em uma janela do console. O utilitário 'cygstart' é uma maneira conveniente de fazer isso.

    
por 03.09.2010 / 18:56
1

Os programas de console nativos do Windows geralmente não funcionam bem dentro dos emuladores de terminal Cygwin, como o mintty. Consulte a documentação do Cygwin para obter uma explicação. Não ver cores é um sintoma possível; um sintoma pior é não conseguir digitar no aplicativo.

Existem programas de consola alternativos que são muito melhores do que a consola incorporada. Minha escolha atual de terminais no Windows é mítica para programas cygwin ou stdio e console2 para programas de console do Windows. O assunto já foi discutido várias vezes neste site: edição avançada de linha de comando para Windows?
link
="https://superuser.com/questions/35636/windows-cmd-replacements"> Substituições "cmd" do Windows
substituição de cmd / powershell livre com pasta de cópia normal

    
por 03.09.2010 / 20:22
0

Você pode usar bash.exe em vez de mintty:

Clique com o botão direito do mouse no atalho do cygwin, altere-o de C: \ cygwin64 \ bin \ mintty.exe -i /Cygwin-Terminal.ico - para C: \ cygwin64 \ bin \ bash.exe --login -i

    
por 06.06.2018 / 15:48

Tags