# Linux Terminal Server Project

Linux Terminal Server Project (LTSP) est un ensemble de programmes permettant à plusieurs personnes d'utiliser le même ordinateur. Cela est réalisé par la mise en place d'un réseau informatique composé d'un serveur de terminal sous Linux et de clients légers ou de clients lourds
LTSP est distribué selon les termes de la licence publique générale GNU et fait donc partie des logiciels libres.
Ce projet a été lancé et est maintenu par Jim McQuillan.

## Utilisation

La technologie LTSP devient populaire dans les environnements multi-utilisateur soucieux du coût d'acquisition et d'entretien de nombreux ordinateurs de bureau. Elle permet par exemple à une école de procurer à ses élèves un plus grand nombre d'ordinateurs ayant les fonctionnalités requises : les clients légers (ou terminaux X) sont généralement bien moins coûteux que des ordinateurs neufs. Même un processeur relativement lent peut délivrer d'excellentes performances sur un client léger.
La possibilité de plus grandes performances pour une dépense moindre (un seul serveur puissant permet d'utiliser de nombreux clients légers) est l'atout principal de LTSP.
Le second atout est la possibilité de contrôle accrue et simplifiée sur l'utilisation faite par les utilisateurs des clients légers pour l'institution (le professeur par exemple).
Certaines distributions Linux sont conçues pour tirer profit de LTSP :
* K12LTSP (basée sur Fedora)
* AbulÉdu
* Eclair (basé sur Ubuntu)
* Ubuntu (basée sur Debian)
* Edubuntu (basée sur Debian)
* skolelinux (basée sur Debian)
* Cutter Projet (basée sur SuSE)
* Édutice (basée sur Mandriva, LTSP et FreeNX)
* FenestrOs Edu (basée sur Mandriva)
* Trisquel edu (basé sur Ubuntu)
* Debian
* PrimTux

## Fonctionnement
### Le processus de démarrage d'un client LTSP

Sur le serveur LTSP un environnement, cloisonné grâce à chroot, est installé pour les clients, avec un système d'exploitation Linux minimal et l'environnement X.
Rappel de terminologie : un client est tout ordinateur relié au réseau capable de faire fonctionner Linux. Un serveur est tout programme susceptible de répondre aux requêtes d'un ou plusieurs clients autorisés. Ainsi, un terminal X est un serveur graphique, qui obéira à toute requête d'un quelconque client, mais ne prendra l'initiative d'aucune.
Sur un ordinateur de bureau standard, un client "en local" est démarré depuis un média bootable (disque dur, CD-ROM ou clé USB) ; il charge depuis ce média un noyau Linux léger, qui initialise le système et tous les périphériques qu'il reconnait.
Il en va différemment pour un client léger qui démarre à partir du réseau :
* Lorsque le client est configuré pour démarrer depuis le réseau (au moyen de mécanismes comme Etherboot, Preboot eXecution Environment ou NetBoot), il commence par réclamer via DHCP son adresse IP ainsi que celle du serveur LTSP.
* Il charge ensuite le noyau Linux depuis une image pré-configurée sur le serveur LTSP, via le service TFTP lancé sur le serveur LTSP.
* Durant cet échange, le client a demandé au serveur le chemin vers son environnement chrooté. Lorsqu'il l'a obtenu, le client monte ce chemin en tant que système de fichiers racine via le service NFS lancé sur le serveur LTSP.
* Le client charge le système d'exploitation GNU/Linux (depuis le système de fichiers racine via NFS) et démarre le gestionnaire graphique X.
* Le client se connecte alors au gestionnaire d'affichage XDMCP du serveur LTSP. (Dans le cas du récent MueKow (LTSP 5), le client établit d'abord un tunnel SSH vers l'environnement X du serveur LTSP, puis l'utilise pour lancer le gestionnaire d'affichage LDM depuis le serveur LTSP.)
Dans le cas ou LTSP est configuré pour servir des clients legers: tous les programmes sont lancés sur le serveur LTSP, mais affichés et opérés depuis le client.
Dans le cas ou LTSP est configuré pour servir des clients lourds: tous les programmes sont lancés affichés et opérés depuis le client (mais les données sont sur le serveur).
LTSP peut prendre les deux configurations à la fois.
Différences entre LTSP 4 et 5 :
| Besoin | LTSP 4 | LTSP 5 (MueKow) |
| Export GUI | XDMCP | ssh -X |
| Connexion distante/ X display manager | KDM/GDM | LTSP Display Manager (LDM) |
| Méthode de distribution | sources LTSP | distribution native |
| Serveur d'authentification | serveur XDMCP | serveur SSH |

## Déploiement
### Déploiement massif avec MILLE-Xterm

Le projet MILLE a été lancé par des agences publiques canadiennes et des écoles de la province de Québec. MILLE signifie « Modèle d'Infrastructure Logiciel Libre en Éducation ». Il est conçu pour les institutions éducatives. Il a pour but de réduire les coûts d’acquisition et de maintenance des infrastructures matérielles et logicielles, de réduire les coûts de développement et de maintenance des services et d’accroître l’accès à ces derniers tant à l’école qu’à la maison en proposant une architecture logicielle basée sur les logiciels libres.
MILLE est composé de quatre sous-projets : un portail (basé sur uportal), une pile middleware open-source, un CD composé de logiciels libres pour Windows et Macintosh et, finalement, MILLE-Xterm. Le noyau de base de MILLE-Xterm est LTSP. MILLE-Xterm procure une infrastructure échelonnable pour le déploiement massif de terminaux X.