Home Man
Today's Posts

Linux & Unix Commands - Search Man Pages

RedHat 9 (Linux i386) - man page for vcs (redhat section 4)

VCS(4)				    Linux Programmer's Manual				   VCS(4)

       vcs, vcsa - virtual console memory

       /dev/vcs0  is  a  character device with major number 7 and minor number 0, usually of mode
       0644 and owner root.tty.  It refers to the memory of the currently displayed virtual  con-
       sole terminal.

       /dev/vcs[1-63] are character devices for virtual console terminals, they have major number
       7 and minor number 1 to 63, usually mode 0644 and owner root.tty.  /dev/vcsa[0-63] are the
       same,  but including attributes, and prefixed with four bytes giving the screen dimensions
       and cursor position: lines, columns, x, y.  (x = y = 0 at  the  top  left  corner  of  the

       These replace the screendump ioctls of console(4), so the system administrator can control
       access using file system permissions.

       The devices for the first eight virtual consoles may be created by:

	    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];
	    chown root:tty /dev/vcs*

       No ioctl() requests are supported.

       You may do a screendump on vt3 by switching to vt1 and typing  cat  /dev/vcs3  >foo.  Note
       that  the  output does not contain newline characters, so some processing may be required,
       like in fold -w 81 /dev/vcs3 | lpr or (horrors) setterm -dump 3 -file /proc/self/fd/1.

       The /dev/vcsa0 device is used for Braille support.

       This program displays the character and screen attributes under the cursor of  the  second
       virtual console, then changes the background color there:

	    #include <unistd.h>
	    #include <stdio.h>
	    #include <fcntl.h>

	    int 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);
		 return 0;


       Andries Brouwer <aeb@cwi.nl>

       Introduced with version 1.1.92 of the Linux kernel.

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

Linux					    1995-02-19					   VCS(4)

All times are GMT -4. The time now is 12:15 PM.

Unix & Linux Forums Content Copyrightę1993-2018. All Rights Reserved.
Show Password