Következő Előző Tartalom

4. Framebuffer eszközök használata Intel platformokon

4.1 Mi az a vesafb?

A vesafb egy VESA 2.0 kompatibilis grafikus kártyákkal működő framebuffer eszköz Intel architektúrára. Nagyban hasonlít a kernelben levő framebuffer eszköz meghajtókhoz.

A vesafb képernyőmeghajtó lehetővé teszi, hogy grafikus módokat használj Intel platformon bitmap-es szöveges konzolokon. Lehetővé teszi továbbá, hogy logo-t jeleníts meg, ami valószínűleg a fő oka annak, hogy vesafb-t használj.

Sajnos, nem használhatod a vesafb-vel a VESA 1.2-es kártyákat. Ez azért van, mert az 1.2-es kártyák nem lineáris frame buffering-et használnak. A lineáris framebuffering egyszerűen azt jelenti, hogy a rendszer processzor közvetlenül hozzáfér a képernyő minden egyes bitjéhez. A történelmet tekintve, a régebbi grafikus kártyák csak 64K-t engedtek egyszerre hozzáférni a kernelnek, mivel a fantasztikus CGA/EGA üzemmódoknak ez volt a korlátja. Elképzelhető, hogy valaki írni fog egy vesafb12-es eszközmeghajtót ezekhez a kártyákhoz, de értékes kernel memóriát használna, és meglehetősen ronda patch-re lenne szükség.

Létezik azonban egy potenciális lehetőség, VESA 2.0-s kiegészítést adhatsz a VESA 1.2-es kártyádnak. Letölthetsz egy DOS alól futó rezidens programot, amit ha loadlin-el használsz, segíthet a kártya megfelelő grafikus üzemmódba konfigurálásában. Jegyezzük meg, hogy ez nem mindig működik, például néhány Cirrus Logic kártya, mint például a VLB 54xx-es sorozat, a frame buffering-hez olyan memória címeket használ (például a 15-16MB-os tartomány), amik megakadályozzák, hogy 32MB memóriánál több memóriával rendelkező rendszerek rendesen működjenek. Van mód arra, hogy működésre bírjuk, ha a BIOS-ban szerepel egy olyan opció, amely lyukat hagy a 15-16Mbyte területen a memóriában. Így talán működne, de a Linux nem támogatja a memórialyukakat. Bár van patch ennek az opciónak a megvalósítására [Kinek van, és honnan lehet beszerezni?]. Ha szeretnél kísérletezni ezzel az opcióval, rengeteg TSR szerű program rendelkezésedre áll, a legjobb példa például az UNIVBE, amit megtalálsz az Interneten.

Elképzelhető, hogy találsz kernel patch-et, hogy működésre bírd a VESA 1.2-es kártyád a VESA framebuffer meghajtóval. Például, léteznek patch-ek a régebbi S3 kártyákhoz (mint az S3 Trio, S3 Virge), melyek VESA 1.2-es támogatással rendelkeznek. Ezekhez a kártyákhoz választhatsz patch-et a ftp://ccssu.crimea.ua/pub/linux/kernel/v2.2/unofficial/s3new.diff.gz címről.

4.2 Hogy aktíváljam a vesafb meghajtót?

Tegyük fel, hogy menuconfig-ot használsz, ekkor a következő lépésekre van szükséged:

Ha a processzorod (Intel platformokon) támogatja az MTRR-t, engedélyezd. Ez felgyorsítja a processzor és a grafikus kártya között a memóriamásolást, de nem feltétlen szükséges. Ezt megteheted természetesen a konzol eszköz sikeres beállítása után is.

FONTOS: A 2.1.x kernelverziók esetén, menj a Code Maturity Level menübe, és engedélyezd a fejlesztés alatt álló ésvagy nem teljes meghajtóprogramok kiválasztási lehetőségét. Erre a 2.2.x kernelverziók esetében már nincs szükség.

Menj a Consol Drivers menübe, és engedélyezd a következőket:

  • VGA Text Console
  • Video Selection Support
  • Support for frame buffer devices (experimental)
  • VESA VGA Graphic console
  • Advanced Low Level Drivers
  • Válaszd ki a Mono, 2bpp, 4bpp, 8bpp, 16bpp, 24bpp és a 32bpp tömörített pixel meghajtókat

VGA Chipset Support (text only) - vgafb - szerepelnie kellene a fenti listában, de mivel már helytelenítik a használatát, és többé nem támogatott, így nem szerepeltettük a listában. Rövidesen el is lesz távolítva. Használd inkább a VGA Text Console-t (fbcon). A VGA Character/Attributes csak VGA Chipset támogatással használatos, és nem szükséges kiválasztani.

Biztosítsd, hogy a Mac változó bpp tömörített pixel támogatás nem engedélyezett. A Linux 2.1.111-es kernelverziója (és a 112-es) úgy tűnik, hogy automatikusan engedélyezi, ha az Advanced Low Level Drivers elsőre ki lett választva. Ez a 2.1.113-ban már nem így történik többé.

Fennáll ezenkívük a karakterek memóriábafordításának lehetősége is, de erre valójában nincs szükség és mindig használhatod a kbd-0.99 setfont szerszámát (lásd a karakterekről szóló fejezetet), amivel megváltoztathatod a karaktereket úgy, hogy betöltöd a karaktereket a konzol eszközbe.

Győződj meg róla, hogy ezek nem modulok lesznek. [Nem vagyok benne biztos, hogy lehetséges már modulba fordítani őket - kérlek javíts ki, ha tévednék]

El kell készítened a framebuffer eszközöket a /dev alkönyvárban. Framebuffer eszközönként egyre lesz szükséged, így mindössze annyi a teendőd, hogy kiadod az első alkalommal a mknod /dev/fb0 c 29 0 parancsot. A következők 32 többszörösei lesznek, például a /dev/fb1 elkészítéséhez mknod /dev/fb1 c 29 32 parancsot kell kiadnod, és így tovább, egészen a nyolcadik framebuffer eszközig (mknod /dev/fb7 c 29 224).

Ezután fordítsd újra a kernelt, módosítsd a /etc/lilo.conf-ot, és csatold a VGA=ASK paramétert, majd futtasd a lilo-t, erre azért van szükség, hogy kiválaszthasd, melyik módot szeretnéd majd használni.

Íme egy példa a LILO konfigurációra (az én gépemről vettem):

# LILO konfigurációs állomány
boot = /dev/hda3
delay = 30 
prompt
vga = ASK # Engedjük, hogy a felhasználó adja meg a kívánt módot
image = /vmlinuz
  root = /dev/hda3
  label = Linux
  read-only # A nem-UMSDOS állományrendszert célszerű csak olvashatónak beilleszteni az ellenőrzéshez

Indítsd újra a kernelt, és próbaképpen, írj be 0301-et a VGA promptnál (ez 640x480-as felbontást ad 256 színnel) és máris egy aranyos pici pingvin logót láthatsz.

Jegyezzük meg, hogy a VGA promptnál a szám beírásánál 'x' nélkül kell beírnod a számot "0" és 3 számjegy formában. Erre nincs szükség LILO használatával.

Ha látod, hogy jól működik, felfedezheted a különböző VESA módokat (lásd lejjebb), eldöntheted, hogy melyik tetszik a legjobban és be bedrótozhatod a "VGA=x" paraméter használatával a lilo.conf állományba. Ha kiválasztottad, hogy melyik tetszik a legjobban, keresd ki a neki megfelelő hexadecimális számot a lentebb található táblázatból (pl. 1280x1024 @ 256-hoz "VGA=0x307"-et találsz), és újra le kell futtatnod a lilo-t. Mindössze ennyi a teendő. A későbbi hivatkozásokhoz olvasd el a LoadLin/LILO HOGYANokat.

MEGJEGYZÉS! A vesafb nem engedélyezi a scrollback buffering-et alapértelmezés szerint. Neked kell átadni az engedélyező kernel paramétert. Az engedélyezéshez használd a video=vesa:ypan vagy a video=vesa:ywrap paramétereket. Mindkettő ugyanazt a dolgot teszi, de másképpen. Az ywrap lényegesen gyorsabb, mint az ypan, de nem, vagy részben rosszul működik VESA 2.0-s grafikus kártyákkal. Az ypan lassabb az ywrap-nál, de nagyobb mértékben kompatibilis. Ez az opció csak a 2.1.116-os és magasabb verziószámú kernelekben van jelen. A korábbi kernelekben nem volt meg a scrollback buffering engedélyezésének képesség a vesafb-hez.

4.3 Milyen VESA módok állnak rendelkezésemre?

Ez valójában a rendszered VESA 2.0 kompatibilis grafikus kártyájától függ, valamint a rajta lévő video memória mennyiségétől. Az csak a tesztelés kérdése, hogy melyik video üzemmód a legjobb a grafikus kártyádnak.

A következő tábla a VGA promptnál beadható, vagy a LILO programmal használható üzemmódok számait mutatja. (jelenleg ezek a számok 0x200 felettiek, hogy könnyebb legyen a táblára hivatkozni)

Színek     640x400 640x480 800x600 1024x768 1280x1024 1600x1200
---------+-----------------------------------------------------
 4 bites |    ?       ?     0x302      ?        ?         ?
 8 bites |  0x300   0x301   0x303    0x305    0x307     0x31C
15 bites |    ?     0x310   0x313    0x316    0x319     0x31D
16 bites |    ?     0x311   0x314    0x317    0x31A     0x31E
24 bites |    ?     0x312   0x315    0x318    0x31B     0x31F
32 bites |    ?       ?       ?        ?        ?         ?

Kulcs: 8 bites = 256 színű, 15 bites = 32,768 színű, 16 bites = 65,536 színű, 24 bites = 16.8 millió színű, 32 bites - ugyanaz, mint a 24 bites, de az extra 8 bit más dolgok tárolására is felhasználható, ami tökéletesen megfelel a 32 bites PCI/VLB/EISA busznak.

Egyéb üzemmódok a gyártó diszkréciójától függ, mivel a VESA 2.0 dokumentációja csak a 0x31F feletti üzemmódokat definiálja. Némi próbálkozásra lesz szükséged az extra üzemmódok felfedezéséhez.

4.4 Matrox kártyád van?

Ha Matrox grafikus kártyád van, nincs is szükséged a vesafb-re, annál inkább a matroxfb meghajtóra. Ez nagyban kiszélesíti a kártyád képességeit. A Matroxfb a Matrox Mystique Millennium I & II, G100 és G200 kártyákkal működik. Támogatja ezen kívül a többfejes rendszereket (ez az, ha két Matrox kártyád van a gépedben, két megjelenítőt használhatsz ugyanabban a gépben!). Ahhoz, hogy beállítsd rendszered a Matroxhoz, a következőket kell tenned:

Esetleg szükséged lehet a BIOS frissítésére, amihez le kell töltened a BIOS frissítést a http://www.matrox.com/mgaweb/drivers/ftp_bios.htm honlapról. Ügyelj rá, hogy a frissítéshez majd DOS-ra lesz szükséged.

Menj a Code Maturity Level menübe és engedélyezd a fejlesztés alatt álló és/vagy nem teljes meghajtóprogramok kiválasztási lehetőségét. Erre a 2.2.x kernelverziók esetében már nincs szükség.

Menj a Console Drivers menübe és engedélyezd a következőket:

  • VGA Text Console
  • Video Selection Support
  • Support for frame buffer devices (experimental)
  • Matrox Acceleration
  • Válassz a következőkből annak megfelelően, hogy milyen kártyád van:
    • Millennium I/II support
    • Mystique support
    • G100/G200 support
  • Engedélyezd a többfejes támogatást (Multihead Support), ha egynél több Matrox kártyát szeretnél használni
  • Advanced Low Level Drivers
  • Válaszd ki a Mono, 2bpp, 4bpp, 8bpp, 16bpp, 24bpp és 32bpp tömörített pixel meghajtókat

Fordítsd újra a kernelt. Ezután módosítanod kell a lilo.conf állományt, hogy engedélyezd a Matroxfb eszközt. A leggyorsabb és legegyszerűbb módja, ha felhasználod az enyémet.

# LILO konfigurációs állomány
boot = /dev/hda3
delay = 30 
prompt
vga = 792    # Erre azért van szükség, hogy használható állapotban induljon
# A Linux bootolható partíció beállítása következik
image = /vmlinuz
  append = "video=matrox:vesa:440" # akkor váltsunk Matroxfb-re
  root = /dev/hda3
  label = Linux
  read-only # A nem-UMSDOS állományrendszert célszerű csak olvashatónak beilleszteni az ellenőrzéshez

Végül kell készítened a framebuffer eszközöket a /dev alkönyvárban. Framebuffer eszközönként egyre lesz szükséged, így mindössze annyi a teendőd, hogy kiadod az első alkalommal a mknod /dev/fb0 c 29 0 parancsot. A következők 32 többszörösei lesznek, például a /dev/fb1 elkészítéséhez mknod /dev/fb1 c 29 32 parancsot kell kiadnod, és így tovább, egészen a nyolcadik framebuffer eszközig (mknod /dev/fb7 c 29 224).

És ennyi. [MEGJEGYZÉS: Ha valaki használ többfejes támogatást, kérem, vegye fel a kapcsolatot velem - beszélnem kell valakivel róla, hogy dokumentálhassam!]

4.5 Permedia kártyád van?

A Permedia kártyákat nem lehet a vesafb-vel használni, de szerencsére elkészült egy használható Permedia framebuffer meghajtó. Feltéve, hogy menuconfig-ot használsz, tedd a következőket:

Menj a Code Maturity Level menübe és engedélyezd a fejlesztés alatt álló és/vagy nem teljes meghajtóprogramok kiválasztási lehetőségét. Erre a 2.2.x kernelverziók esetében már nincs szükség.

Menj a Console Drivers menübe és engedélyezd a következőket:

  • VGA Text Console
  • Video Selection Support
  • Support for frame buffer devices (experimental)
  • Permedia2 support (experimental)
  • Generic Permedia2 PCI board support
  • Advanced Low Level Drivers
  • Válaszd ki a Mono, 2bpp, 4bpp, 8bpp, 16bpp, 24bpp és 32bpp tömörített pixel meghajtókat
  • Ha szeretnél kernelbefordított karaktereket, válaszd ki a következőket:
    • Select compiled-in fonts
    • Select Sparc console 12x22 font

Fordítsd újra a kerneled. Ezután módosítanod kell a lilo.conf állományt, hogy engedélyezd a pm2fb eszközt. A leggyorsabb, és legyegyszerűbb módja, ha felhasználod a következő példát:

# LILO konfigurációs állomány
boot = /dev/hda3
delay = 30 
prompt
vga = 792    # Erre azért van szükség, hogy használható állapotban induljon
# A Linux bootolható partíció beállítása következik
image = /vmlinuz
  append = "video=pm2fb:mode:1024x768-75,font:SUN12x22,ypan" # akkor váltsunk át pm2fb
  root = /dev/hda3
  label = Linux
  read-only # A nem-UMSDOS állományrendszert célszerű csak olvashatónak beilleszteni az ellenőrzéshez

A "pm2fb:mode:1024x768-75,font:SUN12x22,ypan" sor jelzi, hogy 1024x768-as felbontást választottál 75Hz-en, SUN12x22 karakterkészlettel (ha nem választottad ki), és ypan scrollback támogatással. Kívánságod szerint választhatsz más üzemmódot is.

Végül kell készítened a framebuffer eszközöket a /dev alkönyvárban. Framebuffer eszközönként egyre lesz szükséged, így mindössze annyi a teendőd, hogy kiadod az első alkalommal a mknod /dev/fb0 c 29 0 parancsot. A következők 32 többszörösei lesznek, például a /dev/fb1 elkészítéséhez mknod /dev/fb1 c 29 32 parancsot kell kiadnod, és így tovább, egészen a nyolcadik framebuffer eszközig (mknod /dev/fb7 c 29 224).

További információkat a Permedia framebuffer meghajtóról a http://www.cs.unibo.it/ nardinoc/pm2fb/index.html honlapon találsz.

video=pm2fb:[opció[,opció[,opció...]]]

ahol az opciók a következők lehetnek:

  • off a meghajtó letiltásához
  • mode:resolution a konzol felbontásának beállításához. Az üzemmódot az fb.modes.ATI állomány tartalmazza Geert fbset csomagjában. Minden üzemmód színméjsége 8bpp. A lehetséges üzemmódok listája a következő:
    • 640x480-(60,72,75,90,100)
    • 800x600-(56,60,70,72,75,90,100)
    • 1024x768-(60,70,72,75,90,100,illo) illo=80KHz 100Hz
    • 1152x864-(60,70,75,80)
    • 1280x1024-(60,70,74,75)
    • 1600x1200-(60,66,76)
  • Az alapértelmezett felbontás 640x480-60.
  • font:font name a konzol karakterkészletének beállításához. Például: font:SUN12x22
  • ypan beállítja az aktuális virtuális magasságot akkorára, amekkorát a video memória mérete megenged.
  • oldmem opció csak a CybervisionPPC felhasználók számára él. Ezzel a kapcsolóval megmondhatod a rendszernek, hogy a kártyádon Fujitsu SGRAM-ok vannak (minden 30-Dec-1998 előtti CVisionPPC-k esetén).
  • virtual (ideiglenesen) add meg, hogy a kernel áthelyezi a platformodon a PCI régiókat.

4.6 ATI kártyád van?

[MEGJEGYZÉS: Ez az információ a legjobb formájában látható, csak másod vagy harmadkézből van, mivel nincs ATI kártyám, hogy tesztelhessem. Kérlek javíts ki, ha tévednék, vagy égess meg!] 8)

Az ATI kártyák használhatóak a vesafb meghajtóval, de lehetnek problémáid a használatával, attól függően, hogy milyen súlyosan károsodott a kártyád. Szerencsére az atyfb framebuffer meghajtó rendelkezésedre áll. Feltéve, hogy menuconfig-ot használsz, a következőket kell tenned:

Menj a Code Maturity Level menübe és engedélyezd a fejlesztés alatt álló és/vagy nem teljes meghajtóprogramok kiválasztási lehetőségét. Erre a 2.2.x kernelverziók esetében már nincs szükség.

Menj a Console Drivers menübe és engedélyezd a következőket:

  • VGA Text Console
  • Video Selection Support
  • Support for frame buffer devices (experimental)
  • ATI Mach64 display support
  • Advanced Low Level Drivers
  • Válaszd ki a Mono, 2bpp, 4bpp, 8bpp, 16bpp, 24bpp és 32bpp tömörített pixel meghajtókat
  • Ha szeretnél kernelbefordított karaktereket, válaszd ki a következőket:
    • Select compiled-in fonts
    • Select Sparc console 12x22 font

Fordítsd újra a kerneled. Ezután módosítanod kell a lilo.conf állományt, hogy engedélyezd a atyfb eszközt. A leggyorsabb, és legyegyszerűbb módja, ha felhasználod a következő példát:

# LILO konfigurációs állomány
boot = /dev/hda3
delay = 30
prompt
vga = 792    # Erre azért van szükség, hogy használható állapotban induljon
# A Linux bootolható partíció beállítása következik
image = /vmlinuz
  append = "video=atyfb:1024x768,font:SUN12x22"
  root = /dev/hda3
  label = Linux
  read-only # A nem-UMSDOS állományrendszert célszerű csak olvashatónak beilleszteni az ellenőrzéshez

Az "atyfb:mode:1024x768,font:SUN12x22" jelzi, hogy egy 1024x768 üzemmódot választottál.

Végül kell készítened a framebuffer eszközöket a /dev alkönyvárban. Framebuffer eszközönként egyre lesz szükséged, így mindössze annyi a teendőd, hogy kiadod az első alkalommal a mknod /dev/fb0 c 29 0 parancsot. A következők 32 többszörösei lesznek, például a /dev/fb1 elkészítéséhez mknod /dev/fb1 c 29 32 parancsot kell kiadnod, és így tovább, egészen a nyolcadik framebuffer eszközig (mknod /dev/fb7 c 29 224).

video=atyfb:[opció[,opció[,opció...]]]

ahol opció a következő lehet:

  • font:SZTRING Kiválaszja a beépített karakterkészletet (amit a kernelbe fordítottál)
  • noblink Kikapcsolja a villogást
  • noaccel Letiltja a gyorsítást
  • vram:ULONG Megmondja az atyfb meghajtónak, hogy mennyi memóriád van
  • pll:ULONG Ismeretlen
  • mclk:ULONG Ismeretlen
  • vmode:ULONG Ismeretlen
  • cmode:ULONG - beállítja a színmélységet - 0, 8, 15, 16, 24 és 32

4.7 Mely grafikus kártyák VESA 2.0 kompatibilisek?

A következő felsorolás tartalmazza az összes olyan grafikus kártyát, melyekről ismert, hogy működnek a vesafb eszközzel:

  • ATI PCI VideoExpression 2MB (max. 1280x1024 @ 8bit)
  • ATI PCI All-in-Wonder
  • Matrox Millennium PCI - BIOS v3.0
  • Matrox Millennium II PCI - BIOS v1.5
  • Matrox Millennium II AGP - BIOS v1.4
  • Matrox Millennium G200 AGP - BIOS v1.3
  • Matrox Mystique & Mystique 220 PCI - BIOS v1.8
  • Matrox Mystique G200 AGP - BIOS v1.3
  • Matrox Productiva G100 AGP - BIOS v1.4
  • Minden Riva 128 alapú kártya
  • Diamond Viper V330 PCI 4MB
  • Genoa Phantom 3D/S3 ViRGE/DX
  • Hercules Stingray 128/3D TV kimenettel
  • Hercules Stingray 128/3D TV kimenet nélkül - BIOS frissítés szükséges (ingyenesen beszerezhető a support@hercules.com)
  • SiS 6326 PCI/AGP 4MB
  • STB Lightspeed 128 (Nvida Riva 128 alapú) PCI
  • STB Velocity 128 (Nvida Riva 128 alapú) PCI
  • Jaton Video-58P ET6000 PCI 2MB-4MB (max. 1600x1200 @ 8bit)

A következő felsorolás alaplapon elhelyezkedő chip készleteket tartalmaz:

  • Trident Cyber9397
  • SiS 5598

Az alábbi feketelista olyan grafikus kártyákat tartalmaz, melyek nem működnek együtt a vesafb eszközzel:

  • TBA

4.8 Lefordíthatom a vesafb-t modulként?

Tudomásom szerint a vesafb nem modularizálható, hacsak valamikor a vesafb fejlesztői úgy nem döntenek, hogy módosítják a forrást, és modularizálhatóvá teszik. Jegyezzük meg, hogy ha még lehetségessé is válik a modularizálhatóság, indulásidőben akkor sem fogsz semmi kimenetet látni a megjelenítőn, amíg a vesafb nincs modulpróbálva. Talán sokkal ésszerűbb lenne a kernelben hagyni, azokra az esetekre, ha indításkor probléma lépne fel.

4.9 Hogyan módosíthatom a kurzort?

[A VGA-softcursor.txt-ből vettem - köszönet Martin Mares-nek érte!]

A Linuxnak most már többféle képessége is lehetővé teszi a kurzor megjelenésének módosítását. Általában átállíthatod a hardver kurzor méretét (és körüljárhatsz néhány csúnya hibát azokon a csapnivaló Trident kártyákon -- nézd meg a #define TRIDENT_GLITCH-et a drivers/char/vga.c állományban). Ebben az esetben ha engedélyezed a "Software generated cursor"-t a rendszer konfigurációdban, eljátszhatsz néhány új trükkel: átalakíthatod a kurzorod nem villogó piros blokká, a karakter inverz hátterévé változtathatod, vagy kiemeltté teheted az adott karaktert, és még mindig választhatsz, hogy az eredeti hardver kurzor látható maradjon, vagy sem. Lehet még néhány dolog, amire sose gondoltam még.

A kurzor megjelenítését a

<ESC>[?1;2;3c
escape szekvencia szabályozza, ahol 1, 2 és 3 lejjebb megmagyarázott paraméterek. Ha kihagyod bármelyiket, az alapértelmezésre állnak, ami 0.

Az 1. paraméter a kurzor méretét határozza meg (0=alapértelmezett, 1=láthatatlan, 2=aláhúzás, ..., 8=teljes blokk) + 16 ha a szoftver kurzort szeretnéd alkalmazni, + 32 ha mindig szeretnél a háttérszínen változtatni + 64 ha nem szertnéd ugyanazd a hátteret, mint ami az előtér. A kiemelést nem veszi figyelembe az utolsó két flag esetén.

A második paraméter kiválasztja az általad megváltoztatandó karakter attribútum bitet (egyszerűen össze XOR-olva e paraméter értékével). Hagyományos VGA-n a négy magas bit határozza meg a hátteret, az alsó négy pedig az előteret. Mindkét csoportban, a három alacsony bit állítja a színt (mint a konzol hagyományos színkódjai esetén), s a legértékesebb bit állítja be a kiemelést (vagy néhány esetben a villogást -- a VGA-d konfigurációjától függően).

A harmadik paraméter az általad beállítandó karakter attribútum bitekből áll. A bit beállítása a bit átállítása előtt lép érvénybe, így egyszerűen törölhetsz egy bitet a beállító és az átállító maszkba illesztve.

Hagyományos villogó aláhúzás beállításához: echo -e '\033[?2c' Villogó blokk beállításához: echo -e '\033[?6c' Nem villogó piros blokk beállításához: echo -e '\033[?17;0;64c'


Következő Előző Tartalom