oracular (4) console_codes.4.gz

Provided by: manpages-pl_4.23.1-1_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/IEC 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

       Znak  jest znakiem sterującym, jeśli (przed transformacją wynikającą z tablicy mapowania) posiada jeden z
       14 kodów 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).  Można sobie ustawić tryb „display control characters” (wyświetlania
       znaków sterujących), który umożliwia wyświetlanie 07, 09, 0b, 18, 1a, 7f jako glifów. Z drugiej strony, w
       trybie  UTF-8  wszystkie kody 00–1f są uznawane za znaki sterujące, niezależnie od trybu „display control
       characters”.

       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)
              wydaje dźwięk;

       BS (0x08, ^H)
              przesuwa kursor o jedną spację w lewo (lecz nie poza początek wiersza);

       HT (0x09, ^I)
              przesuwa kursor do następnego tabulatora, lub na koniec wiersza, gdy wcześniej tabulatora nie ma;

       LF (0x0A, ^J)
       VT (0x0B, ^K)
       FF (0x0C, ^L)
              wypisują znak nowego wiersza, a jeśli ustawiono LF/NL (tryb nowego wiesza), to wypisują także znak
              powrotu karetki.

       CR (0x0D, ^M)
              wypisuje znak powrotu karetki;

       SO (0x0E, ^N)
              włącza zestaw znaków G1;

       SI (0x0F, ^O)
              włącza zestaw znaków G0;

       CAN (0x18, ^X)
       SUB (0x1A, ^Z)
              przerywa sekwencje specjalne;

       ESC (0x1B, ^[)
              rozpoczyna nową sekwencję specjalną;

       DEL (0x7F)
              jest ignorowane;

       CSI (0x9B)
              jest równoznaczne z 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 %              Rozpoczęcie sekwencji wybierania zestawu znaków
       ESC % @               Wybranie domyślnego (ISO/IEC 646 / ISO/IEC 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 (po którym następuje jeden znak
                          z: B, 0, U, K, jak poniżej)
       ESC ( B            Wybranie domyślnego (mapowanie ISO/IEC 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ą narzędziem mapscrn(8).
       ESC )              Rozpoczęcie sekwencji, definiującej zestaw znaków G1 (po której następuje jeden znak z
                          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      Przedrostek polecenia systemu operacyjnego (Operating System Command)
       ESC ] R            Resetuje paletę.
       ESC ] P            Ustawienie palety z parametrem podanym w 7 szesnastkowych cyfrach nrrggbb,
                          następujących po ostatnim P. n jest tu  kolorem (0–15), a rrggbb określa wartości
                          czerwieni/zieleni/niebieskości (0–255).

       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 przewijania wstecz (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 wyboru 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)
       3          włączenie kursywy (od Linuksa 2.6.22; symulowane kolorem na ekranach kolorowych)
       4          włączenie podkreślenia (underscore) (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         włączenie podkreślenia (underline); przed Linuksem 4.17 wartość ta ustawiała normalną jasność
                  (jak dzieje się na wielu innych terminalach)
       22         ustawienie normalnej jasności
       23         wyłączenie kursywy (od Linuksa 2.6.22)
       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         po którym następuje 256/24-bitowy kolor, uproszczony do 16 podstawowych kolorów (przed
                  Linuksem 3.16: włącza podkreślenie, ustawia domyślny kolor pierwszoplanowy)
       39         ustawienie domyślnego koloru (przed Linuksem 3.16: wyłączenie podkreślenia, ustawienie koloru
                  domyślnego)
       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         po którym następuje 256/24-bitowy kolor tła, uproszczony do 8 podstawowych kolorów
       49         ustawienie domyślnego koloru tła
       90..97     ustawienie kolorów na jaśniejsze wersje 30..37
       100..107   ustawienie tła, takie same jak 40..47 (pojaśnienie nieobsługiwane)

       Polecenia 38 i 48 wymagają dodatkowych argumentów:

       ;5;x       256 kolor: wartości 0..15 to IBGR (czarny, czerwony, zielony, ... biały), 16..231 to  sześcian
                  kolorów 6x6x6, 232..255 to skala szarości
       ;2;r;g;b   24-bitowy kolor, składowe r/g/b (czerw./ziel./nieb.) w zakresie 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

       Następujące  sekwencje  nie  należą  ani  do ECMA-48, ani do oryginalnego VT102.  Zostały one wprowadzone
       przez sterownik konsoli Linuksa. Kolorami w parametrach SGR są: 0 = czarny, 1 = czerwony, 2 = zielony,  3
       = brązowy, 4 = niebieski, 5 = fioletowy, 6 = niebieskozielony, 7 = biały, 8–15 = jaśniejsze wersje 0–7.

       ESC [ 1 ; n ]       Ustawienie koloru n jako kolor podkreślenia.
       ESC [ 2 ; n ]       Ustawienie koloru n jako kolor dim.
       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 ]      Interwał pomiędzy mignięciami kursora w milisekundach (od Linuksa 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.

       Istnieją dwa zbiory znaków, zwane G0 i G1, a jeden z nich jest bieżącym zestawem znaków (początkowo  G0).
       Wpisanie ^N powoduje, że bieżącym zestawem staje się G1, a ^O — że G0.

       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) i d).  Sekwencje ESC ) B, ESC ) 0,  ESC ) U, ESC ) K powodują,
       że G1 wskazuje odpowiednio na tablice a), b), c) i d).

       Sekwencja ESC c powoduje reset terminala. Jest to tym, czego potrzeba, jeśli ekran  zostanie  zaśmiecony.
       Często  zalecane  "echo  ^V^O"  powoduje  tylko,  że  G0  staje się bieżącym zestawem znaków, lecz nie ma
       gwarancji że wskazuje on na tablicę a).  W niektórych dystrybucjach znajduje się program reset(1),  który
       po  prostu  wysyła  "echo  ^[c".  Jeśli wpis dla konsoli w bazie terminfo jest prawidłowy (i zawiera wpis
       rs1=\Ec), to zadziała również "tput reset".

       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)
              wznawiało transmisję;

       DC3 (0x13, ^S, XOFF)
              powodowało, że VT100 ignorował (i przestawał transmitować) wszystkie kody poza XOFF i 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

       Program  xterm(1)  (w  trybie VT100) rozpoznaje ESC c, ESC # 8, ESC >, ESC =, ESC D, ESC E, ESC H, ESC M,
       ESC N, ESC O, ESC P ... ESC \, ESC Z (daje odpowiedź ESC [ ? 1 ; 2 c, "Jestem VT100 z  rozszerzoną  opcją
       grafiki")  i  ESC  ^ ... ESC \ o takich samych znaczeniach, jak opisano powyżej.  Przyjmuje ESC (, ESC ),
       ESC *, ESC + , po których następuje 0, A, B, odpowiednio dla specjalnego  zestawu  znaków  DEC  i  zbioru
       rysowania linii, UK oraz US-ASCII.

       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.

       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.

       Program xterm(1) rozpoznaje wszystkie opisane powyżej sekwencje trybu prywatnego DEC, lecz nie rozpoznaje
       żadnej  z  prywatnych  sekwencji Linuksa. Omówienie sekwencji prywatnych programu xterm(1) znajduje się w
       dokumencie Xterm Control Sequences, napisanym przez Edwarda Moya i Stephena Gildea'a i Thomasa E. Dickeya
       dostępnym w dystrybucji X. Dokument ten, choć zwięzły, jest o wiele dłuższy niż ta strona podręcznika. Po
       wprowadzenie w porządku chronologicznym, patrz

              ⟨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 %.

USTERKI

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

       Niektóre  starsze wersje jądra (po Linuksie 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)

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⟩.