Provided by: manpages-pl_20060617-3_all bug

NAZWA

       vcs, vcsa - pami konsoli wirtualnej

OPIS

       /dev/vcs0  jest  urzdzeniem  znakowym  o  numerze  glownym  7 i numerze
       pobocznym 0, najczciej z prawami dostpu 0644  i  wlacicielem  root.tty.
       Odnosi  si  ono  do  pamici  obecnie  widocznego  terminala  wirtualnej
       konsoli.

       /dev/vcs[1-63] to urzdzenia znakowe terminali wirtualnych konsoli,  maj
       numery  glowne  7  i  numery  poboczne  od 1 do 63, najczciej z prawami
       dostpu 0644 i bdce wlasnoci root.tty. /dev/vcsa[0-63] s tym samym,  ale
       zawieraj  atrybuty  oraz  poprzedzone  s  czterema bajtami, zwracajcymi
       rozmiary ekranu i pozycj kursora: wiersze, kolumny, x, y.  (x = y = 0 w
       lewym gornym rogu ekranu).

       Zastpuj  one  funkcje  ioctl zrzucajce zawarto ekranu z console(4), wic
       administrator systemu moe kontrolowa uprawnienia przy uyciu praw dostpu
       do plikow.

       Urzdzenia   dla   pierwszych  omiu  konsoli  wirtualnych  mona  stworzy
       poleceniami:

           for x in 0 1 2 3 4 5 6 7 8; do
               mknod -m 644 /dev/vcs$x c 7 $x;
               mknod -m 644 /dev/vcsa$x c 7 $[$x+128];
           done
           chown root:tty /dev/vcs*

       Nie s wspierane adne odwolania ioctl().

PRZYK/LAD

       Mona zrobi "zrzut" z ekranu vt3, przelczajc  si  na  vt1  i  piszc  cat
       /dev/vcs3 >foo. Trzeba zauway, e wynik nie zawiera znakow koca wiersza,
       wic moe by konieczne jakie przetwarzanie, np.  fold -w 81  /dev/vcs3  |
       lpr lub (straszne)  setterm -dump 3 -file /proc/self/fd/1.

       Urzdzenie  /dev/vcsa0  jest  wykorzystywane  przy wsparciu dla alfabetu
       Braille'a.

       Poniszy program wywietla aktualne atrybuty znakow i  ekranu  w  miejscu
       kursora  na  drugiej  wirtualnej  konsoli, a nastpnie zmienia tam kolor
       tla:

           #include <unistd.h>
           #include <stdlib.h>
           #include <stdio.h>
           #include <fcntl.h>

           int main() {
               int fd;
               char *device = "/dev/vcsa2";
               struct {unsigned char lines, cols, x, y;} scrn;
               char ch, attrib;

              fd = open(device, O_RDWR);
               if (fd < 0) {
                   perror(device);
                   exit(1);
               }
               (void) read(fd, &scrn, 4);
               (void) lseek(fd, 4 + 2*(scrn.y*scrn.cols + scrn.x), 0);
               (void) read(fd, &ch, 1);
               (void) read(fd, &attrib, 1);
               printf("ch='%c' attrib=0x%02x\n", ch, attrib);
               attrib ^= 0x10;
               (void) lseek(fd, -1, 1);
               (void) write(fd, &attrib, 1);
               return 0;
           }

PLIKI

       /dev/vcs[0-63]
       /dev/vcsa[0-63]

AUTOR

       Andries Brouwer <aeb@cwi.nl>

HISTORIA

       Wprowadzone wraz z wersj 1.1.92 jdra Linuksa.

ZOBACZ TAKE

       gpm(8), console(4), tty(4), ttyS(4)

INFORMACJE O T/LUMACZENIU

       Powysze tlumaczenie pochodzi z nieistniejcego ju  Projektu  Tlumaczenia
       Manuali  i  moe nie by aktualne. W razie zauwaenia ronic midzy powyszym
       opisem a rzeczywistym zachowaniem  opisywanego  programu  lub  funkcji,
       prosimy o zapoznanie si z oryginaln (angielsk) wersj strony podrcznika.