Provided by: manpages-ru_4.21.0-2_all bug

ИМЯ

       console_codes - управляющие и экранирующие последовательности консоли Linux

ОПИСАНИЕ

       Консоль  Linux  имеет  большой  набор  средств  управления терминалами VT102 и ECMA-48/ISO
       6429/ANSI X364, а  также  некоторым  количеством  индивидуальных  последовательностей  для
       изменения  цветовой  палитры,  перекодировки  символьного  набора  и  т.  д.  В  таблицах,
       приведенных ниже (во втором столбце), указывается мнемонический код ECMA-48 или DEC  (если
       последнее  приписано  к DEC) данной функции. Последовательности без мнемонического кода не
       принадлежат ни к ECMA-48, ни к VT102.

       Первым процессом, который выполняется после работы обычного процесса по выводу  информации
       и  отправки к драйверу потока символов консоли (для их реального вывода), является перевод
       кодов, используемых при обычной работе, в коды, применяемые для печати.

       Если консоль работает в режиме UTF-8, то входящие байты сначала организуются в  16-битовый
       Юникод.  В  ином  случае  каждый байт преобразуется согласно текущей таблице перекодировки
       (которая переводит данные в Юникод). Смотри раздел Наборы символов ниже).

       Обычно значения Юникода преобразуются в индекс  шрифта,  который  хранится  в  видеопамяти
       таким  образом, что соответствующий образ (обнаруженный в видео-ПЗУ) появляется на экране.
       Заметим, что работа с Юникодом (и текущими аппаратными средствами  компьютеров)  позволяет
       одновременно использовать только 512 различных образов.

       Если  текущим  значением  Юникода  является  управляющий  символ  или если в данный момент
       обрабатывается  экранирующая  последовательность,  значение  будет  обрабатываться  особым
       образом.  Вместо того, чтобы значение было преобразовало в шрифт и отобразилось как образ,
       оно приведёт к выполнению  определённого  действия  (например,  перемещение  курсора)  или
       другой функции управления. Смотрите ниже раздел Управление консолью Linux.

       Некорректно   явно   указывать   в  программах  аппаратные  последовательности  управление
       терминалом. Linux поддерживает работу с базой возможностей терминала  terminfo(5).  Вместо
       того,  чтобы  вводить  управляющие  последовательности  вручную,  вы,  наверняка, захотите
       использовать для этой работы библиотеку, использующую terminfo, или другие утилиты,  такие
       как ncurses(3), tput(1) или reset(1).

   Управление консолью Linux
       Этот  раздел  описывает  все управляющие символы и экранирущие последовательности, которые
       выполняют специальные команды (т.е., всё, что отличается  от  простого  вывода  символа  в
       текущую позицию курсора) консоли Linux.

       Управляющие символы

       A  character  is  a  control  character if (before transformation according to the mapping
       table) it has one of the 14 codes 00 (NUL), 07 (BEL), 08 (BS), 09 (HT), 0a (LF), 0b  (VT),
       0c (FF), 0d (CR), 0e (SO), 0f (SI), 18 (CAN), 1a (SUB), 1b (ESC), 7f (DEL).  One can set a
       "display control characters" mode (see below), and allow 07, 09, 0b,  18,  1a,  7f  to  be
       displayed  as  glyphs.   On  the other hand, in UTF-8 mode all codes 00–1f are regarded as
       control characters, regardless of any "display control characters" mode.

       Если встречается управляющий символ, то он учитывается немедленно, и  никак  не  влияет  в
       дальнейшем (даже если он стоял в середине  экранирующей последовательности), и управляющая
       последовательность продолжается со следующего  символа.  Однако,  символ  ESC,  начинающий
       новую   экранирующую   последовательность,   возможно,  отменит  незаконченную  предыдущую
       последовательность,  а   символы   CAN   и   SUB   точно   закончат   любую   экранирующую
       последовательность.  Распознаваемыми управляющими символами являются: BEL, BS, HT, LF, VT,
       FF, CR, SO, SI, CAN, SUB, ESC, DEL, CSI. Они выполняют стандартные для них действия:

       BEL (0x07, ^G)
              beeps;

       BS (0x08, ^H)
              удаляет предыдущий символ (смещается влево на один столбец, но  не  далее,  чем  за
              начало строки);

       HT (0x09, ^I)
              перемещается  на  следующую  позицию табуляции или в конец строки, если до этого не
              было установлено позиций табуляции;

       LF (0x0A, ^J)
       VT (0x0B, ^K)
       FF (0x0C, ^L)
              задают перевод строки, а LF/NL (в режиме новой строки) выполняет перевод каретки;

       CR (0x0D, ^M)
              задает перевод каретки;

       SO (0x0E, ^N)
              приводит в действие набор символов G1;

       SI (0x0F, ^O)
              приводит в действие набор символов G0;

       CAN (0x18, ^X)
       SUB (0x1A, ^Z)
              abort escape sequences;

       ESC (0x1B, ^[)
              начинают экранирующую последовательность;

       DEL (0x7F)
              is ignored;

       CSI (0x9B)
              is equivalent to ESC [.

       ESC- но не CSI-последовательности

       ESC c     RIS      Сброс
       ESC D     IND      Перевод строки
       ESC E     NEL      Новая строка
       ESC H     HTS      Установить позицию табуляции в текущем столбце
       ESC M     RI       Обратный перевод строки
       ESC Z     DECID    Есть только у DEC. Ядро возвращает строку ESC [ ? 6 c, утверждая что
                          это VT102.
       ESC 7     DECSC    Сохранить текущее состояние (координаты курсора, атрибуты, наборы
                          символов, указанные G0, G1).
       ESC 8     DECRC    Восстановить последнее сохранённое ESC 7 состояние
       ESC %              Начать последовательность с выбором набора символов
       ESC % @               выбор по умолчанию (ISO 646/ISO 8859-1)
       ESC % G               выбор UTF-8
       ESC % 8               выбор UTF-8 (устарело)
       ESC # 8   DECALN   Экранный тест на выравнивание DEC: заполняет экран символами E
       ESC (              Start sequence defining G0 character set (followed by one of B, 0, U,
                          K, as below)
       ESC ( B            выбор по умолчанию (таблица перекодировки ISO 8859-1)
       ESC ( 0            выбор графической перекодировки VT100
       ESC ( U            выбрать null-перекодировку — сразу в символьную ROM
       ESC ( K            Select user mapping - the map that is loaded by the utility mapscrn(8).
       ESC )              Start sequence defining G1 (followed by one of B, 0, U, K, as above).
       ESC >     DECPNM   Установить режим ввода цифр для дополнительной клавиатуры
       ESC =     DECPAM   Установить режим управления для дополнительной клавиатуры
       ESC ]     OSC      Operating System Command prefix.
       ESC ] R            Reset palette.
       ESC ] P            Set palette, with parameter given in 7 hexadecimal digits nrrggbb after
                          the final P. Here n is the color (0–15), and rrggbb indicates the
                          red/green/blue values (0–255).

       CSI-последовательности ECMA-48

       CSI  (или  ESC  [)  сопровождаются  последовательностью параметров, являющихся десятичными
       номерами, разделёнными точкой с запятой (самый больший из них —  NPAR  (16)).  Пустой  или
       отсутствующий параметр приравнивается нулю. Последовательность параметров может начинаться
       одним знаком вопроса.

       Тем не менее, после CSI [ (или ESC [ [) считывается единственный символ и оставшаяся часть
       последовательности  игнорируется.  (Смысл  этого в том, чтобы не отображать функциональную
       клавишу).

       Результат работы CSI-последовательности определяется её конечным символом.

       @   ICH       Вставить N пустых символов
       A   CUU       Переместить курсор вверх на N строк
       B   CUD       Переместить курсор вниз на N строк
       C   CUF       Переместить курсор вправо на N столбцов
       D   CUB       Переместить курсор влево на N столбцов
       Э   CNL       Переместить курсор вниз на N строк в столбец 1
       F   CPL       Переместить курсор вверх на N строк в столбец 1
       Г   CHA       Переместить курсор в указанный столбец текущей строки
       H   CUP       Переместить курсор в указанную строку и столбец (начало в 1,1)
       J   ED        Очистить экран (по умолчанию от курсора до конца экрана)
                     ESC [ 1 J: очистить от начала до курсора
                     ESC [ 2 J: очистить весь экран
                     ESC [ 3 J: erase whole display including scroll-back buffer (since Linux
                     3.0).
       K   EL        Очистить строку (по умолчанию от курсора до конца строки)
                     ESC [ 1 K: очистить от начала строки до курсора
                     ESC [ 2 K: очистить всю строку
       L   IL        Вставить N пустых строк
       М   DL        Удалить N строк
       П   DCH       Удалить N символов в текущей строке
       X   ECH       Очистить N символов в текущей строке
       а   HPR       Переместить курсор вправо на N столбцов
       с   DA        Ответ по ESC [ ? 6 c: «Я терминал VT102»
       д   VPA       Переместить курсор в указанную строку текущего столбца
       e   VPR       Переместить курсор вниз на N строк
       ф   HVP       Переместить курсор в указанную строку и столбец
       g   TBC       Без параметра: очистить текущую позицию табуляции
                     ESC [ 3 g: удалить все позиции табуляции
       г   SM        Режим установки (смотрите ниже)
       l   RM        Режим сброса (смотрите ниже)
       м   SGR       Установка атрибутов (смотрите ниже)
       н   DSR       Отчёт о состоянии (смотрите ниже)
       q   DECLL     Управление индикаторами на клавиатуре
                     ESC [ 0 q: выключить все индикаторы
                     ESC [ 1 q: включить Scroll Lock
                     ESC [ 2 q: включить Num Lock
                     ESC [ 3 q: включить Caps Lock
       r   DECSTBM   Установить область прокрутки; параметрами будут верхняя и нижняя строки
       s   ?         Сохранить местоположение курсора
       u   ?         Восстановить местоположение курсора
       `   HPA       Переместить курсор в указанный столбец текущей строки

       ECMA-48 Select Graphic Rendition

       Последовательность  ECMA-48  SGR  управляющих  символов  ESC  [ parameters m устанавливает
       атрибуты экрана. В одной последовательности может быть задано несколько атрибутов.  Пустой
       параметр  (между точкой с запятой или начальной строкой или символом завершения) считается
       нулём.

       параметр   результат
       0          сбросить все атрибуты в их значения по умолчанию
       1          установить жирный
       2          установить более яркий (имитируется цветом на цветном дисплее)
       3          set italic (since Linux 2.6.22; simulated with color on a color display)
       4          установить подчеркивание (имитируется цветом на цветном дисплее) (цвета,
                  используемые для имитации затемнения или подчеркивания, устанавливаются при
                  помощи ESC ] …)
       5          включить мерцание

       7          включить инвертирование видео
       10         сбросить выбранную перекодировку, флаг управления экраном и переключить
                  метафлаг (в ECMA-48 указан как «первичный шрифт»).
       11         выбрать null-перекодировку, установить флаг управления экраном, сбросить
                  переключатель метафлага (в ECMA-48 указан как «первый альтернативный шрифт»).
       12         выбрать null-перекодировку, установить флаг управления экраном, установить
                  переключатель метафлага (в ECMA-48 указан как «второй альтернативный шрифт»).
                  Переключение метафлага вызывает переключение старшего бита в байте до его
                  перекодировки согласно таблице трансляции.
       21         set underline; before Linux 4.17, this value set normal intensity (as is done
                  in many other terminals)
       22         включить нормальную интенсивность
       23         italic off (since Linux 2.6.22)
       24         выключить подчеркивание
       25         выключить мерцание
       27         выключить инвертированное видео
       30         установить чёрный цвет символов
       31         установить красный цвет символов
       32         установить зелёный цвет символов
       33         установить коричневый цвет символов
       34         установить синий цвет символов
       35         установить сиреневый цвет символов
       36         установить голубой цвет символов
       37         установить белый цвет символов
       38         256/24-bit foreground color follows, shoehorned into 16 basic colors (before
                  Linux 3.16: set underscore on, set default foreground color)
       39         set default foreground color (before Linux 3.16: set underscore off, set
                  default foreground color)
       40         установить чёрный цвет фона
       41         установить красный цвет фона
       42         установить зелёный цвет фона
       43         установить коричневый цвет фона
       44         установить синий цвет фона
       45         установить сиреневый цвет фона
       46         установить голубой цвет фона
       47         установить белый цвет фона
       48         256/24-bit background color follows, shoehorned into 8 basic colors
       49         установить цвет фона по умолчанию
       90..97     set foreground to bright versions of 30..37
       100..107   set background, same as 40..47 (bright not supported)

       Commands 38 and 48 require further arguments:

       ;5;x       256 color: values 0..15 are IBGR (black, red,  green,  ...  white),  16..231  a
                  6x6x6 color cube, 232..255 a grayscale ramp
       ;2;r;g;b   24-bit color, r/g/b components are in the range 0..255

       Переключатели режимов ECMA-48

       ESC [ 3 h
              DECCRM (по умолчанию выключен): Показывать управляющие символы.

       ESC [ 4 h
              DECIM (по умолчанию выключен): Включить режим вставки.

       ESC [ 20 h
              LF/NL (по умолчанию выключен): Автоматически выводить код CR после LF, VT или FF.

       Команды вывода состояния ECMA-48

       ESC [ 5 n
              Сообщение  о  состоянии  устройства  (DSR):  Ответом является ESC [ 0 n (терминал в
              порядке).

       ESC [ 6 n
              Сообщение о позиции курсора (CPR): Ответом является ESC [ y ; x R, где x,y являются
              координатами курсора.

       Последовательности спец-режима DEC (DECSET/DECRST)

       These  are  not  described  in  ECMA-48.   We  list the Set Mode sequences; the Reset Mode
       sequences are obtained by replacing the final 'h' by 'l'.

       ESC [ ? 1 h
              DECCKM (по умолчанию выключено): Если включено, то клавиши курсора посылают префикс
              ESC O, а не с ESC [.

       ESC [ ? 3 h
              DECCOLM  (по  умолчанию  =  80  столбцов):  режим  переключения количества столбцов
              80/132. В исходном коде драйвера указано,  что  одной  этой  команды  недостаточно;
              некоторые  пользовательские  утилиты,  использующие нестандартные режимы, такие как
              resizecons(8), должны менять регистры настройки видеокарты консоли.

       ESC [ ? 5 h
              DECSCNM (по умолчанию выключено): Включить инвертированный видеорежим.

       ESC [ ? 6 h
              DECOM  (по   умолчанию   выключено):   Если   включено,   то   координаты   курсора
              рассматриваются относительно верхнего левого угла области прокрутки.

       ESC [ ? 7 h
              DECAWM  (по  умолчанию  включено):  Включить  режим  автопереноса.  В  этом  режиме
              графический символ, вводящийся  после  80-го  столбца  (или  132-го,  если  DECCOLM
              включён), переносится в начало следующей строки.

       ESC [ ? 8 h
              DECARM  (по  умолчанию  включено):  Включить режим автоповтора символов при вводе с
              клавиатуры.

       ESC [ ? 9 h
              X10 Mouse Reporting (default off): Set reporting mode to  1  (or  reset  to  0)—see
              below.

       ESC [ ? 25 h
              DECTECM (по умолчанию включено): Сделать курсор видимым.

       ESC [ ? 1000 h
              X11  Mouse  Reporting  (default  off):  Set reporting mode to 2 (or reset to 0)—see
              below.

       Специфические CSI-последовательности консоли Linux

       The following sequences are neither ECMA-48 nor native VT102.   They  are  native  to  the
       Linux  console  driver.   Colors are in SGR parameters: 0 = black, 1 = red, 2 = green, 3 =
       brown, 4 = blue, 5 = magenta, 6 = cyan, 7 = white; 8–15 = bright versions of 0–7.

       ESC [ 1 ; n ]       Назначить цвет n цветом подчеркивания.
       ESC [ 2 ; n ]       Назначить цвет n цветом затемнения.
       ESC [ 8 ]           Сделать текущую пару цветов атрибутами по умолчанию
       ESC [ 9 ; n ]       Показывать заставку через n минут
       ESC [ 10 ; n ]      Задать частоту звукового сигнала (в герцах)
       ESC [ 11 ; n ]      Задать длительность звукового сигнала (в миллисекундах)
       ESC [ 12 ; n ]      Переместить указанную консоль перед остальными
       ESC [ 13 ]          Убрать заставку (blank screen)
       ESC [ 14 ; n ]      Задать интервал отключения питания VESA (в минутах)
       ESC [ 15 ]          Переместить предыдущую  консоль  перед  остальными  (начиная  с  Linux
                           2.6.0)
       ESC [ 16 ; n ]      Задать  интервал  мигания  курсора  (в миллисекундах) (начиная с Linux
                           4.2).

   Наборы символов
       Ядро располагает информацией о 4-х типах трансляции байтов в символы консоли  экрана.  Эти
       четыре  таблицы:  a)  Latin1  ->  PC, b) графика VT100 -> PC, c) PC -> PC, d) определяется
       пользователем.

       There are two character sets, called G0 and G1, and one of them is the  current  character
       set.   (Initially  G0.)   Typing  ^N  causes  G1 to become current, ^O causes G0 to become
       current.

       Данные переменные G0 и G1 указывают на таблицу трансляции и  могут меняться пользователем.
       Изначально  они  указывают  на таблицы a) и b) соответственно. Последовательности ESC ( B,
       ESC ( 0, ESC ( U и ESC ( K заставляют G0 ссылаться на таблиц трансляции a), b), c)  и  d),
       соответственно.  Последовательности  ESC  )  B,  ESC ) 0, ESC ) U, и ESC ) K заставляют G1
       ссылаться на таблицу трансляции a), b), c) и d), соответственно.

       The sequence ESC c causes a terminal reset, which is what you want if the  screen  is  all
       garbled.  The oft-advised "echo ^V^O" will make only G0 current, but there is no guarantee
       that G0 points at table a).  In some distributions there is a program reset(1)  that  just
       does  "echo  ^[c".   If  your  terminfo entry for the console is correct (and has an entry
       rs1=\Ec), then "tput reset" will also work.

       Определенная  пользователем  таблица  перекодировки  может  быть  установлена  с   помощью
       mapscrn(8).  Результатом  перекодировки будет то, что при указании символа c в видеопамять
       будет отправлен символ s = перекодировка[c] . Побитовое  изображение,  соответствующее  s,
       ищется в ПЗУ символов и может меняться при помощи setfont(8).

   Отслеживание мыши
       Для отслеживания работы мыши в системе предполагается выдача xterm(1)-совместимых сигналов
       о состоянии мыши. Так как драйвер консоли не распознает такого устройства, как  мышь  (или
       похожего типа), то эти сигналы отправляются во входной поток консоли, только когда драйвер
       виртуального терминала получает сигнал ioctl об обновлении  состояния  мыши.  Эти  сигналы
       ioctl должны генерироваться пользовательскими приложениями, поддерживающими работу с мышью
       такими, как служба gpm(8).

       The mouse tracking escape sequences generated by xterm(1) encode numeric parameters  in  a
       single  character  as  value+040.  For example, '!' is 1.  The screen coordinate system is
       1-based.

       В  режиме  совместимости  с  X10   при   нажатии   на   кнопки   посылаются   экранирующие
       последовательности,  в  которых  кодируется  и  расположение  мыши, и информация о нажатой
       кнопке. Режим включается при выдаче ESC [ ? 9 h и выключается при выдаче ESC [ ? 9 l.  При
       нажатии  на кнопку xterm(1) посылает ESC [ M bxy (6 символов), где b — это кнопка 1, а x и
       y равны координатам x и y при нажатии на кнопку. Это такие же  коды,  какие  генерирует  и
       выдаёт ядро.

       В обычном режиме отслеживания мыши (который не был реализован в Linux 2.0.24) экранирующие
       последовательности посылаются и при нажатии и при отпускании кнопки мыши. Также посылается
       информация  о  модификаторе.  Режим включается при выдаче ESC [ ? 1000 h и выключается при
       выдаче ESC [ 1000 l. При нажатии или отпускании кнопки xterm(1) выдает ESC [  M  bxy.  Два
       младших  бита  b  содержат информацию о кнопках: 0=MB1 нажата, 1=MB2 нажата, 2=MB3 нажата,
       3=отпущена. Старшие биты содержат информацию о том, какие модификаторы были нажаты,  когда
       была  нажата кнопка. Эта информация складывается при нажатии: 4=Shift, 8=Meta, 16=Control.
       Ещё раз: x и y являются координатами x и y мыши при обработке события. Координаты верхнего
       левого угла рассматриваются как (1,1).

   Сравнение с другими терминалами
       Множество  других  типов терминалов описаны, подобно консоли Linux, как VT100-совместимые.
       Далее мы обсудим различия между консолью Linux и двумя другими  важнейшими  типами  —  DEC
       VT102 и xterm(1).

       Обработка управляющих символов

       Тип VT102 также распознает следующие управляющие символы:

       NUL (0x00)
              was ignored;

       ENQ (0x05)
              запускает обратное ответное сообщение;

       DC1 (0x11, ^Q, XON)
              возобновляет передачу;

       DC3 (0x13, ^S, XOFF)
              заставляет  VT100 игнорировать (и останавливать передачу) всех кодов за исключением
              XOFF и XON.

       VT100-подобную обработку DC1/DC3 можно включить в драйвере терминала.

       Программа xterm(1) (в режиме VT100) распознает управляющие символы BEL, BS,  HT,  LF,  VT,
       FF, CR, SO, SI, ESC.

       Экранирующие последовательности

       Последовательности консоли VT100, не реализованные в консоли Linux:

       ESC N       SS2   Single  shift  2.  (Select G2 character
                         set for the next character only.)
       ESC O       SS3   Single shift 3.  (Select  G3  character
                         set for the next character only.)
       ESC P       DCS   Строка      управления      устройством
                         (заканчивается ESC \)
       ESC X       SOS   Начало строки
       ESC ^       PM    Частное сообщение (заканчивается ESC \)
       ESC \       ST    Символ завершения строки
       ESC * ...         Определить набор символов G2
       ESC + ...         Определить набор символов G3

       The program xterm(1)  (in VT100 mode) recognizes ESC c, ESC # 8, ESC >, ESC =, ESC D,  ESC
       E, ESC H, ESC M, ESC N, ESC O, ESC P ... ESC \, ESC Z (it answers ESC [ ? 1 ; 2 c, "I am a
       VT100 with advanced video option")  and ESC  ^  ...  ESC  \  with  the  same  meanings  as
       indicated  above.   It  accepts ESC (, ESC ), ESC *, ESC + followed by 0, A, B for the DEC
       special character and line drawing set, UK, and US-ASCII, respectively.

       Пользователь может настроить xterm(1) так, чтобы он  отвечал  на  специальные  управляющие
       последовательности VT220, и в этом случае он будет идентифицировать себя как VT52, VT100 и
       далее, в зависимости от способа настройки и инициализации.

       Для настройки определённых ресурсов он принимает ESC ] (OSC).  Помимо  символа  завершения
       строки  (ST)  из  ECMA-48,  xterm(1)  для  завершения OSC-строки также принимает BEL. Есть
       несколько управляющих последовательностей OSC, распознаваемых xterm(1):

       ESC ] 0 ; txt ST        Установить имя значка и заголовок  окна  равным
                               txt
       ESC ] 1 ; txt ST        Установить имя значка равным txt
       ESC ] 2 ; txt ST        Установить заголовок окна равным txt
       ESC ] 4 ; num; txt ST   Установить цвет ANSI num равным txt
       ESC ] 10 ; txt ST       Установить цвет динамического текста равным txt
       ESC ] 4 6 ; name ST     Change log file to name (normally disabled by a
                               compile-time option).
       ESC ] 5 0 ; fn ST       Установить шрифт равным fn.

       Распознаются следующие параметры с  несколько  измененным  значением  (больше  сохраняется
       состояние, поведение ближе к VT100/VT220):

       ESC 7  DECSC   Сохранить курсор
       ESC 8  DECRC   Восстановить курсор

       Также распознаются

       ESC F          Cursor   to   lower  left  corner  of  screen  (if  enabled  by  xterm(1)'s
                      hpLowerleftBugCompat resource).
       ESC l          Блокировать память (терминалы HP)
                      Блокировать память выше курсора
       ESC m          Разблокировать память (терминалы HP)
       ESC n   LS2    Вызов набора символов G2
       ESC o   LS3    Вызов набора символов G3
       ESC |   LS3R   Вызов набора символов G3 в качестве GR
                      Has no visible effect in xterm.
       ESC }   LS2R   Вызов набора символов G2 в качестве GR
                      Has no visible effect in xterm.
       ESC ~   LS1R   Вызов набора символов G1 в качестве GR

       Также распознается ESC % и предоставляется более полная реализация  UTF-8  чем  в  консоли
       Linux.

       Последовательности CSI

       Старые  версии  xterm(1), например из X11R5, воспринимают мерцание SGR как жирность SGR. В
       более новых версиях, в которых реализованы цвета ANSI,  например  в  XFree86  3.1.2A  1995
       года,  атрибут  мерцания  отображается  цветом.  В  современных версиях xterm мерцание SGR
       реализовано в виде мерцающего текста, который  можно  также  сделать  цветным  в  качестве
       альтернативы  отображения  SGR.  Исходные  версии  X11R6 не распознают настройки цвета SGR
       вплоть до версии X11R6.8, в которую был включён XFree86 xterm.  Все последовательности CSI
       ECMA-48  CSI,  понимаемые  Linux,  также  понимает  xterm,  однако  в xterm(1) реализовано
       несколько управляющих последовательностей ECMA-48 и DEC, которые не понимаются Linux.

       Программа xterm(1) распознаёт все последовательности спец-режимов DEC, описанных выше,  но
       ни  одной последовательности спец-режимов Linux. О собственных спец-режимах xterm(1) можно
       прочитать в документе Управляющие последовательности Xterm, написанном Edward Moy, Stephen
       Gildea  и Thomas E. Dickey и доступном в дистрибутиве X. Этот документ хотя и сокращённый,
       но всё равно намного больше данной справочной страницы. Хронологический обзор в

              ⟨http://invisible-island.net/xterm/xterm.log.html⟩

       описывает изменения в xterm.

       Программа vttesthttp://invisible-island.net/vttest/⟩

       демонстрирует многие из этих  управляющих  последовательностей.  В  исходном  дистрибутиве
       xterm(1) также содержатся примеры сценариев, которые учат работать с другими свойствами.

ЗАМЕЧАНИЯ

       Последовательность  ESC  8  (DECRC)  не  может  восстановить  набор символов, изменённый с
       помощью ESC %.

ДЕФЕКТЫ

       In Linux 2.0.23, CSI is broken, and NUL is not ignored inside escape sequences.

       Some older kernel versions (after Linux 2.0) interpret 8-bit control sequences.  These "C1
       controls"  use  codes  between  128  and  159 to replace ESC [, ESC ] and similar two-byte
       control sequence initiators.  There are  fragments  of  that  in  modern  kernels  (either
       overlooked  or  broken  by changes to support UTF-8), but the implementation is incomplete
       and should be regarded as unreliable.

       Последовательности "спец-режима"  Linux  не  учитывают  правила  ECMA-48  для  управляющих
       последовательностей  спец-режима.  В  частности,  они  заканчиваются  ]  и  не  используют
       стандартный символ завершения.  Последовательность  OSC  (установить  палитру)  —  большая
       проблема,  так  как  xterm(1) рассматривает её как управляющую последовательность, которой
       требуется окончание строки (ST). В  отличие  от  последовательностей  setterm(1),  которые
       будут    проигнорированы    (так    как   они   не   являются   правильными   управляющими
       последовательностями), последовательность палитры приведёт  к  подвисанию  xterm(1)  (хотя
       нажав  клавишу  return  это  исправится).  Чтобы приспособить приложения, в которых жёстко
       заданы управляющие последовательности Linux,  установите  ресурс  xterm(1)  brokenLinuxOSC
       равным true.

       В  старой  версии  данного  документа  предполагалось,  что  Linux  распознаёт управляющую
       последовательность ECMA-48 для невидимости текста. Она игнорируется.

СМ. ТАКЖЕ

       ioctl_console(2), charsets(7)

ПЕРЕВОД

       Русский   перевод   этой    страницы    руководства    был    сделан    Azamat    Hackimov
       <azamat.hackimov@gmail.com>,  Dmitriy  S.  Seregin  <dseregin@59.ru>,  Dmitry Bolkhovskikh
       <d20052005@yandex.ru>,    Katrin    Kutepova    <blackkatelv@gmail.com>,    Yuri    Kozlov
       <yuray@komyakino.ru> и Иван Павлов <pavia00@gmail.com>

       Этот  перевод  является  бесплатной  документацией;  прочитайте  Стандартную  общественную
       лицензию GNU версии 3 ⟨https://www.gnu.org/licenses/gpl-3.0.html⟩ или более позднюю, чтобы
       узнать об условиях авторского права. Мы не несем НИКАКОЙ ОТВЕТСТВЕННОСТИ.

       Если  вы  обнаружите  ошибки  в  переводе этой страницы руководства, пожалуйста, отправьте
       электронное письмо на ⟨man-pages-ru-talks@lists.sourceforge.net⟩.