远程和控制台终端差异
远程和控制台终端差异
在计算机系统中,终端是用户与计算机交互的重要接口。本文将详细介绍控制台终端和远程终端的概念及其差异,并通过多个场景和示意图帮助读者理解它们在实际使用中的关系和变化。
什么是终端?
终端是一个概念,描述一组输入/输出设备(键盘、鼠标、监视器等)和配置(设备上的设置)。请考虑用于阅读本文档的设备;你使用的是带鼠标、键盘和监视器的台式计算机吗?还是具有触摸功能的LCD屏幕和蓝牙键盘的移动设备?所有这些都可以被视为终端:它们是相互通信的组设备。
终端在生活中的目的是附加到会话。会话是终端与其他设备之间的活动通信。它是一个元素,用于保存用户的进程、数据标识,并在csrss.exe
(客户端-服务器运行时子系统)下运行自己的win32k
实例。如果终端未附加到会话,它将很快附加,或者它正在被销毁。
有不同类型的终端,但最常见的两种终端是控制台和远程终端。
控制台与远程终端
控制台终端是连接到控制台主机的终端会话,主机始终处于活动状态,少数例外。给定计算机上只有一个活动控制台终端,所有本地输入/输出设备都连接到该终端。
另一个常见终端是远程终端。远程终端是一个终端,其中所有输入/输出都位于远程系统上,而不是直接连接。例如,与远程会话关联的键盘、鼠标和监视器实际位于另一个系统上,其远程桌面协议(RDP)远程终端。此终端由与远程桌面服务接口集成(RDP、Citrix、VMware等)的协议提供程序创建。与此关联的输入/输出设备被视为“远程”。
Win32k
和其他程序可以使用WTSQuerySessionInformation
等WTSAPI
来了解用户已远程连接到计算机。这在重定向设备时很有用;需要禁用某些功能、考虑额外的延迟或采用不同的路径。
远程进入计算机时会发生什么情况?
下面是终端和会话在常见的远程桌面协议(RDP)方案中如何相关的示例。
用户在其计算机前
用户Bob实际位于其计算机上,并使用本地设备与会话交互。控制台终端附加到会话。
使用另一台计算机远程登录
用户从另一个位置访问其计算机(未显示),因此控制台终端不再用于其活动会话。相反,它会附加到具有登录屏幕的空会话。与远程终端不同,控制台终端永远不会终止,因此当设备上没有本地用户时,它会附加到空会话。由于用户正在从另一个位置访问其计算机,因此远程终端将被实例化并附加到会话。
用户返回到其计算机并重新登录到控制台终端
当用户返回到其本地电脑时,他们使用本地输入和输出来与会话进行交互。这意味着控制台终端已重新附加到会话,远程处理时使用的远程终端已终止。
远程终端生存期
远程终端生存期类似于从RDP客户端到RDP服务器的连接的生存期。如果RDP连接因网络问题而中断,远程终端将断开连接,需要重新建立。
多个终端和会话
在安装了远程桌面会话主机(RDSH)角色的Windows 10 Multisession和Windows Server等操作系统上,可以登录多个用户并具有如下设置的连接终端。在这种情况下,仍然只有一个控制台终端/会话,但有多个远程终端/会话。
在此示例中,Bob和Abby从远程位置访问会话,并实例化远程终端以与会话进行交互。Tom在本地访问了附加到控制台终端的会话。如果Tom在计算机中过于远程,则其会话将附加到远程终端,控制台终端将附加到显示登录屏幕的空会话。
WDDM图形适配器和终端
若要从远程终端获取图形,需要远程Windows显示驱动程序模型(WDDM)间接驱动程序来配置虚拟监视器设置并将桌面映像处理到客户端。每个远程终端都有一个WDDM远程间接显示驱动程序实例,WDDM远程驱动程序最多可向远程会话公开16个监视器。
WDDM远程间接显示驱动程序可以复制远程系统的显示功能。例如,如果远程系统上的监视器在60Hz时为1080p,则WDDM远程间接显示驱动程序可以将1080p 60Hz监视器公开到远程会话中;或者,如果远程客户端在iPad上运行,则该远程终端的WDDM远程间接显示驱动程序将公开与iPad显示功能匹配的监视器。
WDDM GPU的显示容量始终与控制台终端相关联。这意味着通过完整WDDM驱动程序、控制台WDDM间接显示驱动程序或WDDM仅显示驱动程序公开的本地监视器将仅显示控制台终端,因此当前控制台会话。例如,将在控制台会话中公开附加了两个本地监视器的完整WDDM GPU。不过,该适配器在远程会话中枚举,而不附加任何监视器。
在WDDM远程会话中,SKU的默认策略(组策略替代)决定WARP(CPU光栅器)还是与远程WDDM间接显示适配器配对的呈现GPU将呈现该远程会话的桌面和应用程序。