vcs, vcsa - память виртуальной консоли
НАЗВАНИЕvcs, vcsa - память виртуальной консоли
ОПИСАНИЕ
/dev/vcs0 - это устройство, с основным числом 7 и
второстепенным - 0; обычно права его доступа - 0644, и
владелец - root.tty. Устройство ссылается на память
открытого в этот момент виртуального терминала.
/dev/vcs[1-63] - это символьные устройства для виртуальных
терминалов, основное число которых - 7 и второстепенный -
от 1-ого до 63-х; права доступа этого устройства - 0644, и
владелец - root.tty. /dev/vcsa[0-63] является таким же
устройством, но с атрибутами и приставкой из четырех
байтов, задающих размеры экрана и одну из следующих
позиций курсора: lines, columns, x, y. x = y = 0
означает верхний левый угол экрана.
Это заменяет I. 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*
Запросы I. ioctl не поддерживаются.
ПРИМЕРЫ
Вы можете создать образ vt3, переключившись на vt1 и
написав cat /dev/vcs3 >foo. Обратите внимание, что вывод
не будет содержать символов перевода строки. Поэтому можно
использовать команду fold -w 81 /dev/vcs3 | lpr или set-
term -dump 3 -file /proc/self/fd/1.
Устройство /dev/vcsa0 используется для поддержки Braille.
Эта программа выводит символ и атрибуты экрана,
находящиеся под курсором, со второй виртуальной консоли и
затем меняет цвет фона в том же месте.
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
ПРЕДЫСТОРИЯ
Впервые появилось в версии ядра 1.1.92.