console_codes(4) Device Drivers Manual console_codes(4) NAZWA console_codes - Kody konsolowe Linuksa oraz sekwencje specjalne OPIS The Linux console implements a large subset of the VT102 and ECMA-48 / ISO/IEC 6429 / ANSI X3.64 terminal controls, plus certain private-mode sequences for changing the color palette, character-set mapping, and so on. In the tabular descriptions below, the second column gives ECMA-48 or DEC mnemonics (the latter if prefixed with DEC) for the given function. Sequences without a mnemonic are neither ECMA-48 nor VT102. Po przetworzeniu normalnego wyjscia, gdy strumien znakow dojdzie do sterownika konsoli, ktora ma go fizycznie wyswietlic, to pierwsza rzecza, ktora jest robiona, jest przetlumaczenie tego strumienia z jezyka przetwarzania na jezyk wyswietlania. Jesli konsola znajduje sie w trybie UTF-8, to nadchodzace bajty sa najpierw skladane w 16-bitowe kody Unicode. W przeciwnym wypadku, kazdy bajt jest przetwarzany zgodnie z biezacym mapowaniem (ktore go tlumaczy na wartosc Unicode). Dalsza dyskusja znajduje sie ponizej, w sekcji Zestawy znakow. W normalnym wypadku, wartosc Unicode jest konwertowana na indeks czcionki, ktory jest przechowywany w pamieci obrazu. Efektem uzycia tego indeksu jest pojawienie sie odpowiadajacego glifu (wizerunku znaku, znalezionego w nieulotnej pamieci obrazu) na ekranie. Nalezy zauwazyc, ze uzycie Unicode (i konstrukcja sprzetu PC) pozwala na jednoczesne uzywanie 512 roznych glifow. Jesli biezaca wartosc Unicode jest znakiem sterujacym lub jesli przetwarzana jest sekwencja specjalna, to wartosc ta jest traktowana w sposob specjalny. Zamiast zmieniania jej na indeks czcionki i interpretacji jako glif, moze ona wyzwolic ruchy kursora lub inne funkcje sterujace. Dalsza dyskusja znajduje sie ponizej, w sekcji Kontrolki konsoli systemu Linux. Ogolnie nie jest dobrym zwyczajem wkodowywanie do programow kodow terminala na sztywno. Linux obsluguje baze danych terminfo(5), ktora opisuje wlasciwosci terminali. Zamiast recznego wyprowadzania sekwencji kontrolnych konsoli, prawie zawsze wygodniej jest korzystac z biblioteki obslugi terminala ncurses(3), oraz programow narzedziowych, takich jak tput(1) czy reset(1). Kontrolki konsoli systemu Linux Sekcja ta opisuje wszystkie znaki sterujace i sekwencje specjalne, ktore wywoluja funkcje specjalne (tj. wszystko inne niz wypisywanie glifu w pozycji kursora) konsoli Linuksa. Znaki sterujace 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. Jesli mamy znak sterujacy, to jest on natychmiast wykonywany i kasowany (nawet w srodku sekwencji specjalnej), a sekwencja specjalna leci dalej, z nastepnym znakiem. (Jednak ESC rozpoczyna nowa sekwencje specjalna, przypuszczalnie anulujac niedokonczona poprzednia, a CAN i SUB przerywaja dowolna sekwencje specjalna). Rozpoznawanymi znakami sterujacymi sa BEL, BS, HT, LF, VT, FF, CR, SO, SI, CAN, SUB, ESC, DEL, CSI. Robia one to, czego mozna oczekiwac: 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) 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) SUB (0x1A, ^Z) abort escape sequences; ESC (0x1B, ^[) starts an escape sequence; DEL (0x7F) is ignored; CSI (0x9B) is equivalent to ESC [. Sekwencje ESC- lecz nie CSI- ESC c RIS Reset. ESC D IND Przesuniecie o wiersz. ESC E NEL Nowy wiersz. ESC H HTS Ustawienie tabulatora w biezacej kolumnie. ESC M RI Cofniecie o wiersz. ESC Z DECID Prywatna identyfikacja DEC. Jadro zwraca napis ESC [ ? 6 c, twierdzac, ze jest to VT102. ESC 7 DECSC Zachowanie biezacego stanu (wspolrzedne kursora, atrybuty, zestawy znakow wskazywane przez G0 i G1). ESC 8 DECRC Odtworzenie ostatnio zachowanego przez ESC 7 stanu. ESC % Rozpoczecie sekwencji wybierania zestawu znakow ESC % @ Select default (ISO/IEC 646 / ISO/IEC 8859-1) ESC % G Wybranie UTF-8 ESC % 8 Wybranie UTF-8 (przestarzale) ESC # 8 DECALN DEC test wyrownania ekranu - wypelnienie ekranu znakami E ESC ( Start sequence defining G0 character set (followed by one of B, 0, U, K, as below) ESC ( B Select default (ISO/IEC 8859-1 mapping). ESC ( 0 Select VT100 graphics mapping. ESC ( U Select null mapping - straight to character 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 Ustawienie dla bloku klawiszy trybu numerycznego. ESC = DECPAM Ustawienie dla bloku klawiszy trybu aplikacyjnego. 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). Sekwencje ECMA-48 CSI Za CSI (lub ESC [) nastepuje sekwencja parametrow, co najwyzej NPAR (16), ktore sa liczbami dziesietnymi, oddzielonymi srednikami. Pusty lub nieobecny parametr przyjmowany jest za zero. Sekwencja parametrow moze byc poprzedzona pojedynczym znakiem zapytania. Jednak po CSI [ (lub ESC [ [) odczytywany jest pojedynczy znak, a cala sekwencja jest ignorowana (pomysl ten ma na celu ignorowanie klawisza funkcyjnego dajacego echo). Akcja sekwencji CSI jest okreslona jej ostatnim znakiem. @ ICH Wstawienie okreslonej liczby pustych znakow. A CUU Przesuniecie kursora w gore o zadana liczbe wierszy. B CUD Przesuniecie kursora w dol o zadana liczbe wierszy. C CUF Przesuniecie kursora w prawo o zadana liczbe kolumn. D CUB Przesuniecie kursora w lewo o zadana liczbe kolumn. E CNL Przesuniecie kursora w dol o zadana liczbe wierszy do kolumny 1. F CPL Przesuniecie kursora w gore o zadana liczbe wierszy do kolumny 1. G CHA Przesuniecie kursora do wskazanej kolumny biezacego wiersza. H CUP Przesuniecie kursora do wskazanego wiersza i kolumny (poczatek w 1,1). J ED Wymazanie ekranu (domyslnie: od pozycji kursora, do konca ekranu). ESC [ 1 J: czysci od poczatku do kursora. ESC [ 2 J: czysci caly ekran. ESC [ 3 J: erase whole display including scroll-back buffer (since Linux 3.0). K EL Wymazanie wiersza (domyslnie od kursora do konca wiersza). ESC [ 1 K: czysci od poczatku wiersza do kursora. ESC [ 2 K: czysci caly wiersz. L IL Wstawienie zadanej liczby pustych wierszy. M DL Skasowanie zadanej liczby wskazanych wierszy. P DCH Skasowanie zadanej liczby wskazanych znakow w biezacym wierszu. X ECH Wymazanie zadanej liczby wskazanych znakow w biezacym wierszu. a HPR Przesuniecie kursora w prawo o zadana liczbe kolumn. c DA Odpowiedz: ESC [ ? 6 c: "Jestem VT102" d VPA Przesuniecie kursora do wskazanego wiersza i biezacej kolumny. e VPR Przesuniecie kursora w dol o zadana liczbe wierszy. f HVP Przesuniecie kursora do wskazanego wiersza i kolumny. g TBC Bez parametrow: skasowanie tabulatora w biezacej pozycji. ESC [ 3 g: skasowanie wszystkich tabulatorow. h SM Ustawienie trybu (patrz nizej). l RM Inicjacja trybu (patrz nizej). m SGR Ustawienie atrybutow (patrz nizej). n DSR Raport o stanie (patrz nizej). q DECLL Ustawienie LED-ow klawiatury. ESC [ 0 q: wylaczenie wszystkich LED-ow. ESC [ 1 q: wlaczenie diody ScrollLock ESC [ 2 q: wlaczenie diody NumLock ESC [ 3 q: wlaczenie diody CapsLock r DECSTBM Ustawienie obszaru przewijania; parametry to gorny i dolny wiersz. s ? Zapamietanie pozycji kursora. u ? Odtworzenie pozycji kursora. ` HPA Przesuniecie kursora do wskazanej kolumny biezacego wiersza. ECMA-48 Select Graphic Rendition Sekwencja ECMA-48 SGR, czyli ESC [ parametry m ustawia atrybuty wyswietlania. Mozna ustawic wiele atrybutow w pojedynczej sekwencji specjalnej, oddzielajac je od siebie znakami srednika. Pusty parametr (pomiedzy srednikami lub poczatkiem lub koncem sekwencji) jest interpretowany jako zero. param wynik 0 inicjacja wszystkich atrybutow do wartosci domyslnych 1 wlaczenie pogrubienia 2 wlaczenie polrozjasnienia (symulowane kolorem na ekranach kolorowych) 3 set italic (since Linux 2.6.22; simulated with color on a color display) 4 wlaczenie podkreslenia (symulowane kolorem na ekranach kolorowych) (kolory uzywane do symulacji sa ustawiane za pomoca ESC ] ...) 5 wlaczenie migania 7 wlaczenie inwersji 10 wylaczenie wybranego mapowania, znacznika kontroli wyswietlania i przelaczenie flagi "meta" (ECMA-48 nazywa to "czcionka podstawowa"). 11 wybranie mapowania zerowego, ustawienie znacznika kontroli, czysci znacznik przelaczania meta (ECMA-48 nazywa to "pierwsza czcionka alternatywna"). 12 wybranie mapowania zerowego, ustawienie znacznika kontroli, ustawia znacznik przelaczania meta (ECMA-48 okresla to "druga czcionka alternatywna"). Znacznik przelaczania meta powoduje przestawienie wysokiego bitu w bajcie przed zakonczeniem translacji tablicy mapowan. 21 set underline; before Linux 4.17, this value set normal intensity (as is done in many other terminals) 22 ustawienie normalnej jasnosci 23 italic off (since Linux 2.6.22) 24 wylaczenie podkreslenia 25 wylaczenie migania 27 wylaczenie inwersji 30 ustawienie koloru czarnego 31 ustawienie koloru czerwonego 32 ustawienie koloru zielonego 33 ustawienie koloru brazowego 34 ustawienie koloru niebieskiego 35 ustawienie koloru fioletowego 36 ustawienie koloru niebieskozielonego 37 ustawienie koloru bialego 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 tla 41 ustawienie czerwonego tla 42 ustawienie zielonego tla 43 ustawienie brazowego tla 44 ustawienie niebieskiego tla 45 ustawienie fioletowego tla 46 ustawienie niebieskozielonego tla 47 ustawienie bialego tla 48 256/24-bit background color follows, shoehorned into 8 basic colors 49 ustawienie domyslnego koloru tla 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 Przelaczniki trybu ECMA-48 ESC [ 3 h DECCRM (domyslnie wylaczone): Wyswietlanie znakow sterujacych. ESC [ 4 h DECIM (domyslnie wylaczone): Wlaczenie trybu wstawiania (insert). ESC [ 20 h LF/NL (default off): Automatically follow echo of LF, VT, or FF with CR. Polecenia zglaszania stanu ECMA-48 ESC [ 5 n Raport stanu urzadzenia (DSR): Odpowiedzia jest ESC [ 0 n (Terminal OK). ESC [ 6 n Raport pozycji kursora (CPR): Odpowiedzia jest ESC [ y ; x R, gdzie x,y to pozycja kursora. Sekwencje trybu prywatnego 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 (domyslnie wylaczone): Gdy wlaczone, klawisze kursora wysylaja przedrostek ESC O, a nie ESC [. ESC [ ? 3 h DECCOLM (domyslnie wylaczone = 80 kolumn): Przelacznik trybu 80/132 kolumny. W zrodlach sterownika zaznaczono, ze to nie wystarcza; niektore narzedzia trybu uzytkownika, takie jak resizecons(8) musza zmienic rejestry sprzetowe karty graficznej konsoli. ESC [ ? 5 h DECSCNM (domyslnie wylaczone): Wlaczenie trybu inwersji. ESC [ ? 6 h DECOM (domyslnie wylaczone): Gdy wlaczone, adresowanie kursora nastepuje wzgledem gornego lewego naroznika regionu przewijania. ESC [ ? 7 h DECAWM (domyslnie wlaczone): Wlaczenie autozawijania. W tym trybie znak graficzny, wyemitowany za 80 (lub 132) kolumna, zostanie zawiniety na poczatek nastepnego wiersza. ESC [ ? 8 h DECARM (domyslnie wlaczone): Wlaczenie samopowtarzania klawiatury. ESC [ ? 9 h X10 Mouse Reporting (default off): Set reporting mode to 1 (or reset to 0)--see below. ESC [ ? 25 h DECTECM (domyslnie wlaczone): Uczynienie kursora widzialnym. ESC [ ? 1000 h X11 Mouse Reporting (default off): Set reporting mode to 2 (or reset to 0)--see below. 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 biezacej pary kolorow atrybutem domyslnym. ESC [ 9 ; n ] Ustawienie okresu wygaszania ekranu na n minut. ESC [ 10 ; n ] Ustawienie czestotliwosci dzwonka w Hz. ESC [ 11 ; n ] Ustawienie czasu trwania dzwonka w ms. ESC [ 12 ; n ] Przeniesienie podanej konsoli na wierzch. ESC [ 13 ] Wylaczenie wygaszenia ekranu. ESC [ 14 ; n ] Ustawienie czasu wylaczenia 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 znakow Jadro zna 4 translacje bajtow na symbole znakow ekranu konsoli. Tymi czterema tablicami sa: a) Latin1 -> PC, b) grafika VT100 -> PC, c) PC -> PC, d) zdefiniowane przez uzytkownika. 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. These variables G0 and G1 point at a translation table, and can be changed by the user. Initially they point at tables a) and b), respectively. The sequences ESC ( B and ESC ( 0 and ESC ( U and ESC ( K cause G0 to point at translation table a), b), c), and d), respectively. The sequences ESC ) B and ESC ) 0 and ESC ) U and ESC ) K cause G1 to point at translation table a), b), c), and d), respectively. 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 uzytkownika tablica mapowan moze byc ustawiana za pomoca mapscrn(8). Wynikiem mapowania jest to, ze jesli wyswietlany jest symbol c, to do pamieci grafiki wysylany jest symbol s = mapa[c]. Mapa bitowa, odpowiadajaca s, ktora znajduje sie w nieulotnej pamieci grafiki, moze byc zmieniona za pomoca setfont(8). Sledzenie myszy Funkcja sledzenia myszy jest przeznaczana do zglaszania stanu myszy, zgodnego z xterm(1). Poniewaz sterownik konsoli nie ma mozliwosci dowiedzenia sie o urzadzeniu ani o rodzaju myszy, zgloszenia te zwracane sa w strumieniu wejsciowym konsoli tylko wtedy, gdy sterownik terminala wirtualnego otrzymuje ioctl odswiezajacy stan myszy. Ioctl-e te musza byc generowane przez swiadoma istnienia myszy aplikacje trybu uzytkownika, taka jak demon 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. Tryb zgodnosci z X10 wysyla sekwencje specjalne przy naciskaniu przyciskow, kodujac polozenie oraz to, ktory przycisk myszy zostal nacisniety. Jest to wlaczane przez wyslanie ESC [ ? 9 h i wylaczane przez ESC [ ? 9 l. Przy naciskaniu przyciskow, xterm(8) wysyla ESC [ M bxy (6 znakow). b jest tu rowne klawisz-1, a x i y sa wspolrzednymi x i y kursora myszy w momencie przycisniecia. Ten sam kod produkuje jadro. Normalny tryb sledzenia (nie zaimplementowany w Linuksie 2.0.24) wysyla sekwencje specjalna zarowno po przycisnieciu, jak i po zwolnieniu przycisku. Wysylana jest rowniez informacja modyfikatora. Jest to wlaczane przez wyslanie ESC [ ? 1000 h, a wylaczane przez ESC [ 1000 l. xterm(1) po nacisnieciu lub zwolnieniu przycisku wysyla ESC [ M bxy. Dwa nizsze bity b koduja informacje o przycisku: 0=nacisnieto pierwszy, 1=nacisnieto drugi, 2=nacisnieto trzeci, 3=zwolnienie. W gornych bitach zakodowane sa modyfikatory wcisniete podczas naciskania przycisku. Sa one dodawane: 4=Shift, 8=Meta, 16=Control. Znowu, x i y to wspolrzedne kursora myszy podczas zdarzenia. Gorny lewy naroznik to (1,1). Porownania z innymi terminalami Wiele roznych typow terminali, podobnie jak konsola Linuksa, jest opisywanych jako "zgodne z VT100". Ponizej omowiono roznice miedzy konsola Linuksa i dwoma najwazniejszymi sposrod innych terminali: DEC VT102 i xterm(1). Obsluga znakow sterujacych VT 102 rozpoznawal tez nastepujace znaki sterujace: NUL (0x00) was ignored; ENQ (0x05) triggered an answerback message; 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 bylo w VT100 moze byc wlaczone przez sterownik terminala. Program xterm(1) (w trybie VT100) rozpoznaje znaki sterujace BEL, BS, HT, LF, VT, FF, CR, SO, SI, ESC. Sekwencje specjalne Sekwencje VT100 nie implementowane przez konsole Linuksa: 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 Lancuch kontrolny urzadzenia (zakonczony ESC \) ESC X SOS Poczatek lancucha. ESC ^ PM Komunikat prywatnosci (zakonczony ESC \) ESC \ ST Zakonczenie lancucha ESC * ... Wyznaczenie zestawu znakow G2 ESC + ... Wyznaczenie zestawu znakow 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. Uzytkownik moze skonfigurowac xterm(1) tak, zeby odpowiadal uzywajac sekwencji kontrolnych specyficznych dla VT220. Moze identyfikowac siebie jako VT52, VT100 i wieksze -- w zaleznosci od tego, jak jest skonfigurowany i zainicjowany. Zezwala na ustawienie pewnych zasobow za pomoca ESC ] (OSC). Oprocz znaku konca lancucha znakow (ST) z ECMA-48, xterm(1) akceptuje takze BEL do zakonczenia lancucha znakow OSC. xterm(1) rozpoznaje kilka nastepujacych sekwencji sterujacych: ESC ] 0 ; txt ST Ustawienie nazwy ikony i tytulu okna na txt. ESC ] 1 ; txt ST Ustawienie nazwy ikony na txt. ESC ] 2 ; txt ST Ustawienie tytulu 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 Change log file to name (normally disabled by a compile-time option). ESC ] 5 0 ; fn ST Ustawienie czcionki na fn. Rozpoznaje nastepujace, z nieznacznie zmienionym znaczeniem (zapisuje wiecej stanow, zachowanie jest blizsze do VT100/VT220): ESC 7 DECSC Zachowanie kursora ESC 8 DECRC Odtworzenie kursora Podobnie, rozpoznaje rowniez ESC F Cursor to lower left corner of screen (if enabled by xterm(1)'s hpLowerleftBugCompat resource). ESC l Blokowanie pamieci (dla terminali HP). Blokuje pamiec ponad kursorem. ESC m Odblokowanie pamieci (dla terminali HP). ESC n LS2 Wywolanie zestawu znakow G2. ESC o LS3 Wywolanie zestawu znakow G3. ESC | LS3R Wywolanie zestawu znakow G3 jako GR. ESC } LS2R Wywolanie zestawu znakow G2 jako GR. ESC ~ LS1R Wywolanie zestawu znakow G1 jako GR. Rozpoznaje takze sekwencje ESC % i dostarcza bardziej kompletnej implementacji UTF-8 niz konsola linuksowa. Sekwencje CSI Stare wersje programu xterm(1), na przyklad wersja z X11R5, interpretuja migajacy SGR jako pogrubiony SGR. Pozniejsze wersje, w ktorych zaimplementowano obsluge kolorow ANSI, na przyklad XFree86 3.1.2A z 1995r., pozwalaly na wyswietlanie atrybutu migania jako koloru. Nowoczesne wersje xterm(1) implementuja migajacy SGR jako migajacy tekst, ale wciaz pozwalaja na alternatywne wyswietlanie tego atrybutu jako kolor. Oryginalne wersje z X11R6 nie rozpoznawaly SGR-a ustawiajacego kolor az do wydania X11R6.8, ktore zawieralo xterm pochodzacy z XFree86. Wszystkie sekwencje ECMA-48 CSI rozpoznawane przez Linuksa sa takze rozpoznawane przez xterm, jednakze xterm(1) implementuje kilka sekwencji sterujacych ECMA-48 i DEC, ktorych 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, szczegoly zmian w xtermie Program vttest obrazuje wiele z powyzszych sekwencji sterujacych. Archiwum zrodlowe programu xterm(1) takze zawiera przykladowe skrypty, pokazujace rowniez inne wlasciwosci. UWAGI ESC 8 (DECRC) nie potrafi odtworzyc zestawu znakow zmienionego przez ESC %. USTERKI 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. Sekwencje "prywatnego trybu" Linuksa nie przestrzegaja regul ECMA-48 dotyczacych sekwencji sterujacych trybu prywatnego. W szczegolnosci sekwencje konczace sie znakiem ] nie uzywaja standardowego znaku konczacego sekwencje. Wiekszym problemem jest sekwencja OSC (ustawienie palety), poniewaz xterm(1) moze interpretowac ja jako sekwencje sterujaca wymagajaca znaku zakonczenia lancucha znakow (ST). W przeciwienstwie do sekwencji generowanych przez setterm(1), ktore zostana zignorowane (poniewaz sa niepoprawne), sekwencja ustawienia palety spowoduje, ze xterm(1) bedzie sie zachowywal tak, jakby sie zawiesil (nacisniecie klawisza return go odblokuje). Aby aplikacje, w ktorych na sztywno zaimplementowano obsluge linuksowych sekwencji sterujacych, dzialaly poprawnie pod xterm-em, nalezy ustawic zasob brokenLinuxOSC programu xterm na "true". Wczesniejsza wersja tego dokumentu sugerowala, ze Linux rozpoznaje sekwencje kontrolne ECMA-48 dla niewidocznego tekstu. Sa one ignorowane. ZOBACZ TAKZE ioctl_console(2), charsets(7) TLUMACZENIE Autorami polskiego tlumaczenia niniejszej strony podrecznika sa: Przemek Borys , Robert Luberda i Michal Kulach Niniejsze tlumaczenie jest wolna dokumentacja. Blizsze informacje o warunkach licencji mozna uzyskac zapoznajac sie z GNU General Public License w wersji 3 lub nowszej. Nie przyjmuje sie ZADNEJ ODPOWIEDZIALNOSCI. Bledy w tlumaczeniu strony podrecznika prosimy zglaszac na adres listy dyskusyjnej . Linux man-pages 6.06 28 stycznia 2024 r. console_codes(4)