Provided by: manpages-de_1.11-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

       Diese  Seite  ist  Teil  der  Veröffentlichung  4.04  des Projekts Linux-man-pages. Eine Beschreibung des
       Projekts, Informationen, wie Fehler gemeldet werden können sowie die aktuelle Version dieser Seite finden
       sich unter 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>.

Linux                                           17. Dezember 2007                                         VCS(4)