Як я можу перерахувати наявні назви кольорів?


23

Я намагаюся додати трохи кольорів до моєї конфігурації git і хочу знати, які назви кольорів доступні в терміналі.

  • Я хочу лише використовувати кольори за назвою, щоб іншим було легше зрозуміти
  • Я не хочу додавати нових кольорів - я просто хочу вибрати з попередньо визначених імен
  • Я хотів би рішення, яке працює для всіх дистрибутивів, але в першу чергу для Debian
  • Було б непогано побачити колір, який вказує назва

Багато посилань в Інтернеті часто говорять про назви кольорів, які не визначені в моїй системі, тому мені просто потрібен спосіб побачити, які є мої параметри за замовчуванням.


Це була корисна довідка. Мені подобаються сценарії оболонки. misc.flogisoft.com/bash/…
сумневу1ejack

Відповіді:


25

Багато посилань в Інтернеті часто говорять про назви кольорів, які не визначені в моїй системі

Вони, ймовірно, визначені, але вони є кольорами X11; колись ви могли їх знайти /lib[64]/X11/rgb.txt. У будь-якому випадку це відображення рядків (наприклад, dimgray) на 24-бітні кольори RGB (наприклад, 0xff8800або #ff8800, що було б помаранчевим). 24-бітний простір становить ~ 16 мільйонів кольорів, очевидно, X11 не дає їм усіх імен (CSS 3 використовує імена X11, BTW).

24-бітний простір використовується вашим графічним інтерфейсом; прозорість реалізується шляхом збільшення цього до 32-бітного простору. Однак gitце не інструмент GUI (G = графічний), це інструмент TUI (T = термінал), і він обмежений кольорами, доступними на звичайному терміналі.

Я хотів би рішення, яке працює для всіх дистрибутивів, але в першу чергу для Debian

Якщо ви хочете, щоб це було належним чином переносним, вам слід покладатися лише на вісім стандартних кольорів ANSI :

  • чорний
  • синій
  • зелений
  • жовтий
  • синій
  • білі
  • пурпуровий
  • червоний

Трохи невтішно поруч зі списком X11, але краще взагалі нічого! Вони також мають "жирний" або "яскравий" варіант, який є стандартним, з 16 кольорів, які ви можете вказати як, наприклад, "яскраво-жовтий" ( або, навпаки, "темно-жовтий").

Більшість терміналів GUI 1 мають 256 кольорову підтримку, і деякі додатки терміналів можуть використовувати це. Для тестування спочатку потрібно встановити $TERMзмінну належним чином:

export $TERM=xterm-256color

Ваш термінальний емулятор також може мати для цього параметр конфігурації. Кольори за кольоровим протоколом xterm 256 індексуються:

xterm кольорова діаграма

Номер індексу знаходиться в лівому нижньому куті. Зауважте, що в нижній частині цієї діаграми (0-15) встановлено 16 основних (яскравих і темних) кольорів ANSI. Для посилання на один із цих кольорів під стандарт, ви використовуєте color+ індексний номер, наприклад. color40.


1. "Термінал GUI" - це емулятор терміналу, який працює в контексті графічного інтерфейсу, наприклад xterm, термінал GNOME тощо. Однак, додатки TUI (наприклад, git) не перетворюються на термінали GUI у додатки GUI. Вони все ще є додатками TUI і пов'язані цим контекстом.


На жаль, список X11, можливо, вводив в оману. Мене не цікавить якийсь графічний інтерфейс - просто кольори, доступні на терміналі.
sum1ejack

Ну, там у вас є. Якщо вважати звичайним обладнанням, будь-який термінал, який ви зустрічаєте на Linux, має 16 кольорів, вісім вище кожного з "яскравою / жирною" версією згідно стандарту ANSI (хоча, наприклад, зазвичай тільки яскраво-жовтий виглядає жовтим; звичайний виглядає охра, тощо). Отже, WRT git, ви можете використовувати ці 8. Моя думка, ви не можете використовувати будь-який колір, який ви бачите на екрані. Термінальний інтерфейс є обмеженням. Вісім основних кольорів. Це все.
goldilocks

2
@ sum1ejack: Вгадай, що? Я вчора помітив, що є стандарт іменування кольорів на 256-кольорових терміналах, і є деякі додатки TUI, які використовують його, хоча я не перевіряв git. У всякому разі, я редагував деякі речі з цього приводу.
золотинки

Я думаю, що є лише 8 кольорів та 8 яскравих версій. Скажіть, що вони 16 кольорів - це технічно не правильно?
jiggunjer

1
Я читав цю відповідь, чекаючи, поки я дістався до того, як. Я був майже там, і відповідь зупинилася.
ctrl-alt-delor
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.