为什么 htop 不只为我的本地计算机显示颜色?

cod*_*ply 5 terminal bash zsh colors htop

TL;DR: macOS 11.0.1 上的 htop 3.0.4 在本地计算机上运行时不显示颜色,但如果通过 ssh 进入远程系统,从那里运行 htop 会毫无问题地显示颜色。


我在 macOS 11.0.1 上使用 htop 3.0.4 时遇到了一些奇怪的问题。应用程序本身的颜色根本不显示:

应用程序本身的颜色根本不显示

在 htop 设置中,“颜色”选项设置为“默认”:

“颜色”选项设置为“默认”

但是,退出 htop 可以在我常用的终端提示符和其他应用程序中正确显示颜色。此外,如果我通过 ssh 进入远程系统并通过同一终端会话使用 htop,颜色显示完全正常:

颜色在远程系统中显示得很好

问题在 iTerm 2 和终端中都可以重现,并且仅在此本地系统上使用 zsh 和 bash。$TERM=xterm-256color

msgcat在 iTerm 2 中运行了颜色测试,一切似乎都按顺序进行:

msgcat --颜色测试

我尝试通过自制软件重新注入 htop 包,但没有得到不同的结果。我检查了 htop GitHub,没有看到任何与此问题相关的错误,因此我首先假设我的本地计算机出现问题,在此询问。

为什么 htop 不只为我的本地计算机显示颜色?

小智 10

就我而言TERM=xterm htop有效