执行脚本时,我的 Antergos 终端不显示任何颜色。我有一个全新的安装,没有任何调整。我有 zsh 和 oh-my-zsh,但配置是默认的。
可选文本:
➜ ~ 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)
==> ---------------------------------------------------------------------------
==>
我尝试自定义配置文件,但没有成功,我在笔记本电脑上尝试使用相同的 ISO 进行全新安装,没有出现任何问题,但我不想在这台计算机上重新安装 Antergos。
tput colors
输出256
答案1
该问题似乎已得到解决,但原因是对TERM
环境变量等于 的硬编码检查xterm
。如果(如问题中所示)您有xterm-256color
,那么检查将失败。
您可以看到差异之一,它是解决此问题的更改的一部分git 存储库,在这块删除的行中:
- /** - * 返回我们是否是一个终端并具有颜色功能 - * - * @return 布尔值 - */ - 私有函数 isColorTerminal() - { - if (function_exists('posix_isatty')) { - $结果 = posix_isatty(STDOUT); - } 别的 { - // 查看 STDOUT 是否为字符设备 (S_IFCHR) - $stat = fstat(STDOUT); - $结果 = ($stat['模式'] & 0170000) === 0020000; - } - - if (已定义('PHP_WINDOWS_VERSION_BUILD') && $结果) { - $结果 = false !== getenv('ANSICON') - || 'ON' === getenv('ConEmuANSI') - || 'xterm' === getenv('TERM'); - } - - 返回$结果; - } -