Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Что такое терминал?
terminal
— это концепция, описывающая группу устройств ввода и вывода (клавиатура, мышь, монитор и т. д.) и конфигурации (параметры на устройствах). Рассмотрим устройство, которое вы используете для чтения этого документа; вы настольном компьютере с мышью, клавиатурой и монитором? Или мобильное устройство с дисплеем с сенсорными возможностями и клавиатурой Bluetooth? Все это можно считать терминалом; они являются группами устройств, взаимодействующих друг с другом.
Назначение терминала в жизни должно быть присоединено к сеансу.
session
— это активное взаимодействие между терминалом и другими устройствами. Это элемент, содержащий процессы пользователя, удостоверение данных и запуск собственного экземпляра win32k в csrss.exe (подсистема выполнения клиентского сервера). Если терминал не подключен к сеансу, он будет подключен в ближайшее время или находится в процессе уничтожения.
Существуют разные типы терминалов, но наиболее распространенными являются консоль и удаленные.
Консоль и удаленный терминал
Терминал console
— это сеанс терминала, подключенный к узлу консоли, который всегда активен с несколькими исключениями. На данном компьютере существует только один активный терминал консоли, и все локальные устройства ввода и вывода подключены к данному терминалу.
Другим общим терминалом является терминал remote
. Удаленный терминал — это терминал, где все входные и выходные данные подключены к удаленной системе и не подключены напрямую. Например, клавиатура, мышь и монитор, связанные с удаленным сеансом, физически находятся в другой системе с удаленным терминалом протокола удаленного рабочего стола (RDP). Этот терминал создается поставщиками протоколов (RDP, Citrix, VMware и т. д.), которые интегрируются с интерфейсом служб удаленных рабочих столов. Устройства ввода и вывода, связанные с этим, считаются "удаленными".
Win32k и другие программы могут использовать API WTS, такие как WTSQuerySessionInformation знать, что пользователь подключен к компьютеру удаленно. Это полезно при перенаправлении устройств; некоторые функции необходимо отключить, рассмотреть дополнительную задержку или принять различные пути.
Что происходит при удаленном подключении к компьютеру?
Ниже приведены примеры того, как терминалы и сеансы связаны в общем сценарии протокола удаленного рабочего стола (RDP).
Пользователь перед компьютером
Пользователь, Боб, физически находится на своем компьютере и использует локальные устройства для взаимодействия с сеансом. Терминал консоли подключен к сеансу.
Использование другого компьютера для удаленного доступа
Пользователь обращается к компьютеру из другого расположения (не отображается), поэтому консольный терминал больше не используется для активного сеанса. Вместо этого он присоединен к пустому сеансу с экраном входа. В отличие от удаленных терминалов, консольный терминал никогда не завершается и поэтому, когда на устройстве нет локального пользователя, он подключен к пустому сеансу. Так как пользователь обращается к компьютеру из другого расположения, удаленный терминал создается и подключен к сеансу.
Пользователь возвращается на компьютер и записывается обратно в терминал консоли.
Когда пользователи возвращаются на локальный компьютер, они используют локальные входные и выходные данные для взаимодействия с сеансом. Это означает, что консольный терминал был повторно подключен к сеансу, а удаленный терминал используется при завершении удаленного взаимодействия.
Время существования удаленного терминала
Время существования удаленного терминала аналогично времени существования подключения от клиента RDP к серверу RDP. Если подключение RDP сломается из-за проблем с сетью, удаленный терминал отсоединяется и должен быть установлен.
Несколько терминалов и сеансов
В операционных системах, таких как Windows 10 Multisession и Windows Server с установленной ролью узла сеансов удаленных рабочих столов (RDSH), несколько пользователей могут войти в систему и иметь подключенный терминал, как показано ниже. В этом случае существует только один консольный терминал/сеанс, но несколько удаленных терминалов и сеансов.
В этом примере Боб и Abby обращаются к сеансу из удаленного расположения, создав экземпляр удаленного терминала для взаимодействия с сеансом. Tom обращается к сеансу локально, который подключен к терминалу консоли. Если Tom был слишком удаленным на компьютере, его сеанс будет подключен к удаленному терминалу, а консольный терминал будет подключен к пустому сеансу, отображающего экран входа.
Графические адаптеры и терминалы WDDM
Чтобы получить графику из удаленного терминала, требуется непрямый драйвер windows display Driver model (WDDM) для настройки параметров виртуального монитора и обработки образа рабочего стола клиенту. Существует один экземпляр драйвера удаленного косвенного отображения WDDM для каждого удаленного терминала, который удаленный драйвер WDDM может предоставлять до 16 мониторов удаленному сеансу.
драйверы удаленного непрямого отображения WDDM могут дублировать возможности отображения удаленной системы. Например, если монитор в удаленной системе равен 1080p в 60Гц, драйвер удаленного косвенного отображения WDDM может предоставить монитор 1080p 60Гц в удаленном сеансе; или если удаленный клиент работает на iPad, драйвер удаленного косвенного отображения WDDM для этого удаленного терминала предоставит монитор, соответствующий возможностям отображения iPad.
Емкости дисплея GPU WDDM всегда связаны с консольным терминалом. Это означает, что локальный монитор, предоставляемый через полный драйвер WDDM, драйвер косвенного отображения WDDM или драйвер отображения WDDM будет отображать только консольный терминал, поэтому текущий сеанс консоли. Например, полный GPU WDDM с двумя локальными мониторами, подключенными, будет предоставлен в сеансе консоли. Тем не менее, этот адаптер перечисляется в удаленном сеансе без подключенных мониторов.
В удаленных сеансах WDDM политика SKU по умолчанию (с переопределением групповой политики) решает, будет ли WARP (растратор ЦП) или графический процессор, связанный с удаленным адаптером непрямого отображения WDDM, будет отображать рабочий стол и приложение для этого удаленного сеанса.