Provided by: manpages-de_1.4-1_all bug

BEZEICHNUNG

       vcs, vcsa - Speicher der virtuellen Konsolen

BESCHREIBUNG

       /dev/vcs0 ist ein zeichenorientiertes Gerät mit der Major-Nummer 7 und der Minor-Nummer 0.
       Das Gerät gehört üblicherweise root:tty; die Zugriffsrechte  sind  auf  0644  gesetzt.  Es
       verweist auf den Speicher der aktuell angezeigten virtuellen Konsole.

       /dev/vcs[1-63]  sind zeichenorientierte Geräte für virtuelle Konsolen mit der Major-Nummer
       7 und den Minor-Nummern 1 bis 63. /dev/vcsa[0-63] sind gleichzusetzen mit  /dev/vcs[0-63],
       verwalten  aber  zusätzlich Informationen über Bildschirmgröße (2 Byte: lines, colums) und
       Cursorposition (2 Byte: x, y; x = y = 0 = linke obere Bildschirmecke)  und  speichern  die
       Zeichen  in  unsigned-short-Werten  (in  der Byteordnung des Rechners), die auch Attribute
       umfassen.

       Wenn eine Schrift mit 512 Zeichen geladen wird, kann die  neunte  Bit-Position  durch  die
       Anwendung  der  ioctl(2)-Operation VT_GETHIFONTMASK (verfügbar in den Linux-Kerneln 2.6.18
       und höher) auf /dev/tty[1-63] bestimmt  werden;  der  Wert  wird  in  dem  unsigned  short
       zurückgegeben, auf den das dritte Argument von ioctl(2) zeigt.

       Diese  Geräte  ersetzen  die  »Screendump«-ioctl(2)-Operationen von console(4), sodass der
       Systemadministrator die Rechte für die einzelnen Konsolen durch das  Setzen  von  normalen
       Dateisystemattributen vergeben kann.

       Die Geräte für die ersten acht virtuellen Konsolen können wie folgt erstellt werden:

           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*

       Aufrufe von ioctl(2) werden nicht unterstützt.

DATEIEN

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

VERSIONEN

       Diese Geräte wurden in der Version 1.1.92 des Linux-Kernels eingeführt.

BEISPIEL

       Sie  können  ein  »Screendump«  (Bildschirmphoto)  von  VT2  erstellen,  indem Sie auf VT1
       wechseln und folgendes eingeben:

           cat /dev/vcs3 >foo

       Beachten Sie, dass die Ausgabe kein Zeilenumbruchzeichen enthält und Nacharbeit  notwendig
       sein kann, wie

           old -w 81 /dev/vcs3 | lpr

       oder (Horror)

           xetterm -dump 3 -file /proc/self/fd/1

       Das Gerät /dev/vcsa0 unterstützt Braille.

       Das  folgende  Programm  zeigt  die  Zeichen- und Bildschirmattribute unter dem Cursor der
       zweiten virtuellen Konsole an und ändert danach dort die Hintergrundfarbe.

       #include <unistd.h>
       #include <stdlib.h>
       #include <stdio.h>
       #include <fcntl.h>
       #include <sys/ioctl.h>
       #include <linux/vt.h>

       int
       main(void)
       {
           int fd;
           char *Geraet = "/dev/vcsa2";
           char *Konsole = "/dev/tty2";
           struct {unsigned char Zeilen, Spalten, x, y;} Anzeige;
           unsigned short s;
           unsigned short Maske;
           unsigned char Zeichen, Attribut;

           fd = open(Konsole, O_RDWR);
           if (fd < 0) {
               perror(Konsole);
               exit(EXIT_FAILURE);
           }
           if (ioctl(fd, VT_GETHIFONTMASK, &Maske) < 0) {
               perror("VT_GETHIFONTMASK");
               exit(EXIT_FAILURE);
           }
           (void) close(fd);
           fd = open(Geraet, O_RDWR);
           if (fd < 0) {
               perror(Geraet);
               exit(EXIT_FAILURE);
           }
           (void) read(fd, &Anzeige, 4);
           (void) lseek(fd, 4 + 2*(Anzeige.y*Anzeige.Spalten + Anzeige.x),
                        0);
           (void) read(fd, &s, 2);
           Zeichen = s & 0xff;
           if (Attribut & Maske)
               Zeichen |= 0x100;
           Attribut = ((s & ~Maske) >> 8);
           printf("Zeichen='%c' Attribut=0x%02x\n", Zeichen, Attribut);
           Attribut ^= 0x10;
           (void) lseek(fd, -1, 1);
           (void) write(fd, &Attribut, 1);
           exit(EXIT_SUCCESS);
       }

SIEHE AUCH

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

KOLOPHON

       This page is part of release 3.54 of the Linux man-pages project.  A  description  of  the
       project,     and    information    about    reporting    bugs,    can    be    found    at
       http://www.kernel.org/doc/man-pages/.

ÜBERSETZUNG

       Die   deutsche   Übersetzung   dieser   Handbuchseite   wurde   von   Christian    Schmidt
       <c.schmidt@ius.gun.de>,   Martin  Eberhard  Schauer  <Martin.E.Schauer@gmx.de>  und  Helge
       Kreutzmann <debian@helgefjell.de> erstellt.

       Diese Übersetzung ist Freie Dokumentation;  lesen  Sie  die  GNU  General  Public  License
       Version   3  oder  neuer  bezüglich  der  Copyright-Bedingungen.  Es  wird  KEINE  HAFTUNG
       übernommen.

       Wenn Sie Fehler in der Übersetzung dieser Handbuchseite finden, schicken Sie bitte eine E-
       Mail an <debian-l10n-german@lists.debian.org>.