VCS(4)

BEZEICHNUNG
vcs, vcsa - Virtueller Speicher für die Bildschirmausgabe

BESCHREIBUNG
/dev/vcs0 ist ein zeichenorientiertes Device mit der major Nummer 7 und der minor Nummer 0 . Das Device gehört üblicherweise root.tty und besitzt die Zugriffsrechte 0644.

Es verweist auf den Speicher der aktuell benutzten virtuellen Konsole.

/dev/vcs[1-63] sind die “character” (zeichenorientierten) Devices für die virtuellen Konsolen und benutzen ebenfalls die major Nummer 7 und die minor Nummer'n 1-63.

/dev/vcsa[0-63] sind gleichzusetzen mit /dev/vcs[0-63], besitzen aber eigene Attribute und sind durch 4 Byte für die Bildschirmgröße und Cursorposition vorgezeichnet. lines, columns, x, y. (x = y = 0 = Links, Oben auf dem Bildschirm.)

Diese Ersetzen die “Screendump” ioctls der console(4), so dass der Systemadministrator die Rechte für die einzelnen Konsolen durch das Setzen von normalen Dateisystem Attributen vergeben kann.

Die Devices werden wie üblich mit dem Programm mknod eingerichtet:

	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*
ioctl() Aufrufe werden nicht unterstützt..

BEISPIELE
Um z.B. einen “Screendump” von vt3 zu erzeugen, wechselt man von vt3 auf vt1 und gibt Folgendes ein:

cat /dev/vcs3 >foo. Das folgende Programm zeigt die Zeichen- und Bildschirm Attribute unter dem Cursor der zweiten virtuellen Konsole und andert danach die Bildschirmfarbe derselben.
	#include <unistd.h>
	#include <stdio.h>
	#include <fcntl.h>
	void main()
	{	int fd;
		struct {char lines, cols, x, y;} scrn;
		char ch, attrib;
		fd = open("/dev/vcsa2", O_RDWR);
		(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);
	}

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

AUTOR
1995 Andries Brouwer <aeb@cwi.nl>

COPYRIGHT
Copyright © 1995 James R. Van Zandt <jrv@vanzandt.mv.com>

Copyright © 1996 Christian Schmidt <c.schmidt@ius.gun.de>
                      deutsche Version

Dieses Manual darf sowohl in der Original, als auch in der deutschen Version mit folgender Einschränkung benutzt, Vervielfältigt und Vertrieben werden. Dieser Copyright-Abschnitt und der “Header” muss unverändert in allen Kopien beibehalten werden. Ferner sind die zusätzlichen Vereinbarungen im “Header” dieses Manuals zu beachten.

GESCHICHTE
Eingeführt ab der Version 1.1.92 des Linux Kernels.

SIEHE AUCH
console(4), tty(4), ttys(4), selection(1).