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 vttesthttp://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
       ⟨https://www.gnu.org/licenses/gpl-3.0.html⟩  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⟩.