En Linux, ¿cómo establece el servidor X una relación con un tty particular (como tty7) para que el servidor X pueda recibir entradas y dibujar en la pantalla sólo cuando ese tty está en primer plano? ¿Cómo se aplica esto?
(Anteriormente publiqué esta pregunta en el formulario que se muestra a continuación en Stack Overflow, donde estaba cerrada).
Tengo algunas preguntas sobre lo que significa cuando se dice "el servidor X se ejecuta en /dev/tty7". Hice algunas conjeturas sobre cómo funciona y espero que alguien pueda decirme si las siguientes afirmaciones son verdaderas o falsas.
- /dev/tty7 suele ser la terminal de control de Xorg.
- Aunque tty7 es la terminal de control de Xorg, no "controla" Xorg de ninguna manera significativa.
- Xorg recibe entradas de teclado y mouse directamente mediante un sondeo de /dev/input/... o algo así, y no leyendo desde /dev/tty7. Sin embargo, /dev/tty7 también recibe pulsaciones de teclas, que puede ver (por ejemplo) ejecutando "xxd -p /dev/tty7" en un emulador de terminal.
- Xorg dibuja en la pantalla usando alguna interfaz específica del hardware, como algún archivo de dispositivo que crea el controlador, o una región de memoria asignada de E/S, y no escribiendo en /dev/tty7.
- Cuando Xorg configura el modo de video, el controlador tty automáticamente deja de dibujar en la pantalla. Por eso, cuando presionas una tecla o repites una cadena en /dev/tty7, no la ves aparecer en la pantalla.
- Xorg recibe entradas de teclado y mouse a través de /dev/events incluso cuando tty7 está en segundo plano, pero lo ignora a menos que tty7 esté en primer plano.
- Todo lo que Xorg dibuja en la pantalla sólo se vuelve visible en el monitor cuando tty7 está en primer plano.
- Cuando Xorg inicializa el vídeo (configurando el modo de vídeo, etc.), es porque tty7 está en primer plano que la configuración tiene efecto en tty7 y en ningún otro terminal.