Condividi tramite


Differenze tra terminale remoto e console

Che cos'è un terminale?

Un terminal è un concetto che descrive un gruppo di dispositivi di input/output (tastiera, mouse, monitor e così via) e configurazioni (impostazioni nei dispositivi). Prendere in considerazione il dispositivo usato per leggere questo documento; sei in un computer desktop con un mouse, una tastiera e un monitor? Oppure un dispositivo mobile con schermo LCD con funzionalità di tocco e una tastiera Bluetooth? Tutti questi potrebbero essere considerati un terminale; sono dispositivi di gruppo che comunicano tra loro.

Lo scopo di un terminale nella vita è quello di essere collegato a una sessione.

Un session è una comunicazione attiva tra il terminale e altri dispositivi. È l'elemento che contiene i processi dell'utente, l'identità dei dati ed esegue la propria istanza win32k in csrss.exe (sottosistema di runtime client-server). Se un terminale non è collegato a una sessione, verrà collegato a breve o è in fase di eliminazione definitiva.

Esistono diversi tipi di terminali, ma i due più comuni sono console e remoti.

Console e terminale remoto

Un terminale console è una sessione del terminale connessa a un host della console, che è sempre attiva con poche eccezioni. In un determinato computer è presente un solo terminale della console attiva e tutti i dispositivi di input/output locali sono collegati a tale terminale.

L'altro terminale comune è il terminale remote. Un terminale remoto è un terminale in cui tutti gli input/output si trovano in un sistema remoto e non sono connessi direttamente. Ad esempio, la tastiera, il mouse e il monitor associati alla sessione remota si trovano fisicamente in un altro sistema con un terminale remoto RDP (Remote Desktop Protocol). Questo terminale viene creato da provider di protocolli (RDP, Citrix, VMware e così via) che si integrano con Remote Desktop Services Interface. I dispositivi di input/output associati a questo sono considerati "remoti".

Win32k e altri programmi possono usare API WTS come WTSQuerySessionInformation tenere presente che l'utente è connesso al computer in remoto. Ciò è utile quando i dispositivi vengono reindirizzati; alcune funzionalità devono essere disabilitate, considerare una latenza aggiuntiva o percorsi diversi.

Cosa accade quando si esegue l'accesso remoto a un computer?

Di seguito sono riportati esempi di come i terminali e le sessioni sono correlati in uno scenario RDP (Remote Desktop Protocol) comune.

L'utente davanti al computer

Diagramma dell'uso del terminale della console.

L'utente, Bob, si trova fisicamente nel computer e usa i dispositivi locali per interagire con la sessione. Il terminale della console è collegato alla sessione.

Uso di un altro computer da remoto in

Diagramma dell'uso di un terminale remoto.

L'utente accede al computer da un'altra posizione (non visualizzata), quindi il terminale della console non viene più usato per la sessione attiva. Viene invece collegato a una sessione vuota con la schermata di accesso. A differenza dei terminali remoti, il terminale della console non viene mai terminato e quindi quando non è presente alcun utente locale nel dispositivo, viene collegato a una sessione vuota. Poiché l'utente accede al computer da un'altra posizione, viene creata un'istanza di un terminale remoto e collegata alla sessione.

L'utente torna al computer e accede nuovamente al terminale della console

Diagramma della restituzione al terminale della console dopo l'uso del terminale remoto.

Quando gli utenti tornano al PC locale, usano gli input e gli output locali per interfacciarsi con la sessione. Ciò significa che il terminale della console è stato ricollegato alla sessione e il terminale remoto usato durante la comunicazione remota in viene terminato.

Durata del terminale remoto

La durata del terminale remoto è simile alla durata della connessione dal client RDP al server RDP. Se la connessione RDP viene interrotta a causa di problemi di rete, il terminale remoto viene disconnesso e deve essere stabilito.

Più terminali e sessioni

Nei sistemi operativi come Windows 10 Multisessione e Windows Server con il ruolo Host sessione Desktop remoto (RDSH) installato, più utenti possono essere connessi e avere un terminale connesso come la configurazione seguente. In questo caso, è ancora presente un solo terminale o sessione della console, ma più terminali/sessioni remote.

Diagramma di un terminale remoto e di una console.

In questo esempio Bob e Abby accedono alla sessione da una posizione remota, creando un'istanza di un terminale remoto per interfacciarsi con la sessione. Tom ha eseguito l'accesso alla sessione in locale, collegata al terminale della console. Se Tom fosse troppo remoto nel computer, la sessione verrebbe collegata a un terminale remoto e il terminale della console verrebbe collegato a una sessione vuota che visualizza la schermata di accesso.

Schede grafiche WDDM e terminali

Per ottenere grafica da un terminale remoto, è necessario un driver indiretto windows Display Driver Model (WDDM) remoto per configurare le impostazioni di monitoraggio virtuale ed elaborare l'immagine desktop al client. Esiste una singola istanza del driver di visualizzazione indiretto remoto WDDM per ogni terminale remoto che il driver remoto WDDM può esporre fino a 16 monitor alla sessione remota.

driver di visualizzazione indiretta remoti WDDM possono duplicare le funzionalità di visualizzazione del sistema remoto. Ad esempio, se il monitor nel sistema remoto è 1080p a 60Hz, il driver di visualizzazione indiretto remoto WDDM può esporre un monitor a 1080p 60Hz nella sessione remota; o se un client remoto è in esecuzione in un iPad, il driver di visualizzazione indiretto remoto WDDM per tale terminale remoto esporrà un monitor corrispondente alle funzionalità di visualizzazione dell'iPad.

Le capacità di visualizzazione di una GPU WDDM sono sempre associate al terminale della console. Ciò significa che un monitor locale esposto tramite il driver WDDM completo, il driver di visualizzazione indiretto WDDM o il driver WDDM Display Only visualizzerà solo il terminale della console, quindi la sessione della console corrente. Ad esempio, una GPU WDDM completa con due monitor locali collegati verrà esposta nella sessione della console. L'adattatore viene comunque enumerato in una sessione remota senza monitoraggi collegati.

Nelle sessioni remote WDDM, i criteri predefiniti dello SKU (con override di Criteri di gruppo) decidono se WARP (rasterizzatore CPU) o una GPU di rendering abbinata all'adattatore di visualizzazione indiretto WDDM remoto eseguiranno il rendering del desktop e dell'applicazione per tale sessione remota.