O terminal não imprime cores

0

Meu terminal Antergos não mostra nenhuma cor ao executar scripts. Eu tenho uma nova instalação, sem ajustes. Eu tenho zsh e oh-my-zsh, mas as configurações são as padrão.

Vocêpodeverquetodaasaídaébranca,deveestarcolorida:

Issoacontecequandoeuinstaloprogramas,espaçosembrancosãotexto:

Texto selecionável:

➜  ~  yaourt gnome-terminal 
1 extra/gnome-terminal 3.18.2-1 (gnome) [installed]
    The GNOME Terminal Emulator
2 aur/gnome-terminal-dark-variant 3.18.2-1 (10)
    The GNOME Terminal Emulator - Patched to bring back 'Use dark theme variant' option in preferences
3 aur/gnome-terminal-fedora 3.18.2-1 (31)
    The GNOME Terminal Emulator with Fedora patches
4 aur/gnome-terminal-git 3.15.91.5228.e5f7763-1 (2)
    The GNOME Terminal Emulator. Git Version
5 aur/neovim-gnome-terminal-wrapper 2-3 (0)
    A wrapper for running neovim in a separate instance of gnome-terminal
==> Introduzca el número de los paquetes desea instalar (ejemplos: 1 2 3 ó 1-3)
==> ---------------------------------------------------------------------------
==> 

Eu tentei personalizar os perfis, sem sucesso, eu tentei uma nova instalação com o mesmo ISO no meu laptop sem problemas, mas eu não quero reinstalar o Antergos nesta máquina.

tput colors outputs 256

    
por Axel A. García 25.11.2015 / 17:34

1 resposta

1

O problema parece ter sido corrigido, mas a causa foi uma verificação codificada para a variável de ambiente TERM igual a xterm . Se (como indicado na pergunta) você tiver xterm-256color , a verificação falhará.

Você pode ver uma das diferenças que fazem parte da alteração para corrigir esse problema no repositório git , neste pedaço de linhas excluídas:

-    /**
-     * Returns whether we are a terminal and have colour capabilities
-     *
-     * @return bool
-     */
-    private function isColorTerminal()
-    {
-        if (function_exists('posix_isatty')) {
-            $result = posix_isatty(STDOUT);
-        } else {
-            // See if STDOUT is a character device (S_IFCHR)
-            $stat = fstat(STDOUT);
-            $result = ($stat['mode'] & 0170000) === 0020000;
-        }
-
-        if (defined('PHP_WINDOWS_VERSION_BUILD') && $result) {
-            $result = false !== getenv('ANSICON')
-            || 'ON' === getenv('ConEmuANSI')
-            || 'xterm' === getenv('TERM');
-        }
-
-        return $result;
-    }
-
    
por 13.10.2016 / 03:34