Kmscon — это виртуальная консоль , работающая в пользовательском пространстве , которую Дэвид Германн создал для замены консоли Linux , терминала, встроенного в ядро Linux . Kmscon использует драйвер KMS для своего вывода, он поддерживает многопользовательскую работу и интернационализированный ввод с клавиатуры и вывод терминала UTF-8 . Поддержка ввода реализована с помощью расширения клавиатуры X (XKB). Разработка Kmscon прекратилась в марте 2015 года. Существовал проект-преемник под названием systemd-consoled, но этот проект также был закрыт в июле 2015 года. [2]
Kmscon поддерживает печать полного набора глифов Unicode и не ограничен кодировкой консоли, как консоль Linux. [3] Хотя единственной жесткой зависимостью является udev , kmscon может быть дополнительно скомпилирован для использования Mesa для аппаратного ускорения консоли и библиотеки pango для улучшенной визуализации шрифтов. [4]
Использование XKB для ввода позволяет kmscon принимать весь спектр доступных раскладок клавиатуры для X.Org Server и композиторов Wayland для ввода и дает возможность использовать одну и ту же раскладку как в графической среде, так и в терминале. [5]
Система VT в ядре Linux появилась в 1993 году и не реализует встроенную поддержку multiseat. Она поддерживает до 63 VT, но в любой момент времени может быть активен только один VT. Это требует дополнительных шагов для настройки поддержки multiseat. kmscon/systemd-consoled [ требуется разъяснение ] включит multiseat из коробки.
Если дисплейный сервер одного места работает на VT 7, а дисплейный сервер другого места работает на VT 8, то одновременно можно использовать только одно из этих двух мест. Чтобы использовать другое место, необходимо инициировать переключение VT.
Чтобы сделать все места доступными для одновременного использования, есть несколько вариантов:
-sharevts
vt7
для пользователя 1 и -novtswitch
для всех остальных пользователей.В 2011 году Джесси Барнс написал в своем блоге о возможной реализации виртуального терминала на основе DRM в пользовательском пространстве, которая устранила бы необходимость в подсистемах кадрового буфера Linux и виртуального терминала (VT) в ядре Linux. Под влиянием этой записи в блоге Дэвид Херрманн реализовал базовую функциональность виртуального терминала. [3]
В октябре 2013 года библиотека конечного автомата эмулятора терминала ( libtsm ), конечный автомат для совместимых с DEC VT100 – VT520 эмуляторов терминала, была отделена от kmscon и стала доступна отдельно. [6] Она была дополнена wlterm, примером эмулятора терминала Wayland . [7]