Kmscon es una consola virtual que se ejecuta en el espacio de usuario que David Hermann creó para reemplazar la consola de Linux , una terminal integrada en el kernel de Linux . Kmscon utiliza el controlador KMS para su salida, es compatible con múltiples puestos y admite entrada de teclado internacionalizada y salida de terminal UTF-8 . El soporte de entrada se implementa mediante la extensión de teclado X (XKB). El desarrollo de Kmscon se detuvo en marzo de 2015. Hubo un proyecto sucesor llamado systemd-consoled, pero este proyecto también se abandonó posteriormente en julio de 2015. [2]
Kmscon admite la impresión del conjunto completo de glifos Unicode y no está limitado por la codificación de la consola como la consola de Linux. [3] Si bien la única dependencia estricta es udev , kmscon se puede compilar opcionalmente para usar Mesa para la aceleración de hardware de la consola y la biblioteca pango para mejorar la representación de fuentes. [4]
La adopción de XKB para la entrada permite a kmscon aceptar la gama completa de diseños de teclado disponibles para el servidor X.Org y los compositores Wayland para la entrada y hace posible utilizar el mismo diseño tanto en el entorno gráfico como en la terminal. [5]
El sistema VT en el kernel de Linux data de 1993 y no implementa soporte multipuesto listo para usar. Admite hasta 63 VT, pero solo un VT puede estar activo en un momento dado. Esto requiere pasos adicionales para configurar la compatibilidad con varios puestos. kmscon/systemd-consoled [ se necesita aclaración ] habilitará varios asientos listos para usar.
Si el servidor de visualización de un asiento se ejecuta en VT 7 y el servidor de visualización de otro asiento se ejecuta en VT 8, entonces solo se puede utilizar uno de estos dos asientos a la vez. Para usar el otro asiento, se debe iniciar un cambio VT.
Para que todos los asientos se puedan utilizar al mismo tiempo, existen algunas opciones:
-sharevts
vt7
para el usuario 1 y -novtswitch
para todos los demás usuarios.En 2011, Jesse Barnes escribió en su blog sobre la posible implementación del terminal virtual basada en DRM en el espacio de usuario , que eliminaría la necesidad de los subsistemas framebuffer y terminal virtual (VT) de Linux en el kernel de Linux. Motivado por esta publicación de blog, David Herrmann implementó la funcionalidad básica del terminal virtual. [3]
En octubre de 2013, la biblioteca de la máquina de estado del emulador de terminal ( libtsm ), una máquina de estado para emuladores de terminal compatibles con DEC VT100 - VT520 , se separó de kmscon y estuvo disponible por separado. [6] Fue modificado con wlterm, un ejemplo de emulador de terminal Wayland . [7]