vcs

Autres langues

Langue: ru

Autres versions - même langue

Version: 19 ÆÅ×ÒÁÌÑ 1995 (openSuse - 09/10/07)

Section: 4 (Pilotes et protocoles réseau)

éíñ

vcs, vcsa - ÐÁÍÑÔØ ×ÉÒÔÕÁÌØÎÏÊ ËÏÎÓÏÌÉ

ïðéóáîéå

/dev/vcs0 - ÓÉÍ×ÏÌØÎÙÊ ÆÁÊÌ ÓÏ ÓÔÁÒÛÉÍ ÎÏÍÅÒÏÍ 7 É ÍÌÁÄÛÉÍ ÎÏÍÅÒÏÍ 0, ÏÂÙÞÎÏ Ó ÄÏÓÔÕÐÏÍ 0644 É ×ÌÁÄÅÌØÃÅÍ root.tty. ïÎ ÓÓÙÌÁÅÔÓÑ ÎÁ ÐÁÍÑÔØ × ÎÁÓÔÏÑÝÉÊ ÍÏÍÅÎÔ ÏÔÏÂÒÁÖÁÅÍÏÇÏ ÔÅÒÍÉÎÁÌÁ ×ÉÒÔÕÁÌØÎÏÊ ËÏÎÓÏÌÉ.

/dev/vcs[1-63] - ÓÉÍ×ÏÌØÎÙÅ ÆÁÊÌÙ ÄÌÑ ÔÅÒÍÉÎÁÌÏ× ×ÉÒÔÕÁÌØÎÙÈ ËÏÎÓÏÌÅÊ, ÏÎÉ ÉÍÅÀÔ ÓÔÁÒÛÉÊ ÎÏÍÅÒ 7 É ÍÌÁÄÛÉÊ ÎÏÍÅÒ ÏÔ 1 ÄÏ 63, ÏÂÙÞÎÏ ÉÍÅÀÔ ÄÏÓÔÕÐ 0644 É ×ÌÁÄÅÌØÃÁ root.tty. /dev/vcsa[0-63] - ÔÁËÉÅ ÖÅ, ÎÏ ÏÎÉ ÓÏÄÅÒÖÁÔ ÁÔÒÉÂÕÔÙ, É ÄÏÐÏÌÎÉÔÅÌØÎÙÅ ÎÁÞÁÌØÎÙÅ 4 ÂÁÊÔÁ, ÓÏÄÅÒÖÁÝÉÅ ÒÁÚÍÅÒÙ ÜËÒÁÎÁ É ÐÏÌÏÖÅÎÉÅ ËÕÒÓÏÒÁ: lines, columns, x, y. (x = y = 0 × ×ÅÒÈÎÅÍ ÌÅ×ÏÍ ÕÇÌÕ ÜËÒÁÎÁ.)

ïÎÉ ÚÁÍÅÝÁÀÔ ÆÕÎËÃÉÉ ioctl ÓÎÉÍËÁ ÜËÒÁÎÁ ÄÌÑ console(4), ÔÁË ÞÔÏ ÓÉÓÔÅÍÎÙÊ ÁÄÍÉÎÉÓÔÒÁÔÏÒ ÍÏÖÅÔ ÕÓÔÁÎÁ×ÌÉ×ÁÔØ ÄÏÓÔÕÐ, ÉÓÐÏÌØÚÕÑ ÐÒÁ×Á ÄÏÓÔÕÐÁ Ë ÆÁÊÌÁÍ.

õÓÔÒÏÊÓÔ×Á ÄÌÑ ÐÅÒ×ÙÈ ×ÏÓØÍÉ ×ÉÒÔÕÁÌØÎÙÈ ËÏÎÓÏÌÅÊ ÍÏÇÕÔ ÂÙÔØ ÓÏÚÄÁÎÙ ËÏÍÁÎÄÁÍÉ:


        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 ÎÅ ÐÏÄÄÅÒÖÉ×ÁÀÔÓÑ.

ðòéíåòù

÷Ù ÍÏÖÅÔÅ ÐÏÌÕÞÉÔØ ÓÎÉÍÏË ÜËÒÁÎÁ ÎÁ vt3, ÐÅÒÅËÌÀÞÉ×ÛÉÓØ ÎÁ vt1 É ××ÅÄÑ cat /dev/vcs3 >foo. úÁÍÅÔØÔÅ, ÞÔÏ ×Ù×ÏÄ ÎÅ ÓÏÄÅÒÖÉÔ ÓÉÍ×ÏÌÏ× ÎÏ×ÏÊ ÓÔÒÏËÉ, É ÍÏÖÅÔ ÐÏÎÁÄÏÂÉÔØÓÑ ÎÅËÏÔÏÒÁÑ ÅÇÏ ÏÂÒÁÂÏÔËÁ, ÎÁÐÒÉÍÅÒ fold -w 81 /dev/vcs3 | lpr ÉÌÉ (ÕÖÁÓ!) setterm -dump 3 -file /proc/self/fd/1.

õÓÔÒÏÊÓÔ×Ï /dev/vcsa0 ÉÓÐÏÌØÚÕÅÔÓÑ ÄÌÑ ÐÏÄÄÅÒÖËÉ ÂÒÁÊÌÅ×ÓËÉÈ ÔÅÒÍÉÎÁÌÏ×.

üÔÁ ÐÒÏÇÒÁÍÍÁ ÏÔÏÂÒÁÖÁÅÔ ÓÉÍ×ÏÌ É ÁÔÒÉÂÕÔÙ ÜËÒÁÎÁ × ÐÏÚÉÃÉÉ ËÕÒÓÏÒÁ ÎÁ ×ÔÏÒÏÊ ×ÉÒÔÕÁÌØÎÏÊ ËÏÎÓÏÌÉ, Á ÚÁÔÅÍ ÍÅÎÑÅÔ ÔÁÍ Ã×ÅÔ ÆÏÎÁ:


        #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;

        }

æáêìù

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

á÷ôïò

Andries Brouwer <aeb@cwi.nl>

éóôïòéñ

÷ÐÅÒ×ÙÅ ÐÏÑ×ÉÌÏÓØ × ×ÅÒÓÉÉ ÑÄÒÁ Linux 1.1.92.

óí. ôáëöå

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