Provided by: manpages-pl_4.13-4_all bug

NAZWA

       console_codes - Kody konsolowe Linuksa oraz sekwencje specjalne

OPIS

       Konsola  Linuksa  implementuje  duży podzbiór kontrolek terminali VT102 oraz ECMA-48/ISO 6429/ANSI X3.64,
       plus określone sekwencje trybu prywatnego, dotyczące zmiany palety kolorów, mapowania zestawu znaków itp.
       W poniższych, tabelarycznych opisach, druga kolumna podaje dla danej funkcji mnemoniki  ECMA-48  lub  DEC
       (te drugie są poprzedzone ciągiem DEC).  Sekwencje bez mnemoników nie są ani ECMA-48 ani VT102.

       Po  przetworzeniu  normalnego  wyjścia,  gdy  strumień  znaków dojdzie do sterownika konsoli, która ma go
       fizycznie wyświetlić, to pierwszą rzeczą, która jest robiona,  jest  przetłumaczenie  tego  strumienia  z
       języka przetwarzania na język wyświetlania.

       Jeśli  konsola  znajduje  się  w trybie UTF-8, to nadchodzące bajty są najpierw składane w 16-bitowe kody
       Unicode. W przeciwnym wypadku, każdy bajt jest przetwarzany  zgodnie  z  bieżącym  mapowaniem  (które  go
       tłumaczy na wartość Unicode). Dalsza dyskusja znajduje się poniżej, w sekcji Zestawy znaków.

       W  normalnym  wypadku,  wartość  Unicode jest konwertowana na indeks czcionki, który jest przechowywany w
       pamięci obrazu. Efektem użycia tego indeksu jest pojawienie się odpowiadającego glifu  (wizerunku  znaku,
       znalezionego  w  nieulotnej pamięci obrazu) na ekranie. Należy zauważyć, że użycie Unicode (i konstrukcja
       sprzętu PC) pozwala na jednoczesne używanie 512 różnych glifów.

       Jeśli bieżąca wartość Unicode jest znakiem sterującym lub jeśli przetwarzana jest sekwencja specjalna, to
       wartość ta jest traktowana w sposób specjalny.  Zamiast zmieniania jej na indeks czcionki i interpretacji
       jako glif, może ona wyzwolić ruchy kursora lub inne funkcje  sterujące.   Dalsza  dyskusja  znajduje  się
       poniżej, w sekcji Kontrolki konsoli systemu Linux.

       Ogólnie  nie  jest dobrym zwyczajem wkodowywanie do programów kodów terminala na sztywno. Linux obsługuje
       bazę danych terminfo(5), która opisuje właściwości terminali.  Zamiast ręcznego  wyprowadzania  sekwencji
       kontrolnych  konsoli,  prawie  zawsze wygodniej jest korzystać z biblioteki obsługi terminala ncurses(3),
       oraz programów narzędziowych, takich jak tput(1) czy reset(1).

   Kontrolki konsoli systemu Linux
       Sekcja ta opisuje wszystkie znaki sterujące i sekwencje specjalne, które wywołują funkcje specjalne  (tj.
       wszystko inne niż wypisywanie glifu w pozycji kursora) konsoli Linuksa.

       Znaki sterujące

       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.

       Jeśli mamy znak sterujący, to jest on  natychmiast  wykonywany  i  kasowany  (nawet  w  środku  sekwencji
       specjalnej), a sekwencja specjalna leci dalej, z następnym znakiem. (Jednak ESC rozpoczyna nową sekwencję
       specjalną,  przypuszczalnie  anulując  niedokończoną poprzednią, a CAN i SUB przerywają dowolną sekwencję
       specjalną). Rozpoznawanymi znakami sterującymi są BEL, BS, HT, LF, VT, FF, CR, SO,  SI,  CAN,  SUB,  ESC,
       DEL, CSI. Robią one to, czego można oczekiwać:

       BEL (0x07, ^G) beeps;

       BS (0x08, ^H) backspaces one column (but not past the beginning of the line);

       HT (0x09, ^I) goes to the next tab stop or to the end of the line if there is no earlier tab stop;

       LF  (0x0A,  ^J), VT (0x0B, ^K) and FF (0x0C, ^L) all give a linefeed, and if LF/NL (new-line mode) is set
              also a carriage return;

       CR (0x0D, ^M) gives a carriage return;

       SO (0x0E, ^N) activates the G1 character set;

       SI (0x0F, ^O) activates the G0 character set;

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

       ESC (0x1B, ^[) starts an escape sequence;

       DEL (0x7F) jest ignorowane;

       CSI (0x9B) równoważne ESC [.

       Sekwencje ESC- lecz nie CSI-
       ESC c     RIS      Reset.
       ESC D     IND      Przesunięcie o wiersz.
       ESC E     NEL      Nowy wiersz.
       ESC H     HTS      Ustawienie tabulatora w bieżącej kolumnie.
       ESC M     RI       Cofnięcie o wiersz.
       ESC Z     DECID    Prywatna identyfikacja DEC. Jądro zwraca napis ESC [ ?  6
                          c, twierdząc, że jest to VT102.
       ESC 7     DECSC    Zachowanie    bieżącego   stanu   (współrzędne   kursora,
                          atrybuty, zestawy znaków wskazywane przez G0 i G1).
       ESC 8     DECRC    Odtworzenie ostatnio zachowanego przez ESC 7 stanu.
       ESC [     CSI      Wprowadzacz sekwencji sterujących
       ESC %              Rozpoczęcie sekwencji wybierania zestawu znaków
       ESC % @               Wybranie domyślnego (ISO 646 / ISO 8859-1)
       ESC % G               Wybranie UTF-8
       ESC % 8               Wybranie UTF-8 (przestarzałe)
       ESC # 8   DECALN   DEC test wyrównania ekranu - wypełnienie ekranu znakami E
       ESC (              Rozpoczęcie sekwencji, definiującej zestaw znaków G0
       ESC ( B               Wybranie domyślnego (mapowanie ISO 8859-1)
       ESC ( 0               Wybranie mapowania grafiki VT100
       ESC ( U               Wybranie mapowania zerowego - wprost do ROM ze znakami
       ESC ( K               Wybranie mapowania użytkownika - mapę załadowaną
                             programem narzędziowym mapscrn(8).
       ESC )              Rozpoczęcie sekwencji, definiującej zestaw znaków G1
                          (po której następuje B, 0, U, K, jak wyżej).
       ESC >     DECPNM   Ustawienie dla bloku klawiszy trybu numerycznego.
       ESC =     DECPAM   Ustawienie dla bloku klawiszy trybu aplikacyjnego.
       ESC ]     OSC      (Should be: Operating system command) ESC  ]  P  nrrggbb:
                          set palette, with parameter given in 7 hexadecimal digits
                          after  the  final P :-(.  Here n is the color (0–15), and
                          rrggbb indicates the red/green/blue values (0–255).   ESC
                          ] R: reset palette

       Sekwencje ECMA-48 CSI

       Za CSI (lub ESC [) następuje sekwencja parametrów, co najwyżej NPAR (16), które są liczbami dziesiętnymi,
       oddzielonymi średnikami. Pusty lub nieobecny parametr przyjmowany jest za zero. Sekwencja parametrów może
       być poprzedzona pojedynczym znakiem zapytania.

       Jednak  po CSI [ (lub ESC [ [) odczytywany jest pojedynczy znak, a cała sekwencja jest ignorowana (pomysł
       ten ma na celu ignorowanie klawisza funkcyjnego dającego echo).

       Akcja sekwencji CSI jest określona jej ostatnim znakiem.
       @   ICH       Wstawienie określonej liczby pustych znaków.
       A   CUU       Przesunięcie kursora w górę o zadaną liczbę wierszy.
       B   CUD       Przesunięcie kursora w dół o zadaną liczbę wierszy.
       C   CUF       Przesunięcie kursora w prawo o zadaną liczbę kolumn.
       D   CUB       Przesunięcie kursora w lewo o zadaną liczbę kolumn.
       E   CNL       Przesunięcie kursora w dół o zadaną liczbę wierszy do kolumny 1.
       F   CPL       Przesunięcie kursora w górę o zadaną liczbę wierszy do kolumny 1.
       G   CHA       Przesunięcie kursora do wskazanej kolumny bieżącego wiersza.
       H   CUP       Przesunięcie kursora do wskazanego wiersza i kolumny (początek w 1,1).
       J   ED        Wymazanie ekranu (domyślnie: od pozycji kursora, do końca ekranu).
                     ESC [ 1 J: czyści od początku do kursora.
                     ESC [ 2 J: czyści cały ekran.
                     ESC [ 3 J: czyści cały ekran, włączając w to bufor
                                pamięci ekranu (od Linuksa 3.0).
       K   EL        Wymazanie wiersza (domyślnie od kursora do końca wiersza).
                     ESC [ 1 K: czyści od początku wiersza do kursora.
                     ESC [ 2 K: czyści cały wiersz.
       L   IL        Wstawienie zadanej liczby pustych wierszy.
       M   DL        Skasowanie zadanej liczby wskazanych wierszy.
       P   DCH       Skasowanie zadanej liczby wskazanych znaków w bieżącym wierszu.
       X   ECH       Wymazanie zadanej liczby wskazanych znaków w bieżącym wierszu.
       a   HPR       Przesunięcie kursora w prawo o zadaną liczbę kolumn.
       c   DA        Odpowiedź: ESC [ ? 6 c: "Jestem VT102"
       d   VPA       Przesunięcie kursora do wskazanego wiersza i bieżącej kolumny.
       e   VPR       Przesunięcie kursora w dół o zadaną liczbę wierszy.
       f   HVP       Przesunięcie kursora do wskazanego wiersza i kolumny.
       g   TBC       Bez parametrów: skasowanie tabulatora w bieżącej pozycji.
                     ESC [ 3 g: skasowanie wszystkich tabulatorów.
       h   SM        Ustawienie trybu (patrz niżej).
       l   RM        Inicjacja trybu (patrz niżej).
       m   SGR       Ustawienie atrybutów (patrz niżej).
       n   DSR       Raport o stanie (patrz niżej).
       q   DECLL     Ustawienie LED-ów klawiatury.
                     ESC [ 0 q: wyłączenie wszystkich LED-ów.
                     ESC [ 1 q: włączenie diody ScrollLock
                     ESC [ 2 q: włączenie diody NumLock
                     ESC [ 3 q: włączenie diody CapsLock
       r   DECSTBM   Ustawienie obszaru przewijania; parametry to górny i dolny wiersz.
       s   ?         Zapamiętanie pozycji kursora.
       u   ?         Odtworzenie pozycji kursora.
       `   HPA       Przesunięcie kursora do wskazanej kolumny bieżącego wiersza.

       Interpretacja grafiki zbioru ECMA-48

       Sekwencja ECMA-48 SGR, czyli ESC [  parametry  m  ustawia  atrybuty  wyświetlania.  Można  ustawić  wiele
       atrybutów  w  pojedynczej sekwencji specjalnej, oddzielając je od siebie znakami średnika. Pusty parametr
       (pomiędzy średnikami lub początkiem lub końcem sekwencji) jest interpretowany jako zero.
       param     wynik
       0         inicjacja wszystkich atrybutów do wartości domyślnych
       1         włączenie pogrubienia
       2         włączenie półrozjaśnienia (symulowane kolorem na ekranach kolorowych)
       4         włączenie podkreślenia (symulowane kolorem  na  ekranach  kolorowych)
                 (kolory używane do symulacji są ustawiane za pomocą ESC ] ...)
       5         włączenie migania
       7         włączenie inwersji
       10        wyłączenie  wybranego  mapowania,  znacznika  kontroli wyświetlania i
                 przełączenie flagi "meta" (ECMA-48 nazywa to "czcionką podstawową").
       11        wybranie mapowania zerowego, ustawienie  znacznika  kontroli,  czyści
                 znacznik  przełączania  meta  (ECMA-48  nazywa  to "pierwszą czcionką
                 alternatywna").
       12        wybranie  mapowania  zerowego, ustawienie znacznika kontroli, ustawia
                 znacznik  przełączania  meta  (ECMA-48  określa  to  "drugą  czcionką
                 alternatywną").  Znacznik  przełączania   meta powoduje przestawienie
                 wysokiego  bitu  w  bajcie  przed  zakończeniem  translacji   tablicy
                 mapowań.
       21        set underline; before Linux 4.17, this value set normal intensity (as
                 is done in many other terminals)
       22        ustawienie normalnej jasności
       24        wyłączenie podkreślenia
       25        wyłączenie migania
       27        wyłączenie inwersji
       30        ustawienie koloru czarnego
       31        ustawienie koloru czerwonego
       32        ustawienie koloru zielonego
       33        ustawienie koloru brązowego
       34        ustawienie koloru niebieskiego
       35        ustawienie koloru fioletowego
       36        ustawienie koloru niebieskozielonego
       37        ustawienie koloru białego
       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        ustawienie czarnego tła
       41        ustawienie czerwonego tła
       42        ustawienie zielonego tła
       43        ustawienie brązowego tła
       44        ustawienie niebieskiego tła
       45        ustawienie fioletowego tła
       46        ustawienie niebieskozielonego tła
       47        ustawienie białego tła
       48        256/24-bit background color follows, shoehorned into 8 basic colors
       49        ustawienie domyślnego koloru tła
       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

       Przełączniki trybu ECMA-48

       ESC [ 3 h
              DECCRM (domyślnie wyłączone): Wyświetlanie znaków sterujących.

       ESC [ 4 h
              DECIM (domyślnie wyłączone): Włączenie trybu wstawiania (insert).

       ESC [ 20 h
              LF/NL (domyślnie wyłączone): Automatyczne podążanie za echem LF, VT lub FF z CR.

       Polecenia zgłaszania stanu ECMA-48

       ESC [ 5 n
              Raport stanu urządzenia (DSR): Odpowiedzią jest ESC [ 0 n (Terminal OK).

       ESC [ 6 n
              Raport pozycji kursora (CPR): Odpowiedzią jest ESC [ y ; x R, gdzie x,y to pozycja kursora.

       Sekwencje trybu prywatnego DEC (DECSET/DECRST)

       Nie  są  one  opisane  w  ECMA-48. Opisano tu sekwencje włączania trybu; Sekwencje wyłączania trybu można
       uzyskać przez zamianę ostatniego "h" na "l".

       ESC [ ? 1 h
              DECCKM (domyślnie wyłączone): Gdy włączone, klawisze kursora wysyłają przedrostek ESC O, a nie ESC
              [.

       ESC [ ? 3 h
              DECCOLM (domyślnie  wyłączone  =  80  kolumn):  Przełącznik  trybu  80/132  kolumny.   W  źródłach
              sterownika  zaznaczono,  że  to  nie  wystarcza;  niektóre  narzędzia trybu użytkownika, takie jak
              resizecons(8)  muszą zmienić rejestry sprzętowe karty graficznej konsoli.

       ESC [ ? 5 h
              DECSCNM (domyślnie wyłączone): Włączenie trybu inwersji.

       ESC [ ? 6 h
              DECOM (domyślnie wyłączone): Gdy włączone, adresowanie kursora następuje względem  górnego  lewego
              narożnika regionu przewijania.

       ESC [ ? 7 h
              DECAWM  (domyślnie włączone): Włączenie autozawijania. W tym trybie znak graficzny, wyemitowany za
              80 (lub 132) kolumną, zostanie zawinięty na początek następnego wiersza.

       ESC [ ? 8 h
              DECARM (domyślnie włączone): Włączenie samopowtarzania klawiatury.

       ESC [ ? 9 h
              Zgłaszanie myszy X10 (domyślnie wyłączone): Ustawienie trybu zgłaszania na 1 (lub wyłączenie na 0)
              — patrz niżej.

       ESC [ ? 25 h
              DECTECM (domyślnie włączone): Uczynienie kursora widzialnym.

       ESC [ ? 1000 h
              Zgłaszanie myszy X11 (domyślnie wyłączone): Ustawienie trybu zgłaszania na 2 (lub wyłączenie na 0)
              — patrz niżej.

       Prywatne sekwencje CSI konsoli Linuksa

       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 ]       Set color n as the underline color.
       ESC [ 2 ; n ]       Set color n as the dim color.
       ESC [ 8 ]           Uczynienie bieżącej pary kolorów atrybutem domyślnym.
       ESC [ 9 ; n ]       Ustawienie okresu wygaszania ekranu na n minut.
       ESC [ 10 ; n ]      Ustawienie częstotliwości dzwonka w Hz.
       ESC [ 11 ; n ]      Ustawienie czasu trwania dzwonka w ms.
       ESC [ 12 ; n ]      Przeniesienie podanej konsoli na wierzch.
       ESC [ 13 ]          Wyłączenie wygaszenia ekranu.
       ESC [ 14 ; n ]      Ustawienie czasu wyłączenia zasilania VESA w minutach.
       ESC [ 15 ]          Przeniesienie podanej konsoli na wierzch.  (od Linuksa
                           2.6.0).
       ESC [ 16 ; n ]      Set  the  cursor blink interval in milliseconds (since
                           Linux 4.2).

   Zestawy znaków
       Jądro zna 4 translacje bajtów na symbole znaków ekranu konsoli.  Tymi czterema tablicami są: a) Latin1 ->
       PC, b) grafika VT100 -> PC, c) PC -> PC, d) zdefiniowane przez użytkownika.

       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.

       Zmienne G0 i G1 wskazują na tablicę  translacji  i  mogą  być  zmieniane  przez  użytkownika.  Początkowo
       wskazują  odpowiednio  na  tablice a) i b).  Sekwencje ESC ( B, ESC ( 0, ESC ( U, ESC ( K powodują, że G0
       wskazuje odpowiednio na tablice a), b), c), d).  Sekwencje ESC ) B, ESC ) 0,  ESC ) U, ESC ) K  powodują,
       że G1 wskazuje odpowiednio na tablice 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.

       Zdefiniowana  przez  użytkownika  tablica  mapowań  może  być  ustawiana  za  pomocą mapscrn(8). Wynikiem
       mapowania jest to, że jeśli wyświetlany jest symbol c, to do pamięci grafiki wysyłany  jest  symbol  s  =
       mapa[c].  Mapa  bitowa,  odpowiadająca  s,  która  znajduje  się  w  nieulotnej pamięci grafiki, może być
       zmieniona za pomocą setfont(8).

   Śledzenie myszy
       Funkcja śledzenia myszy jest przeznaczana do  zgłaszania  stanu  myszy,  zgodnego  z  xterm(1).  Ponieważ
       sterownik  konsoli  nie  ma  możliwości  dowiedzenia  się o urządzeniu ani o rodzaju myszy, zgłoszenia te
       zwracane są w strumieniu wejściowym konsoli tylko wtedy, gdy sterownik  terminala  wirtualnego  otrzymuje
       ioctl  odświeżający  stan myszy. Ioctl-e te muszą być generowane przez świadomą istnienia myszy aplikację
       trybu użytkownika, taką jak demon gpm(8).

       Parametry wszystkich sekwencji specjalnych śledzenia  myszy,  generowanych  przez  xterm(1)  są  kodowane
       numerycznie w pojedynczych znakach, jako wartość+040. Na przykład, "!" to 1. Współrzędne ekranu zaczynają
       się od 1.

       Tryb  zgodności  z  X10 wysyła sekwencje specjalne przy naciskaniu przycisków, kodując położenie oraz to,
       który przycisk myszy został naciśnięty. Jest to włączane przez wysłanie ESC [ ? 9 h i wyłączane przez ESC
       [ ? 9 l.  Przy naciskaniu przycisków, xterm(8) wysyła ESC [ M bxy (6 znaków). b jest tu równe  klawisz-1,
       a x i y są współrzędnymi x i y kursora myszy w momencie przyciśnięcia. Ten sam kod produkuje jądro.

       Normalny  tryb  śledzenia  (nie zaimplementowany w Linuksie 2.0.24) wysyła sekwencję specjalną zarówno po
       przyciśnięciu, jak i po zwolnieniu przycisku.  Wysyłana jest również  informacja  modyfikatora.  Jest  to
       włączane  przez  wysłanie  ESC  [  ?  1000 h, a wyłączane przez ESC [ 1000 l. xterm(1) po naciśnięciu lub
       zwolnieniu przycisku wysyła ESC [ M bxy. Dwa niższe bity b kodują informację  o  przycisku:  0=naciśnięto
       pierwszy,  1=naciśnięto  drugi,  2=naciśnięto  trzeci,  3=zwolnienie.  W  górnych  bitach  zakodowane  są
       modyfikatory wciśnięte podczas naciskania przycisku. Są one dodawane: 4=Shift, 8=Meta, 16=Control. Znowu,
       x i y to współrzędne kursora myszy podczas zdarzenia. Górny lewy narożnik to (1,1).

   Porównania z innymi terminalami
       Wiele różnych typów terminali, podobnie jak konsola Linuksa, jest  opisywanych  jako  "zgodne  z  VT100".
       Poniżej  omówiono  różnice  między  konsolą Linuksa i dwoma najważniejszymi spośród innych terminali: DEC
       VT102 i xterm(1).

       Obsługa znaków sterujących

       VT 102 rozpoznawał też następujące znaki sterujące:

       NUL (0x00) było ignorowane;

       ENQ (0x05) wywoływało komunikat odpowiadający;

       DC1 (0x11, ^Q, XON) resumed transmission;

       DC3 (0x13, ^S, XOFF) caused VT100 to ignore (and stop transmitting) all codes except XOFF and XON.

       Przetwarzanie DC1/DC3 tego rodzaju, jakie było w VT100 może być włączone przez sterownik terminala.

       Program xterm(1) (w trybie VT100) rozpoznaje znaki sterujące BEL, BS, HT, LF, VT, FF, CR, SO, SI, ESC.

       Sekwencje specjalne

       Sekwencje VT100 nie implementowane przez konsolę Linuksa:
       ESC N       SS2   Pojedyncze przesunięcie 2. (Wybranie zestawu znaków G2
                         tylko dla następnego znaku.)
       ESC O       SS3   Pojedyncze przesunięcie 3. (Wybranie zestawu znaków G3
                         tylko dla następnego znaku.)
       ESC P       DCS   Łańcuch kontrolny urządzenia (zakończony ESC \)
       ESC X       SOS   Początek łańcucha.
       ESC ^       PM    Komunikat prywatności (zakończony ESC \)
       ESC \       ST    Zakończenie łańcucha
       ESC * ...         Wyznaczenie zestawu znaków G2
       ESC + ...         Wyznaczenie zestawu znaków 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.

       Użytkownik  może skonfigurować xterm(1) tak, żeby odpowiadał używając sekwencji kontrolnych specyficznych
       dla VT220. Może identyfikować siebie jako VT52, VT100  i  większe  —  w  zależności  od  tego,  jak  jest
       skonfigurowany i zainicjowany.

       Zezwala  na  ustawienie  pewnych zasobów za pomocą ESC ] (OSC). Oprócz znaku końca łańcucha znaków (ST) z
       ECMA-48, xterm(1) akceptuje także BEL do zakończenia  łańcucha  znaków  OSC.  xterm(1)  rozpoznaje  kilka
       następujących sekwencji sterujących:
       ESC ] 0 ; txt ST        Ustawienie nazwy ikony i tytułu okna na txt.
       ESC ] 1 ; txt ST        Ustawienie nazwy ikony na txt.
       ESC ] 2 ; txt ST        Ustawienie tytułu okna na txt.
       ESC ] 4 ; num; txt ST   Ustawienie koloru ANSI num na txt.
       ESC ] 10 ; txt ST       Ustawienie dynamicznego koloru tekstu na txt.
       ESC ] 4 6 ; nazwaST     Zmiana pliku logu na nazwa (normalnie wyłączone
                               przez opcję kompilacji)
       ESC ] 5 0 ; fn ST       Ustawienie czcionki na fn.

       Rozpoznaje  następujące,  z  nieznacznie  zmienionym  znaczeniem (zapisuje więcej stanów, zachowanie jest
       bliższe do VT100/VT220):
       ESC 7  DECSC   Zachowanie kursora
       ESC 8  DECRC   Odtworzenie kursora

       Podobnie, rozpoznaje również
       ESC F          Kursor do dolnego lewego narożnika ekranu (o ile włączone
                      przez zasób hpLowerleftBugCompat programu xterm(1)).
       ESC l          Blokowanie pamięci (dla terminali HP).
                      Blokuje pamięć ponad kursorem.
       ESC m          Odblokowanie pamięci (dla terminali HP).
       ESC n   LS2    Wywołanie zestawu znaków G2.
       ESC o   LS3    Wywołanie zestawu znaków G3.
       ESC |   LS3R   Wywołanie zestawu znaków G3 jako GR.
                      W xtermie jest to bez widocznego efektu.
       ESC }   LS2R   Wywołanie zestawu znaków G2 jako GR.
                      W xtermie jest to bez widocznego efektu.
       ESC ~   LS1R   Wywołanie zestawu znaków G1 jako GR.
                      W xtermie jest to bez widocznego efektu.

       Rozpoznaje także sekwencje ESC  %  i  dostarcza  bardziej  kompletnej  implementacji  UTF-8  niż  konsola
       linuksowa.

       Sekwencje CSI

       Stare  wersje  programu  xterm(1),  na przykład wersja z X11R5, interpretują migający SGR jako pogrubiony
       SGR. Późniejsze wersje, w których zaimplementowano obsługę kolorów ANSI, na  przykład  XFree86  3.1.2A  z
       1995r.,  pozwalały  na wyświetlanie atrybutu migania jako koloru. Nowoczesne wersje xterm(1) implementują
       migający SGR jako migający tekst, ale wciąż pozwalają na alternatywne  wyświetlanie  tego  atrybutu  jako
       kolor.  Oryginalne wersje z X11R6 nie rozpoznawały SGR-a ustawiającego kolor aż do wydania X11R6.8, które
       zawierało xterm pochodzący z XFree86. Wszystkie sekwencje ECMA-48 CSI rozpoznawane przez Linuksa są także
       rozpoznawane przez xterm, jednakże xterm(1) implementuje  kilka  sekwencji  sterujących  ECMA-48  i  DEC,
       których Linux  nie rozpoznaje.

       The  xterm(1)   program  recognizes  all  of the DEC Private Mode sequences listed above, but none of the
       Linux private-mode sequences.  For discussion of xterm(1)'s own  private-mode  sequences,  refer  to  the
       Xterm Control Sequences document by Edward Moy, Stephen Gildea, and Thomas E. Dickey available with the X
       distribution.   That  document,  though terse, is much longer than this manual page.  For a chronological
       overview,

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

       szczegóły zmian w xtermie

       Program vttest

              http://invisible-island.net/vttest/

       obrazuje wiele z powyższych sekwencji sterujących. Archiwum  źródłowe  programu  xterm(1)  także  zawiera
       przykładowe skrypty, pokazujące również inne właściwości.

UWAGI

       ESC 8 (DECRC) nie potrafi odtworzyć zestawu znaków zmienionego przez ESC %.

BŁĘDY

       W 2.0.23 CSI jest zepsute, a NUL nie jest ignorowany w sekwencjach specjalnych.

       Niektóre  starsze  wersje  jądra (po wersji 2.0) interpretują 8-bitowe sekwencje sterujące. Te "kontrolki
       C1" używają kodów pomiędzy 128 i 159,  zastępując  nimi  ESC  [,  ESC  ]  i  podobne  początki  sekwencji
       sterujących.  W  nowoczesnych  jądrach  zostały  tylko  pozostałości  po  tej  funkcjonalności  (albo  je
       przeoczono, albo popsuto, implementując zmiany związane z obsługą UTF-8), jednakże ich implementacja jest
       niekompletna i nie należy na niej polegać.

       Sekwencje "prywatnego trybu" Linuksa nie przestrzegają reguł ECMA-48  dotyczących  sekwencji  sterujących
       trybu  prywatnego.  W  szczególności  sekwencje  kończące  się  znakiem ] nie używają standardowego znaku
       kończącego sekwencję. Większym problemem jest sekwencja OSC (ustawienie palety), ponieważ  xterm(1)  może
       interpretować  ją  jako  sekwencję  sterującą  wymagającą  znaku  zakończenia  łańcucha  znaków  (ST).  W
       przeciwieństwie do sekwencji generowanych  przez  setterm(1),  które  zostaną  zignorowane  (ponieważ  są
       niepoprawne),  sekwencja  ustawienia  palety  spowoduje, że xterm(1) będzie się zachowywał tak, jakby się
       zawiesił  (naciśnięcie  klawisza  return  go  odblokuje).  Aby    aplikacje,   w   których   na   sztywno
       zaimplementowano  obsługę  linuksowych  sekwencji  sterujących,  działały  poprawnie pod xterm-em, należy
       ustawić zasób brokenLinuxOSC programu xterm na "true".

       Wcześniejsza wersja tego dokumentu sugerowała,  że  Linux  rozpoznaje  sekwencje  kontrolne  ECMA-48  dla
       niewidocznego tekstu. Są one ignorowane.

ZOBACZ TAKŻE

       ioctl_console(2), charsets(7)

O STRONIE

       Angielska  wersja  tej strony pochodzi z wydania 5.10 projektu Linux man-pages. Opis projektu, informacje
       dotyczące   zgłaszania   błędów   oraz   najnowszą   wersję   oryginału   można   znaleźć   pod   adresem
       https://www.kernel.org/doc/man-pages/.

T◈UMACZENIE

       Autorami  polskiego  tłumaczenia  niniejszej  strony podręcznika są: Przemek Borys <pborys@dione.ids.pl>,
       Robert Luberda <robert@debian.org> i Michał Kułach <michal.kulach@gmail.com>

       Niniejsze tłumaczenie jest wolną dokumentacją. Bliższe informacje  o  warunkach  licencji  można  uzyskać
       zapoznając   się   z   GNU General Public License w wersji 3   lub  nowszej.  Nie  przyjmuje  się  ŻADNEJ
       ODPOWIEDZIALNOŚCI.

       Błędy w  tłumaczeniu  strony  podręcznika  prosimy  zgłaszać  na  adres  listy  dyskusyjnej  manpages-pl-
       list@lists.sourceforge.net.

Linux                                          13 sierpnia 2020 r.                              CONSOLE_CODES(4)