Scroll to navigation

VCS(4) Linux-Programmierhandbuch VCS(4)

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 den Bildschirminhalt von vt3 ausgeben, indem Sie auf vt1 wechseln und cat /dev/vcs3 >foo eingeben. Beachten Sie, dass die Ausgabe keine Zeilenvorschübe enthält, sodass einige Nachbearbeitung erforderlich sein kann, wie beispielsweise in fold -w 81 /dev/vcs3 | lpr oder (schrecklich) setterm -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 3.42 des Projekts Linux- man-pages. Eine Beschreibung des Projekts und Informationen, wie Fehler gemeldet werden können, 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> und Martin Eberhard Schauer <Martin.E.Schauer@gmx.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>.
17. Dezember 2007 Linux