ReactOS Terminal Services
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.
- 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.
- Possibiliyt 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 driectly to an emulation environment like QEmu, MAMEor 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
- SAS: make win32k notify Winlogon
- smss: move Kmode loading to csrss
- csrss: make it support multiple Win sessions
- logon/logoff procedures
- Multi HID; key and mouse cursor
- Mouse drivers needs to support multi cursors
- Keyboard drivers needs to support multi cursors
- USB driver support to enable more then one set of HID
- One focus for every mouse & keyboard cursor.
- Multi Display Adapters and Display support
- Multiple Hardware Displays
- Multiple Virtual Displays
- Creating support for different protocolls and inserting the different project into ROS
- Telnet server daemon
- xrdp project - simple RDP server
- X-Server for ReactOS