Автор — Lucas Westermann
После публикации моей статьи в прошлом месяце о том, как настраивать строки запроса и оболочки, я подумал, что было бы неплохо показать, как можно настроить цвета для терминала. Это будет хорошим знакомством с файлом «.Xdefaults», который предоставляет большое количество средств контроля настроек для каждого пользователя. Его можно использовать для установки курсора мыши, urxvt-специфических параметров, настроек терминала, количества DPI, сглаживания и других свойств шрифтов X, тем для xscreensaver и др. На сайте Аарона Гриффина (Aaron Griffin, ведущий разработчик ОС Arch Linux) есть много примеров схем раскраски терминала: http://phraktured.net/terminal-colors/. Сегодня я опишу процесс создания собственной цветовой схемы для терминала. Он состоит из нескольких этапов:
- Понимание синтаксиса раскраски в файле «.Xdefaults»
- Нахождение шестнадцатеричных значений цветов, подбор сочетающихся цветов
- Вывод результатов применения цветовой схемы в тестовом режиме
Я буду использовать привычные для меня методы, но это ни в коем случае не значит, что это — единственный путь создания цветовой схемы. Первое, что надо сделать, — проверить текущую цветовую схему, если она есть, чтобы понять, с чем предстоит работать. Для этого я настоятельно рекомендую использовать сценарий Даниэля Крисмана (Daniel Crisman), ссылка на который приведена в начале раздела «Читайте также» в самом конце веб-страницы. Чтобы его использовать, просто скопируйте приведённый код сценария в файл, а потом примените к нему команду «chmod +x». Например:
vim colors <после вставки сценария и выхода из vim> sudo chmod +x colors
Выполнение сценария:
./colors
В результате получим что-то наподобие приведённого ниже.
Второй шаг для меня — подбор базового цвета, от которого зависит выбор остальных, так как нужен набор гармоничных цветов. Можно выбрать базовым зелёный, например. Затем можно открыть палитру цветов: с помощью приложения gcolor2 (если предпочитаете только палитру), или воспользоваться палитрой GIMP. Единственное, что нам сейчас нужно, — шестнадцатеричное значение выбранного цвета. После выбора базового цвета остаётся подобрать подходящие ему цвета. Если вы, так же как и я, испытываете с этим затруднение, то можете воспользоваться поиском на http://www.colourlovers.com: введите шестнадцатеричное значение цвета для подбора палитры подходящих цветов. Подобрав 16 цветов (а учитывая цвет текста и фона, в итоге получим 18), можно приступать к занесению их в файл «.Xdefaults». Формат задания цветов для всех терминалов одинаков:
!---- Terminal Colours *background: #000000 *foreground: #ffffff *color0: #000000 *color1: #9e1828 *color2: #aece92 *color3: #968a38 *color4: #414171 *color5: #963c59 *color6: #418179 *color7: #bebebe *color8: #666666 *color9: #cf6171 *color10: #c5f779 *color11: #fff796 *color12: #4186be *color13: #cf9ebe *color14: #71bebe *color15: #ffffff
Первая запись — формат комментария в файле «.Xdefaults». Можно установить цветовую схему только для определённого терминала, добавив имя приложения перед звёздочкой («*»). Пример той же схемы, только для urxvt:
urxvt*background: [70] #000000 urxvt*foreground: #ffffff urxvt*color0: #000000 urxvt*color1: #9e1828 urxvt*color2: #aece92 urxvt*color3: #968a38 urxvt*color4: #414171 urxvt*color5: #963c59 urxvt*color6: #418179 urxvt*color7: #bebebe urxvt*color8: #666666 urxvt*color9: #cf6171 urxvt*color10: #c5f779 urxvt*color11: #fff796 urxvt*color12: #4186be urxvt*color13: #cf9ebe urxvt*color14: #71bebe urxvt*color15: #ffffff
В этом примере значение в квадратных скобках задаёт прозрачность для фона (70% видимости, или 30% прозрачности). Такого поведения можно добиться только в тех терминалах, которые поддерживают прозрачность, и в системах, использующих композитные менеджеры окон (xcompmgr, cairo-compmgr, compiz, mutter и т. д.) с поддержкой прозрачности.
После добавления цветовой схемы в файл «.Xdefaults», вам наверняка захочется тут же проверить результат без перезагрузки графического окружения. К счастью, это возможно благодаря одной маленькой хитрости командной стоки:
xrdb -merge ~/.Xdefaults
в результате чего xrdb (X Resource Database Manager) в принудительном порядке задействует настройки из «.Xdefaults». Повторный запуск сценария «colors» позволит убедиться в наличии новой цветовой схемы.
Вот и всё, что требуется сделать. Придётся немного попотеть, чтобы добиться желаемых результатов, но ведь в этом вся соль. Да и те две ссылки для более детального ознакомления с «.Xdefaults» основаны на Arch, так как мне не удалось разыскать материал для Ubuntu. Впрочем, инструкции были бы почти такие же. Приведённые выше примеры цветовых схем я и сам использую. В их основе, скорее всего, чей-то .Xdefaults-файл, найденный мною где-то в интернете. От оригинала мало что осталось, но, полагаю, обязан упомянуть, что не всё это я сделал сам. Как всегда, любые вопросы, предложения или отзывы можно присылать на «lswest34@gmail.com». Я так же попрошу всех, кто мне пишет, указывать в теме «FCM – C&C», чтобы я не пропустил ваше письмо. Было бы приятно увидеть содержимое ваших .Xdefaults-файлов, некоторые из которых я с удовольствием продемонстрирую в следующей «Покоряй и властвуй», если вы пришлёте мне скриншот и соответствующие .Xdefaults- настройки.
Читайте дальше:
- http://tldp.org/HOWTO/Bash-Prompt-HOWTO/x329.html - сценарий «colourscheme.sh» Даниэля Крисмана (Daniel Crisman)
- http://wiki.archlinux.org/index.php/Xdefaults - страница «.Xdefaults» на Arch-вики с несколькими примерами и ссылками
- http://bbs.archlinux.org/ viewtopic.php?id=51818&p=1 - тема на форуме Arch с примерами цветовых схем для терминала
- http://www.colourlovers.com/ - colourLovers (для цветовых палитр)
Для того чтобы вставить в Vim без автоматических отступов, выполните «:set paste», нажмите «i» для вставки в режиме «из буфера» и вставьте сценарий в файл. Для отмены режима «из буфера» установите «:set nopaste». Обе команды выполняются в обычном режиме и без кавычек.