xterm终端中的颜色列表

时间:2015-08-26 00:54:09

标签: linux bash terminal debian xterm

我安装了一个最小的debian,我试图自己设置所有内容,所以我试图通过给它一些颜色来调整我的默认终端Xterm,经过一些研究我发现这可以通过编辑.Xresources文件,所以我可以给出Hexa代码中的前16种颜色(#numbers)或编辑.bashrc文件。 经过一些研究似乎第二个解决方案更具动态性,因为我可以通过扩展指定文件的颜色,问题是网上的所有文章都使用了非常奇怪的颜色代码:

.gz  01;31
.bz2 01;31
.deb 07;31
.rpm 01;31
.jar 01;31

我想知道是否有使用RGB代码颜色或hexa颜色的方法,因此我可以更灵活地使用目录和文件列表。

2 个答案:

答案 0 :(得分:1)

对不起,您无法使用RBG颜色代码(或HSV或HCL)。您可以找到以下文档:

$ man 5 dir_colors

答案 1 :(得分:1)

AFAIK,没有RGB支持,终端模拟器仅限于显示一组有限的颜色(如果我没有弄错的话,前景和背景有64种组合的调色板)。如果易用性与您有关,您可以随时为预定义颜色声明几个变量,例如:

readonly BLACK_FONT_BLACK_BACKGROUND='30;40'     
readonly BLACK_FONT_RED_BACKGROUND='30;41'       
readonly BLACK_FONT_GREEN_BACKGROUND='30;42'     
readonly BLACK_FONT_YELLOW_BACKGROUND='30;43'
...
readonly WHITE_FONT_CYAN_BACKGROUND='37;46'
readonly WHITE_FONT_WHITE_BACKGROUND='37;47'

稍后使用它们:

.gz  $BLACK_FONT_YELLOW_BACKGROUND

以下是包含前景和背景颜色代码的表格:

  Color   Foreground   Background
  -------------------------------
  black       30           40
  red         31           41
  green       32           42
  yellow      33           43
  blue        34           44
  magenta     35           45
  cyan        36           46
  white       37           47
  -------------------------------

如果手动生成所有颜色名称变量太繁琐,可以使用以下python脚本:

 colors = ['black', 'red', 'green', 'yellow', 'blue', 'magenta', 'cyan', 'white']; 
 index = 0
 for x in ["{0}_FONT_{1}_BACKGROUND='{2};{3}'".format(colors[i].upper(), colors[j].upper(), i + 30, j + 40) for i in xrange(0, 8) for j in xrange(0, 8)]: 
     print x.ljust(38) + "#" + str(index) 
     index += 1