Intereting Posts
Создание пользователей Samba в качестве системных пользователей Как инициализировать глобальный, ассоциативный массив только для чтения в Bash? доступ к подстрокам из строк в текстовом файле и их хранение Сколько всего способов для подачи команды с помощью ввода? Почему я не могу изменить разрешение на символическую ссылку на Mac? Как принудительно использовать общие сочетания клавиш / макросов для всей системы? Как удалить RHEL из системы с двойной загрузкой? добавление букв и символов в столбец с помощью awk или sed? Как поймать события монтирования в Linux? не работает в Arch Linux Что делают поля «buff / cache» и «avail mem» в верхней части? Как загружается средняя работа с современными процессорами? Вывод команды подстановки grepping ls вызывает ошибку setenv внутри скрипта не переопределяет значение, заданное в командной строке Перемещение строк 2 3 после строки 5 с помощью awk

Установка переменной окружения TOPCOLORS

Кажется, я не могу найти какие-либо примеры в Интернете для этой переменной окружения, которая, по-видимому, будет читаться и использоваться для отображения цветов.

Как бы я правильно установил эту переменную так, чтобы в ее выходе использовались альтернативные цвета?

У меня есть версия Solaris 3.5beta9.

Переменная TOPCOLORS в этом top (также называемая unixtop ) недоступна в используемой вами версии. Он впервые появился в версии 3.6 этой утилиты, как указано в разделе COLOR файла README . По какой-то причине кажется, что обычный BSD не включает обновленную версию top (FreeBSD 9.1 имеет 3.5beta12).

Если вы можете установить или скомпилировать обновленную версию, man-страница должна предоставить вам больше информации о том, как устанавливать цвета. В версии 3.8beta1 это то, что он печатает:


TOPCOLORS

Указывает цвета для использования и условия, для которых они должны использоваться. В настоящее время могут отображаться только цифры в итоговой области отображения. В будущей версии можно будет также выделить номера в области отображения процесса. Переменная окружения – единственный способ указать цвет: нет эквивалентной опции командной строки. Обратите внимание, что переменная окружения TOPCOLOURS также понятна. Английское правописание имеет приоритет. Использование цвета работает только на терминалах, которые понимают и обрабатывают последовательности escape-последовательности ANSI.

Переменная окружения – это последовательность цветовых спецификаций, разделенных двоеточиями. Каждая спецификация принимает форму tag=min,max#code где

  • tag – это имя проверяемого значения,
  • min и max укажите диапазон для значения и
  • code – это код цвета ANSI.

Несколько цветовых кодов могут быть перечислены и разделены полуколониями. Недостающий min подразумевает минимально возможное значение (обычно 0), а недостающий max означает бесконечность. Запятая всегда должна присутствовать.

При указании чисел для средних значений нагрузки их следует умножить на 100. Например, спецификация:

  • 1min=500,1000#31 указывает, что 1 минута нагрузки в среднем от 5 до 10 должна отображаться красным цветом.

Атрибуты цвета могут комбинироваться. Например, спецификация:

  • 5min=1000,#37;41 означает, что 5-минутная загрузка в среднем выше 10 должна отображаться белыми символами на красном фоне.

Специальный тег с именем header используется для управления цветом заголовка для отображения процесса. Он должен быть указан без нижнего и верхнего пределов, в частности, header=,# за которым следует цветовой код ANSI.

Вы можете увидеть список цветовых кодов, распознаваемых этой установкой top с опцией -T . Это также покажет текущий набор тестов, используемых для цветной highligting, как указано в среде.


(конец экстента man-страницы)

Цветные коды

Файл color.h из исходного кода color.h теги и коды, которые понимает утилита. Теги:

 /* * These color tag names are currently in use * (or reserved for future use): * * cpu, size, res, time, 1min, 5min, 15min, host */ 

И цвет – это ANSI:

 /* * Valid ANSI values for colors are: * * 0 Reset all attributes * 1 Bright * 2 Dim * 4 Underscore * 5 Blink * 7 Reverse * 8 Hidden * * Foreground Colours * 30 Black * 31 Red * 32 Green * 33 Yellow * 34 Blue * 35 Magenta * 36 Cyan * 37 White * * Background Colours * 40 Black * 41 Red * 42 Green * 43 Yellow * 44 Blue * 45 Magenta * 46 Cyan * 47 White */ 

пример

Используя следующую настройку, вы можете получить представление о возможностях (здесь для верхней 3.8beta1, скомпилированной на FreeBSD):

 export TOPCOLORS="header=,#1\ :1min=,399#32:1min=400,799#33:1min=800,#31\ :5min=,299#32:5min=300,599#33:5min=600,#31\ :15min=,199#32:15min=200,399#33:15min=400,#31\ :cpu.user=,9#32:cpu.user=10,49#33:cpu.user=50,#31\ :cpu.system=,9#32:cpu.system=10,49#33:cpu.system=50,#31\ :cpu.interrupt=,9#32:cpu.interrupt=10,49#33:cpu.interrupt=50,#31" 

Вызов top -T сразу покажет вам, понимает ли верхняя часть настройки цвета, которую вы указали. Он также перечислит все теги, которые были поняты (что в моем случае отличается от содержимого файла color.h ).

альтернативы

В разных системах UNIX используются альтернативы. В Linux вы обычно находите top утилиту, поступающую из пакета procps . Вы также можете установить htop, который является красивой альтернативой, которая также доступна на OSX и FreeBSD (где она опирается на уровень Linux), но AFAIK не на Solaris.

Не совсем то, что вы ищете, но я нашел этот .toprc который работает с версией 3.3.9 и более поздними .toprc , где-то там настраиваются цвета:

Blockquote

 RCfile for "top with windows" Id:a, Mode_altscr=0, Mode_irixps=1, Delay_time=3.000, Curwin=0 Def fieldscur=AEHIOQTWKNMbcdfgjplrsuvyzX winflags=63800, sortindx=10, maxtasks=0 summclr=2, msgsclr=1, headclr=3, taskclr=1 Job fieldscur=ABcefgjlrstuvyzMKNHIWOPQDX winflags=62777, sortindx=0, maxtasks=0 summclr=6, msgsclr=6, headclr=7, taskclr=6 Mem fieldscur=ANOPQRSTUVbcdefgjlmyzWHIKX winflags=62777, sortindx=13, maxtasks=0 summclr=5, msgsclr=5, headclr=4, taskclr=5 Usr fieldscur=ABDECGfhijlopqrstuvyzMKNWX winflags=62777, sortindx=4, maxtasks=0 summclr=3, msgsclr=3, headclr=2, taskclr=3 

Удивительный пример выше. Я попробовал что-то гораздо более простое (хотя и немного более привлекательное) на FreeBSD 10.1. Мне нужно было установить 3,8 от источника. Следующие работы fomr csh / tcsh

  setenv TOPCOLORS "header=,#35;1:1min=,#31;1:5min=,#31;1:15min=,#31;1:cpu.user=,#32:cpu.system=,#32:cpu.nice=,#32:cpu.interrupt=,#32:cpu.idle=,#32:memory.wired=,#36:memory.active=,#36:memory.inact=,#36:memory.cache=,#36:memory.buf=,#36:memory.free=,#36:kernel.ctxsw=,#33:kernel.trap=,#33:kernel.intr=,#33:kernel.soft=,#33:kernel.fork=,#33:kernel.flt=,#33:kernel.pgin=,#33:kernel.pgout=,#33:kernel.fr=,#33:swap.total=,#34;1:swap.used=,#34;1:swap.free=,#34;1:swap.inuse=,#34;1:swap.in=,#34;1:swap.out=,#34;1"