Kmscon es una consola virtual que se ejecuta en el espacio de usuario , creada por David Hermann 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 usuarios y admite entrada de teclado internacionalizada y salida de terminal UTF-8 . La compatibilidad con la entrada se implementa mediante la extensión de teclado X (XKB). El desarrollo de Kmscon se detuvo en marzo de 2015. El proyecto se reanudó oficialmente en 2025, adoptando el código fuente de una bifurcación mantenida por Aetf desde 2011. [ 3 ] Hubo un proyecto sucesor llamado systemd-consoled, pero este fue abandonado en julio de 2015. [ 4 ]
Características
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. [ 5 ] Si bien la única dependencia estricta es udev , kmscon se puede compilar opcionalmente para usar Mesa para la aceleración por hardware de la consola y la biblioteca pango para una mejor representación de fuentes. [ 6 ]
La adopción de XKB para la entrada permite a kmscon aceptar toda la gama de diseños de teclado disponibles para los compositores X.Org Server y Wayland para la entrada y hace posible utilizar el mismo diseño tanto en el entorno gráfico como en la terminal. [ 7 ]
Tiene soporte para ratón, incluyendo selección/copia/pegado y desplazamiento . [ 8 ] [ 9 ]
Soporte para múltiples usuarios
El sistema VT del kernel de Linux data de 1993 y no implementa soporte multiseat de forma predeterminada. Admite hasta 63 VT, pero solo uno puede estar activo a la vez. Esto requiere pasos adicionales para configurar el soporte multiseat. El comando kmscon habilita el soporte multiseat de forma predeterminada .
Si el servidor de visualización de un puesto está funcionando en la VT 7 y el de otro puesto en la VT 8, solo se podrá utilizar uno de los dos puestos a la vez. Para utilizar el otro puesto, es necesario iniciar un cambio de VT.
Para que todos los asientos sean utilizables al mismo tiempo, existen varias opciones:
- Asocie todos los servidores de visualización con la misma VT: cualquier usuario puede cambiar de VT y, en ese caso, todos los usuarios cambian a la nueva VT. Esto hace que el cambio de VT (y, por lo tanto, el cambio rápido de usuario) sea poco práctico. Opción de línea de comandos de X.Org Server
-sharevts - No asocie ningún servidor de visualización a una máquina virtual: en este caso, el cambio rápido de usuario es imposible. Los inicios de sesión en la consola basados en texto solo son posibles si se reserva un dispositivo de entrada y uno de visualización para este fin.
- Asocie solo uno de los servidores de visualización a una VT: los demás servidores de visualización no pueden realizar cambios de VT, pero el servidor de visualización asociado a una VT sí. El cambio de VT en ese puesto no afectará a los demás puestos. Este es el enfoque preferido y asumido por systemd. Opción de línea de comandos
vt7para el usuario 1 y-novtswitchpara todos los demás usuarios.
Desarrollo
En 2011, Jesse Barnes escribió en su blog sobre la posible implementación de la terminal virtual basada en DRM en el espacio de usuario , que eliminaría la necesidad de los subsistemas de framebuffer y terminal virtual (VT) de Linux en el kernel de Linux. Motivado por esta publicación, David Herrmann implementó la funcionalidad básica de la terminal virtual. [ 5 ]
En octubre de 2013, la biblioteca de máquina de estados del emulador de terminal ( libtsm ), una máquina de estados para emuladores de terminal compatibles con DEC VT100 – VT520 , se separó de kmscon y se puso a disposición por separado. [ 10 ] Se modificó con wlterm , un ejemplo de emulador de terminal Wayland . [ 11 ]
Véase también
Referencias
- ↑ Herrmann, David (27 de marzo de 2012). " [ ANUNCIO ] kmscon: emulador de terminal basado en DRM de Lazy-web" . dri-devel (Lista de correo). freedesktop.org . Consultado el 2 de abril de 2012 .
- ↑ "v10.0.0" . 21 de mayo de 2026. Consultado el 21 de mayo de 2026 .
- ↑ kmscon/kmscon , kmscon, 4 de diciembre de 2025 , consultado el 4 de diciembre de 2025.
Este proyecto se mantuvo en la bifurcación de Aetf durante 11 años, antes de regresar aquí en 2025.
- ↑ Herrmann, David (29 de julio de 2015). "terminal: descartar código inacabado" . GitHub . Consultado el 22 de septiembre de 2016 .
- 1 2 Larabel, Michael (28 de marzo de 2012), "KMSCON: Un emulador de terminal basado en DRM" , Phoronix , consultado el 2 de abril de 2012
- ↑ Larabel, Michael (18 de agosto de 2012), "KMSCON se está preparando para patear la consola del kernel" , Phoronix , consultado el 5 de julio de 2012
- ↑ Herrmann, David (10 de diciembre de 2012). "Introducción a KMSCON" . dvdhrm.wordpress.com . Consultado el 8 de mayo de 2013 .
- ↑ kmscon. "Versión v9.2.0 · kmscon/kmscon" . GitHub . Consultado el 16 de marzo de 2026 .
- ↑ "Cambios/Uso de KmsconVTConsole - Wiki del Proyecto Fedora" . fedoraproject.org . Consultado el 16 de marzo de 2026 .
- ↑ Herrmann, David (29 de octubre de 2013). " [ ANUNCIO ] Lanzamiento de libtsm-3" . kmscon-devel (Lista de correo). freedesktop.org . Consultado el 5 de julio de 2012 .
- ↑ libtsm , freedesktop.org , consultado el 5 de julio de 2012
- Software de sistema gratuito
- Freedesktop.org
- Software relacionado con el núcleo de Linux
- Software que utiliza la licencia ISC.
- Herramientas de comunicación técnica
- emuladores de terminal
- Wayland (protocolo de servidor de visualización)