Kmscon es una consola virtual que se ejecuta en el espacio de usuario y que David Hermann creó para reemplazar la consola Linux , una terminal integrada en el núcleo Linux . Kmscon utiliza el controlador KMS para su salida, es compatible con múltiples terminales y admite la entrada de teclado internacionalizada y la salida de terminal UTF-8 . La compatibilidad 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ó más tarde 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 una mejor representación de las fuentes. [4]
La adopción de XKB para entrada permite a kmscon aceptar la gama completa de diseños de teclado disponibles para los compositores X.Org Server y Wayland para 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 núcleo Linux data de 1993 y no implementa soporte multiseat listo para usar. Admite hasta 63 VT, pero solo una VT puede estar activa en un momento dado. Esto requiere pasos adicionales para configurar el soporte multiseat. kmscon/systemd-consoled habilitará [ aclaración necesaria ] el soporte multiseat listo 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 utilizar el otro asiento, se debe iniciar un cambio de VT.
Para que todos los asientos se puedan utilizar al mismo tiempo, hay 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 de la terminal virtual basada en DRM de espacio de usuario , que eliminaría la necesidad de los subsistemas de terminal virtual (VT) y framebuffer de Linux en el núcleo de Linux. Motivado por esta publicación del blog, David Herrmann implementó la funcionalidad básica de la terminal virtual. [3]
En octubre de 2013, la biblioteca de 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 se puso a disposición por separado. [6] Se modificó con wlterm, un ejemplo de emulador de terminal Wayland . [7]