Setting up Linux and Windows Terminal Services in Schools HOWTO


Revision History
Revision 0.22005-06-07zh
first draft proposed


This document explains the steps you can follow to deploy terminal services with Linux and Windows.

1. Introduction
1.1. Copyright and License
1.2. Disclaimer
1.3. Credits / Contributors
1.4. Feedback
1.5. Translations
2. Planning
3. Terminal Services with authentication and homedirs on Linux
3.1. Setting up the LTSP server
3.2. Setting up the TSE server
3.3. Roaming profiles
3.4. Password synchronization
3.5. Local drives
3.5.1. Accessing local drives with Linux sessions
3.5.2. Accessing local drives with Windows sessions
3.6. Printing
3.7. Licensing
3.8. Particular situations
3.8.1. Using Linux sessions to connect to the TSE server
3.8.2. Using Linux terminal services only
3.8.3. Using Windows terminal services only
3.8.4. Using multiple Linux and Windows terminal servers
3.9. Troubleshooting
3.10. Files
4. Terminal Services with homedirs on Windows and authentication on Linux
4.1. Setting up the LTSP server
4.2. Setting up the TSE server
4.3. Local drives
4.4. Printing
4.5. Licensing
4.6. Particular situations
4.6.1. Using multiple Linux and Windows terminal servers
4.7. Troubleshooting
5. Terminal Services with authentication and homedirs on Windows
5.1. Setting up the AD server
5.2. Setting up the LTSP server
5.3. Setting up the TSE server
5.4. Local drives
5.5. Printing
5.6. Licensing
5.7. Particular situations
5.7.1. Using multiple Linux and Windows terminal servers
5.8. Troubleshooting
5.9. Files
6. Terminal Services with homedirs on Linux and authentication on Windows
6.1. Setting up the AD server
6.2. Setting up the LTSP server
6.3. Setting up the TSE server
6.4. Local drives
6.5. Printing
6.6. Licensing
6.7. Particular situations
6.7.1. Using multiple Linux and Windows terminal servers
6.8. Troubleshooting
6.9. Files
7. Tips, tricks and tweakings
7.1. The video card is not detected
7.2. The network card is not detected
7.3. Installing additional software with K12LTSP
7.4. Preventing multiple logins with the same username
7.5. Rebooting or powering off workstations remotely
7.6. Creating and removing users accounts in bulk
7.7. Optimizing Windows terminal services
7.8. Inheriting settings in lts.conf
8. Resources
8.1. Projects
8.2. Wikis
8.3. Mailing lists
8.4. Windows Terminal Services
8.5. Other links

1. Introduction

In many situations, especially in schools [1] , the administrators must provide both Linux and Windows environments to the students. In most cases, this is achieved by deploying workstations with operating systems installed on the local hard drives. Many problems are inherent to this solution such as hard disks failures and configuration alteration by the students which leaves the computers in an unusable state, so this quickly results in a painful administration: install, reinstall, update, upgrade, replace, maintain, and so on. Some administrators have resort to some solutions like making disk images but this is still painful because you must deploy the images and then making the updates resulting in a loss of time and sometimes money.

In this document we present a solution based on terminal services which lets you significantly reduce administration tasks taking into account the following criteria:

  • Provide access to both Linux and Windows environments at the same time

  • Provide unified logons and homedirs

  • Reuse the existing hardware as much as possible

  • Access to the local drives

  • Preventing users from doing what they are not allowed to do

I will try to avoid to present things extensively because we can write entire books on the subject. This document is organized as a step by step howto which let's you start from scratch easily. In spite of the number of necessary network services, their implementation is made easy with configurators and scripts.

1.1. Copyright and License

This document, Setting up Linux and Windows Terminal Services in Schools HOWTO, is copyrighted (c) 2005 by Zouhir Hafidi. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.1 or any later version published by the Free Software Foundation; with no Invariant Sections, with no Front-Cover Texts, and with no Back-Cover Texts. A copy of the license is available at

Linux is a registered trademark of Linus Torvalds.

1.2. Disclaimer

No liability for the contents of this document can be accepted. Use the concepts, examples and information at your own risk. There may be errors and inaccuracies, that could be damaging to your system. Proceed with caution, and although this is highly unlikely, the author(s) do not take any responsibility.

All copyrights are held by their respective owners, unless specifically noted otherwise. Use of a term in this document should not be regarded as affecting the validity of any trademark or service mark. Naming of particular products or brands should not be seen as endorsements.

1.3. Credits / Contributors

This document is the result of a lot of reading, testing and subscriptions to many useful mailing lists. Thanks to everybody who directly or inderectly contributed to this document.

1.4. Feedback

Feedback is most certainly welcome for this document. Send your additions, comments and criticisms to the following email address : .

1.5. Translations

If you have translated this document, please send us your name, email address, the language and URL to the translated document (preferred).

[1] Note that the context here evokes the schools but the document remains valid for both education and business users