Methods, systems, and devices are described for providing distributed virtual desktops. In these methods, systems, and devices, a first user is authenticated at a first machine communicatively coupled with a server computer system. A second machine communicatively coupled with the server computer system is selected to host an operating system session associated with the first user. Input/output functionality for the operating system session associated with the first user is assigned to the first machine, and the first machine is instructed to communicate with the second machine such that the input/output functionality provided by the first machine is mapped to the operating system session associated with the first user at the second machine.
展开▼