.\" -*- coding: UTF-8 -*- .\" Copyright (c) 1995 James R. Van Zandt .\" Sat Feb 18 09:11:07 EST 1995 .\" .\" SPDX-License-Identifier: GPL-2.0-or-later .\" .\" Modified, Sun Feb 26 15:08:05 1995, faith@cs.unc.edu .\" 2007-12-17, Samuel Thibault : .\" document the VT_GETHIFONTMASK ioctl .\" " .\"******************************************************************* .\" .\" This file was generated with po4a. Translate the source file. .\" .\"******************************************************************* .TH vcs 4 "3 мая 2023 г." "Linux man\-pages 6.05.01" .SH ИМЯ vcs, vcsa \- память виртуальной консоли .SH ОПИСАНИЕ \fI/dev/vcs0\fP представляет собой символьное устройство со старшим номером 7 и младшим 0, обычно имеет права доступа 0644 и принадлежит root:tty. Устройство указывает на память отображаемого в данный момент виртуального консольного терминала. .PP \fI/dev/vcs[1\-63]\fP представляют собой символьные устройства виртуальных консольных терминалов, имеют старший номер 7 и младшие от 1 до 63, обычно имеют права доступа 0644 и принадлежат root:tty. \fI/dev/vcsa[0\-63]\fP представляют собой те же устройства, но имеют атрибуты в виде чисел типа \fIunsigned short\fP (с порядком байт узла) и приставкой из четырех байтов, задающих размеры экрана и положение курсора: \fIlines\fP, \fIcolumns\fP, \fIx\fP, \fIy\fP. (\fIx\fP = \fIy\fP = 0 означает верхний левый угол экрана.) .PP When a 512\-character font is loaded, the 9th bit position can be fetched by applying the \fBioctl\fP(2) \fBVT_GETHIFONTMASK\fP operation (available since Linux 2.6.18) on \fI/dev/tty[1\-63]\fP; the value is returned in the \fIunsigned short\fP pointed to by the third \fBioctl\fP(2) argument. .PP Эти устройства заменяют операции \fBioctl\fP(2) по снятию снимка экрана \fBioctl_console\fP(2), и позволяют системному администратору контролировать доступ с помощью файловой системы. .PP Устройства для первых восьми виртуальных консолей могут быть созданы с помощью следующих команд: .PP .in +4n .EX 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* .EE .in .PP Запросы \fBioctl\fP(2) не поддерживаются. .SH ФАЙЛЫ \fI/dev/vcs[0\-63]\fP .br .\" .SH AUTHOR .\" Andries Brouwer \fI/dev/vcsa[0\-63]\fP .SH ВЕРСИИ Introduced with Linux 1.1.92. .SH ПРИМЕРЫ Вы можете сделать снимок экрана vt3, переключившись на vt1 и написав .PP .in +4n .EX cat /dev/vcs3 >foo .EE .in .PP Заметим, что вывод не будет содержать символов новой строки, поэтому может потребоваться дополнительная обработка, например .PP .in +4n .EX fold \-w 81 /dev/vcs3 | lpr .EE .in .PP или (жуть) .PP .in +4n .EX setterm \-dump 3 \-file /proc/self/fd/1 .EE .in .PP Устройство \fI/dev/vcsa0\fP используется для поддержки дисплея Брайля. .PP Эта программа выводит символ и атрибуты экрана, находящиеся под курсором на второй виртуальной консоли, и затем меняет цвет фона в том же месте. .PP .EX #include #include #include #include #include #include \& 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 & \[ti]mask) >> 8); printf("ch=%#03x attrib=%#02x\en", ch, attrib); s \[ha]= 0x1000; (void) lseek(fd, \-2, SEEK_CUR); (void) write(fd, &s, 2); exit(EXIT_SUCCESS); } .EE .SH "СМ. ТАКЖЕ" \fBioctl_console\fP(2), \fBtty\fP(4), \fBttyS\fP(4), \fBgpm\fP(8) .PP .SH ПЕРЕВОД Русский перевод этой страницы руководства был сделан Azamat Hackimov , Dmitriy Ovchinnikov , Dmitry Bolkhovskikh , Katrin Kutepova , Yuri Kozlov и Иван Павлов . .PP Этот перевод является бесплатной документацией; прочитайте .UR https://www.gnu.org/licenses/gpl-3.0.html Стандартную общественную лицензию GNU версии 3 .UE или более позднюю, чтобы узнать об условиях авторского права. Мы не несем НИКАКОЙ ОТВЕТСТВЕННОСТИ. .PP Если вы обнаружите ошибки в переводе этой страницы руководства, пожалуйста, отправьте электронное письмо на .MT man-pages-ru-talks@lists.sourceforge.net .ME .