The OpenNET Project / Index page

[ новости /+++ | форум | wiki | теги | ]

Включение цветности консольных приложений в OpenBSD и NetBSD (man troff color openbsd)


<< Предыдущая ИНДЕКС Правка src / Печать Следующая >>
Ключевые слова: man, troff, color, openbsd,  (найти похожие документы)
From: Пилявец Олег и Зборовский Вадим <fenicottero@gmail.com.> Newsgroups: email Date: Mon, 26 Jul 2006 14:31:37 +0000 (UTC) Subject: Включение цветности консольных приложений в OpenBSD и NetBSD Раскраска страниц руководства man и включение цветности консольных приложений в Open/NetBSD. Введение ________ В данной статье рассказано о том, как изменить умолчальные настройки терминала в NetBSD или OpenBSD, чтобы сделать собственную раскраску страниц руководства man, а также включить подцветку отображения тех консольных программ (например, mutt, vim, centericq и др.), которые это в принципе поддерживают. Включение подцветки в консольных приложениях ____________________________________________ В OpenBSD для включения подцветки консольных приложений достаточно прописать тип терминала в командной строке: $ export TERM=wsvt25m Для сохранения настроек указанный тип терминала можно указать в /etc/ttys вместо vt220 или vt100 по умолчанию. В NetBSD есть баг, который не позволяет выводить цвета приложениям при использовании терминала wsvt25m. Данная проблема решена в current-ветке. В случае же stable-ветки 3.0 проблема решается следующим образом: требуется исправить системный файл /usr/share/misc/termcap. К этому файлу нужно применить следующий патч: $ diff -ubB /mnt/fat/share/misc/termcap /usr/share/misc/termcap --- /mnt/fat/share/misc/termcap 2005-07-05 19:37:51.000000000 +0400 +++ /usr/share/misc/termcap 2006-07-19 17:58:48.000000000 +0400 @@ -932,7 +932,7 @@ # These are micro-minimal and probably need to be redone for real # after the manner of the pcvt entries. wsvt25|NetBSD wscons in 25 line DEC VT220 mode:\ - :Co#16:NC#32:pa#256:it#8:ms:ut:\ + :Co#8:pa#64:it#8:ms:ut:\ :@7=\E[8~:is=\E[r\E[25;1H:\ :k1=\E[11~:k2=\E[12~:k3=\E[13~:k4=\E[14~:k5=\E[15~:k6=\E[17~:\ :k7=\E[18~:k8=\E[19~:k9=\E[20~:k;=\E[21~:kh=\E[7~:F1=\E[23~:F2=\E[24~:\ После исправления (c правами root) делаем рекриэйт базы: # rm /usr/share/misc/termcap.db # cap_mkdb -f /usr/share/misc/termcap /usr/share/misc/termcap Аналогично случаю с OpenBSD, прописывая тип терминала в /etc/ttys как wsvt25m, получаем цветность консольных приложений. Замечу, что можно было бы воспользоваться и другим типом терминала для включения цветности приложений: $ export TERM=ansi (для которого) не требуется баг-фикс в случае NetBSD, однако это может привести к проблемам в распознавании клавиш (например, в centericq). Соответственно, не рекомендуется пользоваться ansi. Изменение цветовой схемы руководства man ________________________________________ Раскраска man pages как в OpenBSD, так и NetBSD на уровне пользователся происходит так - создаётся файл ~/.termcap следущего содержания: $ cat ~/.termcap wsvt25mc|NetBSD wscons in 25 line DEC VT220 mode with Meta and colored attributes:\ :md=\E[32m:us=\E[1;36m:ue=\E[m:tc=wsvt25m: wsvt25mc-bgbc|NetBSD wscons in 25 line DEC VT220 mode with Meta and colored attributes, bright green, bright cyan:\ :md=\E[1;32m:us=\E[1;36m:ue=\E[m:tc=wsvt25m: wsvt25mc-bgbr|NetBSD wscons in 25 line DEC VT220 mode with Meta and colored attributes, bright green, bright red:\ :md=\E[1;32m:us=\E[1;31m:ue=\E[m:tc=wsvt25m: ( В случае OpenBSD всё равно пишется "NetBSD" ). После этого, для просмотра страниц man, где a) жирный шрифт показан зелёным по-чёрному, а подчёркнутый - ярко-голубым по-чёрному пишем: $ TERM=wsvt25mc man man b) жирный шрифт показан ярко-зелёным по-чёрному, а подчёркнутый - ярко-голубым по-чёрному пишем: $ TERM=wsvt25mc=bcbg man man c) жирный шрифт показан ярко-зелёным по-чёрному, а подчёркнутый - ярко-красным по-чёрному пишем: $ TERM=wsvt25mc=bgbr man man Указанные типы терминалов (wsvt25mc, wsvt25mc-bcbg и wsvt25mc-bgbr) не рекомендуется использовать для других целей, кроме как для просмотра man-страниц, вследствие ряда проблем с цветностью других приложений (у меня, например, mutt стал показывать другую гамму цветов) и, возможно, клавишными комбинациями. Для использования данных типов терминалов (рекомендуется выбрать по желанию) только для просмотра man-страниц можно создать алиас для команды man. В моём случае (у меня в качестве шелла zsh) я поступил так: $ echo "alias man='TERM=wsvt25mc-bgbc man'" >> ~/.zshrc Итак, теперь в обычном терминале для всех приложений тип терминала - wsvt25m (берётся из /etc/ttys), для cтраниц же man - wsvt25mc-bgbc (берётся из переменной TERM, которая прописана в алиасе). Попутно замечу, что указанная расцветка ман-страниц теперь работает и в X-терминалах, так как после каждого запуска графического терминала запускается zsh, который содержит алиас на команду man. spinore, он же Пилявец Олег fenicottero@gmail.com. Информация и патч были предоставлены Зборовским Вадимом regulaar@gmail.com с использованием информации из CVS-репозитория NetBSD.

<< Предыдущая ИНДЕКС Правка src / Печать Следующая >>

Обсуждение [ RSS ]
  • 1, nosuchuser (?), 18:19, 25/10/2006 [ответить]  
  • +/
    А в FreeBSD такое не прокатит?
     
  • 2, anonirnous (?), 19:04, 06/01/2011 [ответить]  
  • +/
    в иксах, пожалуйста, пользуйте xterm-color, г-да пионеры.
     

     Добавить комментарий
    Имя:
    E-Mail:
    Заголовок:
    Текст:




    Спонсоры:
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2021 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру