1

.bash_profile在我的 Mac OS X 上定义了如下着色:

# ls color alias
alias ls='ls -G'

# Colours
export CLICOLOR=1
export LSCOLORS=GxFxCxDxBxegedabagaced
BLACK="\[\033[0;30m\]"
DARK_GRAY="\[\033[1;30m\]"
LIGHT_GRAY="\[\033[0;37m\]"
WHITE="\[\033[0;37m\]"
RED="\[\033[0;31m\]"
RED_BOLD="\[\033[1;31m\]"
YELLOW="\[\033[0;33m\]"
YELLOW_BOLD="\[\033[1;33m\]"
GREEN="\[\033[0;32m\]"
GREEN_BOLD="\[\033[1;32m\]"
BLUE="\[\033[0;34m\]"
BLUE_BOLD="\[\033[1;34m\]"
CYAN="\[\033[0;36m\]"
CYAN_BOLD="\[\033[1;36m\]"
PURPLE="\[\033[0;35m\]"
PURPLE_BOLD="\[\033[1;35m\]"
BROWN="\[\033[0;33m\]"

# Terminal colours
export CLICOLOR=1
export XTERM=xterm-color
export LSCOLORS=BxFxCxDxGxegedabagacad

我还注意到,当我使用 GNU-Screen(总是如此)时,颜色非常不同。红色变成黄色,橙色变成黄色,引号之间的任何东西都从紫色变成绿色。这似乎发生在 Emacs 中,主要是因为 Emacs 显示各种不同的颜色。

我还有一个 ps1 提示符,它还显示了我git在目录中的当前分支。这不会改变它的颜色。

我的第一个问题是,这些颜色在哪里定义?GNU-Screen 为什么以及如何改变颜色?为我的终端着色的最佳方法是什么?

我的第二个问题是,当我将我.bash_profile的 Mac OS X 复制到我通过 SSH 连接的 CentOS 服务器时,颜色不一样。Mac 是否使用与 CentOS 不同的颜色代码?如果是这样,我怎样才能标准化我的两种颜色?

4

1 回答 1

1

您的本机终端仿真和屏幕认为它可能在支持的颜色数量上不一致。

  • TERM启动前后的值是screen多少?

  • 两种情况的输出是tput colors什么?

为服务器和 Max OS 终端报告这些。


感谢您报告。服务器假定支持的颜色多于 OSX 终端物理支持的颜色。

尝试用 否决 CentOS 上的 TERM TERM=xterm-color,或从 linux 上的 rc 文件/配置文件中删除任何 TERM 设置,并让操作系统从 ssh 中获取正确的值。

于 2012-08-06T16:26:08.170 回答