2015-08-26 4 views
0

Я установил минимальный debian, и я пытаюсь настроить все самостоятельно, поэтому я пытаюсь настроить мой терминал Xterm по умолчанию, предоставив ему несколько цветов. После некоторых исследований я обнаружил, что это может быть либо путем редактирования файла .Xresources, поэтому я могу дать первые 16 цветов в коде Hexa (#number) или отредактировать файл .bashrc. После некоторых исследований кажется, что второе решение является более динамичным, потому что я могу определить цвета файлов по расширениям, проблема в том, что все статьи на чистое использование цвета кода очень странно:Цветной лист в терминале xterm

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

Я хочу знать, есть ли способ использовать цвет кода RGB или цвет гекса, чтобы у меня была больше гибкости с моими каталогами и файлами.

ответ

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 
    ------------------------------- 

Если генерируя все переменные цвета имена вручную слишком утомительно, вы можете использовать следующий скрипт питона:

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 
+0

Спасибо, сэр! могу ли я объединить использование файла .Xresource и .bashrc для какого-то специального расширения? – Habchi

+0

Вы имеете в виду создание нового специального файла и включая файлы '.Xresource' и' .bashrc'? Да, вы можете включить их в любой скрипт, набрав 'source ~/.bashrc' – higuaro

+0

Я имел в виду, могу ли я предоставить мои .Xessources файл 16 первых цветов в шестнадцатеричном коде и для некоторых специальных файлов, таких как исходные файлы (C++-заголовок и файлы cpp) разные цвета с использованием файла .bashrc? – Habchi

1

Прошу прощения, но вы не можете использовать цветовой код RBG (или HSV или HCL). Вы можете найти документацию с:

$ man 5 dir_colors 
+0

Итак, как я могу использовать специальные цвета? есть ли какая-то таблица или конверсия, которую я могу использовать? – Habchi

+0

@ Хабби, Хигаро и Томас Дикли расширили мой ответ и, возможно, ответили на этот комментарий. Если какой-либо из них решит вашу проблему, вы должны подтвердить ответ! –

0

Как отметил @Leonardo Fontenelle, место для начала чтением о GNU ls окраски страницы справочника dir_colors. Используемые числа, такие как 01;31, являются константами, связанными с тем, что на странице руководства называют «цветовыми последовательностями ISO 6429 (ANSI)». На самом деле страница руководства является немного более неясной, чем это должно быть:

  • констант являются параметрами, используемых в ISO 6429 SGR (набора графической цветопередачи) управляющей последовательностью. Фактический стандарт очень подробный (см. ECMA-48).
  • 01 случается стандартный код жирным шрифтом (руководство относится к нему с помощью Linux-ориентированных «более яркие цвета *).
  • как отмечает @higuaro, коды 30-37 и 40-47 образуют цветовая палитра, все цвета, отображаемые на терминале в любой момент, поступают из текущей палитры.
  • Существует несколько способов обновления цветовой палитры, используемой xterm, ни одна из них не связана напрямую с конфигурацией ls, поскольку номера, используемые для обращения к палитре, не содержат информацию о цвете сами по себе.
  • вы можете отобразить цвета и видео атрибуты использовать консоль Ncurses tput утилиты, например, tput setaf 7.
  • Некоторые (относительно) последние ls конфигурации используют дополнительные цветовые коды за пределами палитры 30-37/40-47, например, для 16-цветной функции aixterm, или -цветов или 256 цветов. На странице руководства dir_colors этого не упоминается.

 Смежные вопросы

  • Нет связанных вопросов^_^