Difference between revisions of "ReactOS Terminal Services"

From ReactOS Wiki
Jump to: navigation, search
(Features)
(Microsoft RDP Specification: add PDF about MS-TSSO)
 
(42 intermediate revisions by 13 users not shown)
Line 1: Line 1:
 
ReactOS Win32 personality a fully featured multi user operating system with possibilities to log in several users at the same time with an insulated environment for every login. Every login should be able to access the terminal services from any interface with many different protocolls enabling different possibilities depending on protocol, interface and connecton speed.
 
ReactOS Win32 personality a fully featured multi user operating system with possibilities to log in several users at the same time with an insulated environment for every login. Every login should be able to access the terminal services from any interface with many different protocolls enabling different possibilities depending on protocol, interface and connecton speed.
  
![ carisoprodol mature tgp com | http://carisoprodol-mature-tgp-com.usa.gs/ ]
+
== Possible Features ==
![ alprazolam compare | http://alprazolam-compare.ca.kz/ ]
+
 
![ online sales viagra | http://online-sales-viagra.iredirector.com/ ]
+
* Multi user environment.
![ liquid viagra | http://liquid-viagra.iredirector.com/ ]
+
* Possibility to log on remotely or locally via any interface (Serial, Parallell, USB, Firewire, Modem(Analog, Digital), Network).
![ viagra for women | http://viagra-for-women.iredirector.com/ ]
+
* Possibility to log in several times from the same terminal + some type of fast switching like XP.
![ treatment alprazolam | http://treatment-alprazolam.ca.kz/ ]
+
* Possibility to use two or more sets of keyboard, mouse and screen (Human Interface Device/HID) and associate a login to a certain set of HIDs.
![ free online viagra | http://free-online-viagra.iredirector.com/ ]
+
* Possibility to split screen (Horizontal or Vertical) and use two sets of HID one associated to each split section (for computers connected to TV-set).
![ carisoprodol drug interactions | http://carisoprodol-drug-interactions.usa.gs/ ]
+
* Possibility to use RDP, Citrix, X-Windows client, Telnet or VNC as protocol/client.
![ keyword tramadol | http://keyword-tramadol.pt.gs/ ]
+
* Possibility to give every login an insulated environment much like vmware.
![ lowest online phentermine price | http://lowest-online-phentermine-price.eu.kz/ ]
+
: "Undo-Disks" -> ROS doesn't write do the real harddisk; Snapshot (in German this is called "Datenairbag")
![ muscle carisoprodol soma | http://muscle-carisoprodol-soma.usa.gs/ ]
+
* Possibility to let a session log in directly to an emulation environment like [http://fabrice.bellard.free.fr/qemu/ QEmu], [http://mamedev.org/ MAME] or [http://www.viceteam.org/ VICE]# to run other Operating System then the Terminal Server or software not compiled for the CPU.
![ tramadol hcl 50mg | http://tramadol-hcl-50mg.br.nu/ ]
+
* Easy management with possibility to take over, see and redirect a session directly from login screen.
![ lortab ingredient | http://lortab-ingredient.pt.kz/ ]
+
 
![ viagra cheap | http://viagra-cheap.iredirector.com/ ]
+
== Tasks need to be done ==
![ viagra gum | http://viagra-gum.iredirector.com/ ]
+
* Multi User Environment
![ sofia viagra | http://sofia-viagra.iredirector.com/ ]
+
** Shared Session Memory Space
![ generic inexpensive viagra | http://generic-inexpensive-viagra.iredirector.com/ ]
+
** Winlogon+GINA
![ purchase phentermine | http://purchase-phentermine.eu.kz/ ]
+
** SAS: make win32k notify Winlogon
![ hydrocodone pain tramadol | http://hydrocodone-pain-tramadol.br.vg/ ]
+
** smss: move Kmode loading to csrss
![ get viagra | http://get-viagra.iredirector.com/ ]
+
** csrss: make it support multiple Win sessions
![ lortab cheap generic | http://lortab-cheap-generic.pt.tc/ ]
+
** logon/logoff procedures
![ women and viagra | http://women-and-viagra.iredirector.com/ ]
+
* Win32k stuff (video / keyboard / mouse)
![ viagra purchase | http://viagra-purchase.iredirector.com/ ]
+
** One focus for every mouse & keyboard cursor
![ lowest price carisoprodol | http://lowest-price-carisoprodol.usa.gs/ ]
+
** Multi Display Adapters and Display support
![ ionamin online | http://ionamin-online.suxx.org/ ]
+
*** Multiple Hardware Displays
![ europe online sale viagra | http://europe-online-sale-viagra.iredirector.com/ ]
+
*** SplitScreen support for two sessions at the same Screen
![ overnight cheap carisoprodol | http://overnight-cheap-carisoprodol.usa.gs/ ]
+
*** Multiple Virtual Display Drivers that can be associated to a login
![ buying viagra | http://buying-viagra.iredirector.com/ ]
+
*** TSDDD Framebuffer Display Driver
![ tramadol medicine | http://tramadol-medicine.br.gs/ ]
+
* Creating support for different protocolls and inserting the different project into ROS
![ description tramadol | http://description-tramadol.br.vg/ ]
+
** UltraVNC
![ generic viagra | http://generic-viagra.iredirector.com/ ]
+
** Telnet server daemon
![ lortab medication | http://lortab-medication.pt.gs/ ]
+
** xrdp project - simple RDP server
![ alprazolam buy online presctiption without | http://alprazolam-buy-online-presctiption-without.ca.kz/ ]
+
 
![ Free Viagra without Prescription | http://Free-Viagra-without-Prescription.iredirector.com/ ]
+
== Thoughts for hardware ==
![ generic pharmacy viagra | http://generic-pharmacy-viagra.iredirector.com/ ]
+
* If system revolves around VNC
![ viagra com | http://viagra-com.iredirector.com/ ]
+
** Cheap dedicated hardware possible to build - cost of £20 possibly for a dedicated kit built VNC client
![ canada viagra | http://canada-viagra.iredirector.com/ ]
+
 
![ buy now online viagra | http://buy-now-online-viagra.iredirector.com/ ]
+
== Thoughts about VNC ==
![ free shipping tramadol | http://free-shipping-tramadol.pt.tc/ ]
+
* Extend VNC protocol to allow access to local client's drives
![ order phentermine uk | http://order-phentermine-uk.eu.kz/ ]
+
* Extend VNC protocol for print files to be sent across in standard format (possibly Postscript?), then at client converted to printer-specific format, to allow printing to client's preferred local printer
![ carisoprodol watson soma | http://carisoprodol-watson-soma.usa.gs/ ]
+
* Possible addition of audio support to VNC?
![ alprazolam discount | http://alprazolam-discount.ca.kz/ ]
+
* Possible extention to VNC to allow it to operate through Proxy servers with Java/executable clients
![ buy cialis online viagra | http://buy-cialis-online-viagra.iredirector.com/ ]
+
* ReactOS can detect "broken" sessions due to network disconnection, and retain session for client to reconnect from another computer/when network begins working again.
![ alprazolam buy cheap | http://alprazolam-buy-cheap.ca.kz/ ]
+
* VNC is built into display Kernel of React, so all video messages are captured and quickly and efficiently sent across internet, reducing lag and server overhead.
![ generic line viagra | http://generic-line-viagra.iredirector.com/ ]
+
 
![ generic viagra online | http://generic-viagra-online.iredirector.com/ ]
+
Advantage being with VNC over X11 based systems, clients are readily available (down to Java), saving on coding. Protocol is fairly efficient and fast, and allows clients to use ReactOS based servers without installing software locally - locally installed software may not be allowed by client's computer administration policy.
![ make your own alprazolam | http://make-your-own-alprazolam.ca.kz/ ]
 
![ 25mg blue generic pill viagra | http://25mg-blue-generic-pill-viagra.iredirector.com/ ]
 
![ alprazolam without prescription | http://alprazolam-without-prescription.ca.kz/ ]
 
![ lortab 10 650 | http://lortab-10-650.br.nu/ ]
 
![ cheap netfirms com generic link viagra | http://cheap-netfirms-com-generic-link-viagra.iredirector.com/ ]
 
  
 
== Links ==
 
== Links ==
 
* [http://www.microsoft.com/windowsserver2003/technologies/terminalservices/default.mspx Windows Terminal Services]
 
* [http://www.microsoft.com/windowsserver2003/technologies/terminalservices/default.mspx Windows Terminal Services]
  
* [http://sourceforge.net/projects/xrdp A simple RDP server for Linux and Windows]
+
* [http://sourceforge.net/projects/xrdp XRDP - A simple open source RDP server for Linux and Windows]
 +
 
 +
* [http://xrdp.sourceforge.net/ The homepage for XRDP with files released]
  
* [http://www.rdesktop.org/ A Remote Desktop Protocol Client]
+
* [http://www.rdesktop.org/ rdesktop - A Remote Desktop Protocol Client]
 +
 
 +
* [http://www.atomice.com/blog/?page_id=9 The above Remote Desktop Client ported for windows]
 +
 
 +
* [http://www.freerdp.com/ FreeRDP - A fork of the rdesktop project - with active development]
  
 
* [http://www.citrix.com/ Citrix (they made the first Windows Terminal Server)]
 
* [http://www.citrix.com/ Citrix (they made the first Windows Terminal Server)]
 +
 +
* [https://redcircle.blog/2006/10/15/citrix-and-microsoft-1989-1998/ Citrix and Microsoft (1989-1998)]
  
 
* [http://ultravnc.sourceforge.net/ UltraVNC Project]
 
* [http://ultravnc.sourceforge.net/ UltraVNC Project]
Line 70: Line 73:
 
* [http://telnetd.sourceforge.net/ Telnet Daemon]
 
* [http://telnetd.sourceforge.net/ Telnet Daemon]
  
== Tasks need to be done ==
+
* [http://www.pgina.org pgina (a GPL GINA)]
* Multi User Environment
+
 
** Winlogon+GINA
+
* [http://x.cygwin.com/ Cygwin X-Server]
** SAS: make win32k notify Winlogon
+
 
** smss: move Kmode loading to csrss
+
* [http://www.2x.com/ 2X Application Server for Linux (Free GPL)]
** csrss: make it support multiple Win sessions
+
 
** logon/logoff procedures
+
* [http://support.microsoft.com/kb/186572/en-us/ Microsoft Windows Terminal Server Walkthrough: Startup, Connection, and Application]
* Multi HID and key and mouse cursor
+
 
** Mouse drivers
+
* [http://msdn.microsoft.com/en-us/library/ms811523.aspx Optimizing Applications for Microsoft Windows 2000 Terminal Services and Windows NT Server 4.0, Terminal Server Edition]
** Keyboard drivers
+
 
** USB driver support
+
* [http://msdn.microsoft.com/en-us/library/dd644643(v=PROT.10).aspx Microsoft Windows Terminal Services System Overview]
* Multi Display Adapters and Display support
+
 
* Creating support for different protocolls and inserting the different project into ROS
+
* [http://support.microsoft.com/kb/186607/en-us/ Understanding the Remote Desktop Protocol (RDP)]
** UltraVNC
+
 
** Telnet server daemon
+
* [http://efod.se/media/thesis.pdf Reverse-Engineering and Implementation of the RDP 5 Protocol by Erik Forsberg, Linköpings universitet]
** xrdp project - simple RDP server
+
 
** X-Server for ReactOS
+
== Microsoft RDP Specification ==
 +
 
 +
* [http://www.itu.int/rec/T-REC-T.125-199802-I/en [T.125]: Multipoint communication service protocol specification]
 +
 
 +
* [http://www.itu.int/rec/T-REC-X.224-199511-I/en/ [X.224]: Information technology - Open Systems Interconnection - Protocol for providing the connection-mode transport service]
 +
 
 +
* [http://tools.ietf.org/html/rfc1006 [RFC1006]: ISO Transport Service on top of the TCP - Version: 3 (Updated-By RFC2126)]
 +
 
 +
* [http://tools.ietf.org/html/rfc2126 [RFC2126]: ISO Transport Service on top of TCP (ITOT)]
 +
 
 +
* [http://msdn.microsoft.com/en-us/library/dd644643(v=PROT.10).aspx [MS-TSSO]: Terminal Services System Overview]
 +
 
 +
* [https://winprotocoldoc.blob.core.windows.net/productionwindowsarchives/WinArchive/%5BMS-TSSO%5D.pdf [MS-TSSO]: Terminal Services System Overview (full PDF, archived)]
 +
 
 +
* [http://msdn.microsoft.com/en-us/library/cc248485(v=PROT.10).aspx  [MS-TSGU]: Terminal Services Gateway Server Protocol Specification]
 +
 
 +
* [http://msdn.microsoft.com/en-us/library/cc248570(v=PROT.10).aspx  [MS-TSTS]: Terminal Services Terminal Server Runtime Interface Protocol Specification]
 +
 
 +
* [http://msdn.microsoft.com/en-us/library/dd357079(v=PROT.10).aspx  [MS-TSWP]: Terminal Services Workspace Provisioning Protocol Specification]
 +
 
 +
* [http://msdn.microsoft.com/en-us/library/cc240445.aspx [MS-RDPBCGR]: Remote Desktop Protocol: Basic Connectivity and Graphics Remoting Specification]
 +
 
 +
* [http://msdn.microsoft.com/en-us/library/cc240933.aspx [MS-RDPEA]: Remote Desktop Protocol: Audio Output Virtual Channel Extension]
 +
 
 +
* [http://msdn.microsoft.com/en-us/library/cc241066.aspx [MS-RDPECLIP]: Remote Desktop Protocol: Clipboard Virtual Channel Extension]
 +
 
 +
* [http://msdn.microsoft.com/en-us/library/cc241215.aspx [MS-RDPEDYC]: Remote Desktop Protocol: Dynamic Channel Virtual Channel Extension]
 +
 
 +
* [http://msdn.microsoft.com/en-us/library/cc241305.aspx [MS-RDPEFS]: Remote Desktop Protocol: File System Virtual Channel Extension]
 +
 
 +
* [http://msdn.microsoft.com/en-us/library/cc241537.aspx [MS-RDPEGDI]: Remote Desktop Protocol: Graphics Device Interface (GDI) Acceleration Extensions]
 +
 
 +
* [http://msdn.microsoft.com/en-us/library/cc241880.aspx [MS-RDPELE]: Remote Desktop Protocol: Licensing Extension]
 +
 
 +
* [http://msdn.microsoft.com/en-us/library/cc242017.aspx [MS-RDPEMC]: Remote Desktop Protocol: Multiparty Virtual Channel Extension]
 +
 
 +
* [http://msdn.microsoft.com/en-us/library/cc242116.aspx [MS-RDPEPC]: Remote Desktop Protocol: Print Virtual Channel Extension]
 +
 
 +
* [http://msdn.microsoft.com/en-us/library/cc242231.aspx [MS-RDPEPNP]: Remote Desktop Protocol: Plug and Play Devices Virtual Channel Extension]
 +
 
 +
* [http://msdn.microsoft.com/en-us/library/cc242359.aspx [MS-RDPEPS]: Remote Desktop Protocol: Session Selection Extension]
 +
 
 +
* [http://msdn.microsoft.com/en-us/library/cc242568.aspx [MS-RDPERP]: Remote Desktop Protocol: Remote Programs Virtual Channel Extension]
 +
 
 +
* [http://msdn.microsoft.com/en-us/library/cc242596.aspx [MS-RDPESC]: Remote Desktop Protocol: Smart Card Virtual Channel Extension]
 +
 
 +
* [http://msdn.microsoft.com/en-us/library/cc242856.aspx [MS-RDPESP]: Remote Desktop Protocol: Serial and Parallel Port Virtual Channel Extension]
 +
 
 +
* [http://msdn2.microsoft.com/en-us/library/cc242947.aspx [MS-RDPEXPS]: Remote Desktop Protocol: XML Paper Specification (XPS) Print Virtual Channel Extension]
 +
 
 +
* [http://msdn.microsoft.com/en-us/library/dd302831(v=prot.10).aspx [MS-RDPCR2]: Remote Desktop Protocol: Composited Remoting V2 Specification]
 +
 
 +
* [http://msdn.microsoft.com/en-us/library/dd342521(v=prot.10).aspx [MS-RDPEAI]: Remote Desktop Protocol: Audio Input Redirection Virtual Channel Extension]
 +
 
 +
* [http://msdn.microsoft.com/en-us/library/dd358323(v=prot.10).aspx [MS-RDPEDC]: Remote Desktop Protocol: Desktop Composition Virtual Channel Extension]
 +
 
 +
* [http://msdn.microsoft.com/en-us/library/ff635589(v=prot.10).aspx [MS-RDPEUSB]: Remote Desktop Protocol: USB Devices Virtual Channel Extension]
 +
 
 +
* [http://msdn.microsoft.com/en-us/library/dd342975(v=prot.10).aspx [MS-RDPEV]: Remote Desktop Protocol: Video Redirection Virtual Channel Extension]
 +
 
 +
* [http://msdn.microsoft.com/en-us/library/ff635378(v=prot.10).aspx [MS-RDPNSC]: Remote Desktop Protocol: NSCodec Extension]
  
== People who like to help ==
+
* [http://msdn.microsoft.com/en-us/library/ff635423(v=prot.10).aspx [MS-RDPRFX]: Remote Desktop Protocol: RemoteFX Codec Extension]
[http://reactos.com/wiki/index.php/Emanuele_Aliberti Emanuele Aliberti Developer of the multiuser CSRSS] [http://www.reactos.com/forum/profile.php?mode=viewprofile&u=39 Profile]
 
  
[http://www.reactos.com/forum/profile.php?mode=viewprofile&u=45 Jaix Bly visionary]
+
[[Category:Ideas]]

Latest revision as of 15:22, 14 November 2017

ReactOS Win32 personality a fully featured multi user operating system with possibilities to log in several users at the same time with an insulated environment for every login. Every login should be able to access the terminal services from any interface with many different protocolls enabling different possibilities depending on protocol, interface and connecton speed.

Possible Features

  • Multi user environment.
  • Possibility to log on remotely or locally via any interface (Serial, Parallell, USB, Firewire, Modem(Analog, Digital), Network).
  • Possibility to log in several times from the same terminal + some type of fast switching like XP.
  • Possibility to use two or more sets of keyboard, mouse and screen (Human Interface Device/HID) and associate a login to a certain set of HIDs.
  • Possibility to split screen (Horizontal or Vertical) and use two sets of HID one associated to each split section (for computers connected to TV-set).
  • Possibility to use RDP, Citrix, X-Windows client, Telnet or VNC as protocol/client.
  • Possibility to give every login an insulated environment much like vmware.
"Undo-Disks" -> ROS doesn't write do the real harddisk; Snapshot (in German this is called "Datenairbag")
  • Possibility to let a session log in directly to an emulation environment like QEmu, MAME or VICE# to run other Operating System then the Terminal Server or software not compiled for the CPU.
  • Easy management with possibility to take over, see and redirect a session directly from login screen.

Tasks need to be done

  • Multi User Environment
    • Shared Session Memory Space
    • Winlogon+GINA
    • SAS: make win32k notify Winlogon
    • smss: move Kmode loading to csrss
    • csrss: make it support multiple Win sessions
    • logon/logoff procedures
  • Win32k stuff (video / keyboard / mouse)
    • One focus for every mouse & keyboard cursor
    • Multi Display Adapters and Display support
      • Multiple Hardware Displays
      • SplitScreen support for two sessions at the same Screen
      • Multiple Virtual Display Drivers that can be associated to a login
      • TSDDD Framebuffer Display Driver
  • Creating support for different protocolls and inserting the different project into ROS
    • UltraVNC
    • Telnet server daemon
    • xrdp project - simple RDP server

Thoughts for hardware

  • If system revolves around VNC
    • Cheap dedicated hardware possible to build - cost of £20 possibly for a dedicated kit built VNC client

Thoughts about VNC

  • Extend VNC protocol to allow access to local client's drives
  • Extend VNC protocol for print files to be sent across in standard format (possibly Postscript?), then at client converted to printer-specific format, to allow printing to client's preferred local printer
  • Possible addition of audio support to VNC?
  • Possible extention to VNC to allow it to operate through Proxy servers with Java/executable clients
  • ReactOS can detect "broken" sessions due to network disconnection, and retain session for client to reconnect from another computer/when network begins working again.
  • VNC is built into display Kernel of React, so all video messages are captured and quickly and efficiently sent across internet, reducing lag and server overhead.

Advantage being with VNC over X11 based systems, clients are readily available (down to Java), saving on coding. Protocol is fairly efficient and fast, and allows clients to use ReactOS based servers without installing software locally - locally installed software may not be allowed by client's computer administration policy.

Links

Microsoft RDP Specification