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>.