Что означает, что X-сервер находится на определенном tty?

Что означает, что X-сервер находится на определенном tty?

Как в Linux X-сервер устанавливает связь с определенным tty (например, tty7), чтобы X-сервер мог получать ввод и рисовать на экране только тогда, когда этот tty находится на переднем плане? Как это обеспечивается?

(Ранее я опубликовал этот вопрос в форме, показанной ниже, на Stack Overflow, где он был закрыт.)

У меня есть несколько вопросов о том, что означает фраза "X-сервер работает на /dev/tty7". Я сделал несколько предположений о том, как это работает, и надеюсь, кто-нибудь сможет сказать мне, являются ли следующие утверждения истинными или ложными.

  • /dev/tty7 обычно является управляющим терминалом для Xorg.
  • Несмотря на то, что tty7 является управляющим терминалом для Xorg, он не «управляет» Xorg каким-либо значимым образом.
  • Xorg получает ввод с клавиатуры и мыши напрямую, опрашивая /dev/input/... или что-то в этом роде, а не считывая с /dev/tty7. Тем не менее, /dev/tty7 также получает нажатия клавиш, что можно увидеть (например), запустив "xxd -p /dev/tty7" в эмуляторе терминала.
  • Xorg рисует на экране, используя некий аппаратно-зависимый интерфейс, например, файл устройства, создаваемый драйвером, или отображенную область памяти ввода-вывода, а не записывая данные в /dev/tty7.
  • Когда Xorg устанавливает видеорежим, драйвер tty автоматически прекращает рисовать на экране. Вот почему, когда вы нажимаете клавишу или выводите строку на /dev/tty7, вы не видите ее на экране.
  • Xorg получает ввод с клавиатуры и мыши через /dev/events, даже если tty7 находится в фоновом режиме, но игнорирует его, если tty7 не находится на переднем плане.
  • Все, что Xorg рисует на экране, становится видимым на мониторе только тогда, когда tty7 находится на переднем плане.
  • Когда Xorg инициализирует видео (устанавливает видеорежим и т. д.), то, поскольку tty7 находится на переднем плане, настройки вступают в силу на tty7, а не на каком-либо другом терминале.

Связанный контент