Provided by: manpages-es_4.15.0-9_all bug

NOMBRE

       vcs, vcsa - memoria de la consola virtual

DESCRIPCIÓN

       /dev/vcs0  es  un  dispositivo  de  carácter  con  número mayor 7 y número menor 0, creado
       normalmente con modo 0644 y propietario root:tty.  Designa  la  memoria  del  terminal  de
       consola virtual visualizado en ese momento.

       /dev/vcs[1-63]  son  los  dispositivos de carácter para los terminales de consola virtual.
       Tienen el número mayor 7 y el número menor de 1 a 63, y se crean normalmente con  el  modo
       0644 y propietario root:tty. /dev/vcsa[0-63] son idénticos salvo por el empleo de pequeñas
       cifras ordenadas según el equipo que incluyen atributos. Están prefijadas con cuatro bytes
       que  indican las dimensiones de la pantalla y la posición del cursor: líneas, columnas, x,
       y (x = y = 0 en la esquina superior izquierda de la pantalla).

       Cuando se carga un fuente de 512, es posible tomar el bit en  la  9ª  posiciónmediante  la
       operación  VT_GETHIFONTMASK  de  ioctl(2) (disponible desde la versión 2.6.18 de Linux) en
       /dev/tty[1-63]. El valor obtenido en el entero sin signo al que apunta el tercer argumento
       de ioctl(2).

       Estos  dispositivos reemplazan las ioctl(2) de volcado de pantalla de ioctl_console(2), de
       forma que el administrador del sistema pueda controlar el acceso a través de los  permisos
       del sistema de archivos.

       Los dispositivos de las ocho primeras consolas virtuales se pueden crear con:

           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*

       No se aceptan peticiones de ioctl(2).

ARCHIVOS

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

VERSIONES

       Disponible a partir de la versión 1.1.92 del núcleo de Linux.

EJEMPLOS

       Se puede hacer un volcado de pantalla de vt3 conmutando a vt1 y tecleando

           cat /dev/vcs3 >foo

       Observe  que  la  salida  no  contiene  caracteres  de  nueva  línea, por lo que puede ser
       necesario algún procesamiento adicional, por ejemplo:

           fold -w 81 /dev/vcs3 | lpr

       o en (horror)

           setterm -dump 3 -file /proc/self/fd/1

       El dispositivo /dev/vcsa0 se utiliza para el soporte Braille.

       El siguiente programa visualiza los atributos de carácter y pantalla que se encuentran  en
       la  posición  del cursor de la segunda consola virtual, y después cambia su color de fondo
       allí:

       #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 *device = "/dev/vcsa2";
           char *console = "/dev/tty2";
           struct {unsigned char lines, cols, x, y;} scrn;
           unsigned short s;
           unsigned short mask;
           unsigned char attrib;
           int ch;

           fd = open(console, O_RDWR);
           if (fd < 0) {
               perror(console);
               exit(EXIT_FAILURE);
           }
           if (ioctl(fd, VT_GETHIFONTMASK, &mask) < 0) {
               perror("VT_GETHIFONTMASK");
               exit(EXIT_FAILURE);
           }
           (void) close(fd);
           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), SEEK_SET);
           (void) read(fd, &s, 2);
           ch = s & 0xff;
           if (s & mask)
               ch |= 0x100;
           attrib = ((s & ~mask) >> 8);
           printf("ch=%#03x attrib=%#02x\n", ch, attrib);
           s ^= 0x1000;
           (void) lseek(fd, -2, SEEK_CUR);
           (void) write(fd, &s, 2);
           exit(EXIT_SUCCESS);
       }

VÉASE TAMBIÉN

       ioctl_console(2), tty(4), ttyS(4), gpm(8)

COLOFÓN

       Esta página es parte de la versión 5.13 del proyecto Linux man-pages. Puede encontrar  una
       descripción  del  proyecto, información sobre cómo informar errores y la última versión de
       esta página en https://www.kernel.org/doc/man-pages/.

TRADUCCIÓN

       La traducción al español de  esta  página  del  manual  fue  creada  por  Ignacio  Arenaza
       <Ignacio.Arenaza@studi.epfl.ch>,  Gerardo  Aburruzaga  García <gerardo.aburruzaga@uca.es>,
       Juan Piernas <piernas@ditec.um.es> y Marcos Fouces <marcos@debian.org>

       Esta traducción es documentación libre; lea  la  GNU  General  Public  License  Version  3
       ⟨https://www.gnu.org/licenses/gpl-3.0.html⟩  o posterior con respecto a las condiciones de
       copyright.  No existe NINGUNA RESPONSABILIDAD.

       Si encuentra algún error en la traducción de esta  página  del  manual,  envíe  un  correo
       electrónico a ⟨debian-l10n-spanish@lists.debian.org⟩.