VCS(4)             Manuel du programmeur Linux             VCS(4)


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ésen­
       tant  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() n'est supportée.

EXEMPLES
       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 <stdio.h>
            #include <fcntl.h>




Linux                    18 Octobre 1996                        1





VCS(4)             Manuel du programmeur Linux             VCS(4)


            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);
            }


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

AUTEUR
       Andries Brouwer <aeb@cwi.nl>

HISTORIQUE
       Introduits dans la version 1.1.92 du noyau Linux.

VOIR AUSSI
       console(4), tty(4), ttys(4), selection(1)


TRADUCTION
       Christophe Blaess, 1997.
























Linux                    18 Octobre 1996                        2