Rechercher une page de manuel

Chercher une autre page de manuel:

vcs

Autres langues

Langue: fr

Version: 19 février 1995 (mandriva - 01/05/08)

Section: 4 (Pilotes et protocoles réseau)

NOM

vcs, vcsa - Mémoires des consoles virtuelles

DESCRIPTION

/dev/vcs0 est un périphérique caractères de numéro majeur 7 et de numéro mineur 0, avec les permissions 0644 et un propriétaire root.tty. Il correspond à la mémoire d'affichage de la console virtuelle en cours d'utilisation.

/dev/vcs[1-63] sont des périphériques caractères représentant la mémoire d'affichage des consoles virtuelles. Ils ont un numéro majeur 7 et des numéros mineurs 1 à 63. Ils ont généralement un mode d'accès 0644 et un propriétaire root.tty. Les /dev/vcsa[0-63] sont équivalents mais incluent en plus les attributs, et sont préfixés avec 4 octets indiquant les dimensions de l'écran et la position du curseur : lines, columns, x, y. (x = y = 0 en haut à gauche de l'écran.)

Ceci remplace les ioctls « screendump » de console(4), ainsi l'administrateur peut contrôler les accès en utilisant les permissions du système de fichiers.

Les périphériques pour les 8 premières consoles virtuelles peuvent être créés ainsi :

     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*
 

Aucune requête ioctl(2) n'est supportée.

FICHIERS

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

VERSIONS

Introduits dans la version 1.1.92 du noyau Linux.

EXEMPLE

On peut faire un screendump de la console vt3 en basculant sur vt1 et en tapant cat /dev/vcs3 >foo. Notez que la sortie ne contient pas de caractères de retour-chariot, aussi quelques manipulations peuvent être nécessaires comme fold -w 81 /dev/vcs3 | lpr ou (horrible !) setterm -dump 3 -file /proc/self/fd/1.

Ce programme affiche le caractère et l'attribut d'écran sous le curseur de la seconde console virtuelle, puis y change la couleur de fond :

 #include <unistd.h>
 #include <stdlib.h>
 #include <stdio.h>
 #include <fcntl.h>
 
 int
 main(void)
 {
     int fd;
     char *device = "/dev/vcsa2";
     struct {unsigned char lines, cols, x, y;} scrn;
     char ch, attrib;
 
     fd = open(device, O_RDWR);
     if (fd < 0) {
         perror(device);
         exit(EXIT_FAILURE);
     }
     (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);
     exit(EXIT_SUCCESS);
 }
 

VOIR AUSSI

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

TRADUCTION

Ce document est une traduction réalisée par Christophe Blaess <http://www.blaess.fr/christophe/> le 18 octobre 1996 et révisée le 22 novembre 2007.

L'équipe de traduction a fait le maximum pour réaliser une adaptation française de qualité. La version anglaise la plus à jour de ce document est toujours consultable via la commande : « LANG=C man 4 vcs ». N'hésitez pas à signaler à l'auteur ou au traducteur, selon le cas, toute erreur dans cette page de manuel.

Chaque civilisation doit affronter une force inconsciente
susceptible d'annuler, de dévier ou de contrarier presque
toute intention consciente de la collectivité.
-+- Frank Herbert, Dune -+-