Versions et fonctionnalités¶
Version
Page écrite pour pupitre 0.1.35-1.
Pupitre évolue vite, de 0.1.0-1 à 0.1.35-1. Cette page dit quelle version a apporté quoi, quels comportements par défaut ont changé en route, et quelles sont les valeurs par défaut des réglages en 0.1.35-1. Si votre serveur n'est pas sur la dernière version, elle vous dit ce qui vous manque.
La source qui fait foi est le journal des modifications du paquet (debian/changelog). Quand une
fonction n'y figure pas, la version donnée ici est déduite de l'historique git et marquée « déduit de
git ».
Quelle version est installée¶
dpkg -l pupitre
La colonne Version donne, par exemple, 0.1.35-1. apt policy pupitre donne la version installée
et la candidate ; le journal des modifications se lit avec
zless /usr/share/doc/pupitre/changelog.Debian.gz, et les changements qui demandent un geste dans
NEWS.Debian.gz.
La console web n'affiche pas la version.
Si vous n'êtes pas sur la dernière version¶
| Si votre version est antérieure à | Il vous manque |
|---|---|
| 0.1.14 | le curseur matériel par défaut (sans lui, le pointeur est dessiné dans l'image, à 8 images par seconde), le mot de passe de la console, les boutons Relink et Logs, la clé USB rebranchée après éjection |
| 0.1.17 | une vidéo sans plafond (avant, 1024 Kio/s par siège) |
| 0.1.20 | le double tampon différé (moitié moins d'octets pour le même écran) |
| 0.1.26 | des répertoires personnels qui ne passent plus à root à chaque mise à jour |
| 0.1.27 | le mode élèves (écran de connexion, une session par élève), la fermeture de session boîtier éteint, la règle polkit sans extinction, la mise à jour sans coupure du lien |
| 0.1.28 | la couche de contrôle et ses briques (entre 0.1.25 et 0.1.27, les moteurs pour enfants étaient livrés dans /etc/firefox/policies/policies.json) |
| 0.1.30 | le bureau de l'école, la page Firefox nettoyée, uBlock Origin, les briques video-fenetre et accueil-pupitre |
| 0.1.31 | des journaux de fast_tcp2 durables, lisibles par root seul, sans frappe par défaut |
| 0.1.33 | dns-recherche-sure allumée par défaut |
| 0.1.34 | la reprise de la clé USB après un montage mort, et la commande de clé rejouée après une chute |
| 0.1.35 | quinze sièges par défaut au lieu de treize, et une limite mémoire calculée qui ne fait plus tomber le siège quand PUPITRE_SEATS vaut 0, est vide ou n'est pas un nombre |
Changements de comportement par défaut¶
Les points où une mise à jour change ce que fait le serveur sans que vous ayez rien réglé :
| Version | Changement | Revenir en arrière |
|---|---|---|
| 0.1.5 | le client dort au lieu de tourner en boucle : 1,50 % d'un cœur par siège au lieu de 99,97 % | PUPITRE_ATTENTE=0 |
| 0.1.14 | curseur matériel allumé (introduit éteint en 0.1.8) | PUPITRE_CURSEUR=0 |
| 0.1.17 | plus de plafond de débit vidéo (1024 Kio/s depuis 0.1.3) | PUPITRE_DEBIT_MAX=1024 |
| 0.1.20 | double tampon différé | PUPITRE_DOUBLE=1 |
| 0.1.24 | attente après chaque segment vidéo ramenée de 200 à 100 µs une fois le flux ouvert (introduite en 0.1.23) | WYSE_DRAIN_US, réglage interne |
| 0.1.28 | moteurs pour enfants sortis de la base Firefox, dans la brique recherche-enfants, installée éteinte |
sudo pupitre-controle activer recherche-enfants |
| 0.1.31 | fast_tcp2 lancé seul masque les rapports d'entrée ; sous le lanceur, c'était déjà le cas depuis 0.1.0 |
aucun : ne jamais l'enlever chez un élève |
| 0.1.33 | dns-recherche-sure allumée, à la première installation et une fois à la montée |
sudo pupitre-controle desactiver dns-recherche-sure, choix ensuite respecté |
| 0.1.35 | le gestionnaire accepte quinze sièges au lieu de treize, et le calcul mémoire compte 15 sièges | seats = 13 dans /etc/pupitre/pupitre.conf, PUPITRE_SEATS=13 dans un drop-in des sièges |
PUPITRE_CONNEXION reste à fixe par défaut : le mode élèves ne s'allume jamais tout seul.
Matrice des fonctionnalités¶
Affichage¶
| Fonction | Depuis | Défaut actuel |
|---|---|---|
Un siège par boîtier, encodeur RLE, fast_tcp2 sur socket brute |
0.1.0 | |
| Démarrage fiable (3 s laissées à un boîtier qui vient de redémarrer, entrées et clé ouvertes après le premier écran) | 0.1.2 | |
Plafond de débit vidéo PUPITRE_DEBIT_MAX |
0.1.3 | 0 (aucun) depuis 0.1.17 |
Capture adaptative PUPITRE_FPS_RAPIDE (absente du journal des modifications) |
0.1.4 (déduit de git) | 0, éteinte |
| Une trame calée sur les en-têtes ne tue plus le siège | 0.1.7 | WYSE_CALE_STRICT=1 restaure l'ancien |
| Curseur matériel, forme renvoyée seulement si elle change | 0.1.8 | allumé depuis 0.1.14 |
Résolution du siège PUPITRE_ECRAN_L et PUPITRE_ECRAN_H |
0.1.8 | 1280 x 1024 |
| Encodeur 4 à 6 fois plus rapide, même sortie octet pour octet | 0.1.19 | |
| Double tampon différé (mode 3) | 0.1.20 | 3 |
Attente après chaque segment vidéo WYSE_DRAIN_US |
0.1.23 | 100 µs depuis 0.1.24 |
Son¶
| Fonction | Depuis | Défaut actuel |
|---|---|---|
| PulseAudio par siège, volume dans la barre, touches multimédia | 0.1.2 | allumé, PUPITRE_AUDIO=0 le coupe |
| Micro nul par défaut, pavucontrol ; plus de coupure du son en écrivant sur la clé | 0.1.3 | |
| Son d'ouverture de session élève | 0.1.30 |
Entrées¶
| Fonction | Depuis |
|---|---|
| Clavier et souris par tunnels USB | 0.1.0 |
Codes de touche injectés, la disposition gouverne (AZERTY, accents, AltGr), PUPITRE_LAYOUT |
0.1.1 (déduit de git), défaut fr |
| Un seul segment non acquitté par tunnel : le pointeur ne saute plus | 0.1.3 |
| Injecteur relancé s'il meurt, touches relâchées à la reconnexion | 0.1.27 |
| Pavé numérique allumé à l'écran de connexion | 0.1.30 |
Un clavier ou une souris branchés après l'allumage du boîtier ne sont pas pris de façon fiable : le client ne les configure qu'à l'ouverture du lien, et le boîtier peut redémarrer au branchement. Le boîtier éteint puis rallumé les fait prendre, bureau gardé ; un Relink revient au même, car il fait redémarrer le boîtier. La clé USB, elle, se branche à chaud.
Clé USB¶
| Fonction | Depuis |
|---|---|
Clé servie par FUSE (disque.img, jamais montée par le noyau du serveur), lanceur « Clé USB », montage au double-clic |
0.1.1 |
| La clé appartient à l'utilisateur du siège, éjection refusée tant qu'elle sert, notifications | 0.1.2 |
| Clé rebranchée après éjection | 0.1.14 |
| Veilleur de clé dans le répertoire personnel de l'élève (mode élèves) | 0.1.27 |
| Port isolé du boîtier, à côté des prises audio | 0.1.29 |
| Montage mort détaché, commande rejouée après une chute de la clé | 0.1.34 |
PUPITRE_CLE=0 désactive la clé (défaut 1).
Sièges et connexion¶
| Fonction | Depuis | Défaut actuel |
|---|---|---|
| Gestionnaire multi-sièges, une unité systemd par siège, paquet Debian | 0.1.0 | 15 sièges (depuis 0.1.35, 13 avant ; seats = 0 lève la limite), enrôlement automatique |
| Chaque siège sous son propre utilisateur, répertoires personnels en 0700 | 0.1.2 | |
| Journaux par siège tournés | 0.1.9 | |
Limite mémoire souple par siège PUPITRE_MEMOIRE ; configuration zram livrée, systemd-zram-generator en simple suggestion depuis 0.1.11 (recommandé en 0.1.10) |
0.1.10 | 0, éteinte |
| Le bureau survit à la disparition du boîtier, seul le lien est refait | 0.1.13 | |
Lien muet PUPITRE_SILENCE, délai de grâce PUPITRE_GRACE |
0.1.13 | 15 s, 600 s |
| Gabarits DCP sans identifiants de boîtier en dur | 0.1.16 | |
| Répertoires personnels non rendus à root par une mise à jour | 0.1.26 | |
Mode élèves PUPITRE_CONNEXION=eleves : écran de connexion LightDM, comptes locaux par PAM |
0.1.27 | fixe |
Fermeture de la session si le boîtier reste éteint PUPITRE_FERMETURE |
0.1.27 | 600 s |
| Rien de l'élève ne survit à sa déconnexion ; ni extinction ni action systemd pour les élèves | 0.1.27 | |
| Mise à jour du paquet sans couper le lien | 0.1.27 | |
| Pas de verrouillage d'écran dans la session élève | 0.1.30 | |
Quinze sièges par défaut ; PUPITRE_SEATS à 0, vide ou non numérique retombe sur 15 |
0.1.35 | 15 |
Il n'existe pas de connexion par annuaire (AD ou LDAP) en 0.1.35-1, ni d'outil pupitre pour créer les comptes des élèves.
Console web¶
| Fonction | Depuis |
|---|---|
| Console : écran de chaque siège, état, assigner, renommer, identifier, redémarrer, oublier | 0.1.1 (déduit de git) |
| « Vu il y a N » rafraîchi toutes les 5 s | 0.1.9 |
| Mot de passe (PBKDF2), refus de démarrer hors boucle locale sans lui | 0.1.14 (déduit de git, absent du journal des modifications) |
| Boutons Relink et Logs | 0.1.14 (déduit de git, absents du journal des modifications) |
Contrôle et filtrage¶
| Fonction | Depuis | Défaut actuel |
|---|---|---|
| Moteurs pour enfants par politique Firefox | 0.1.25 dans /etc/firefox/policies, filtre strict en 0.1.27 |
brique recherche-enfants depuis 0.1.28, éteinte |
pupitre-controle et base Firefox toujours active (télémétrie, études, DNS sur HTTPS coupés) |
0.1.28 | |
Brique dns-recherche-sure |
0.1.28 | allumée depuis 0.1.33 |
Briques video-fenetre et accueil-pupitre |
0.1.30 | éteintes |
uBlock Origin, page de nouvel onglet nettoyée, about:config bloqué |
0.1.30 | base |
| Bandeaux de cookies masqués | 0.1.32 | base |
Le détail est dans Couches personnalisables.
Apparence et logiciels¶
| Fonction | Depuis |
|---|---|
Apparence PrimTux, PUPITRE_APPARENCE |
0.1.1 (déduit de git) |
Menus de Firefox et LibreOffice en français ; TuxBot par pupitre-logiciels-primtux |
0.1.25 |
| Écran de connexion aux couleurs de PrimTux ; bouton de déconnexion dans la barre (déduit de git) | 0.1.27 |
| Logiciels de l'école sur le bureau, dans un ordre fixe | 0.1.30 |
| Préfixe Wine de TuxBot préparé sans fenêtre | 0.1.32 |
Exploitation, journaux et RGPD¶
| Fonction | Depuis |
|---|---|
Journaux par siège dans /var/log/pupitre/seat-N |
0.1.0 |
Frappes masquées dans les journaux sous le lanceur (PUPITRE_QUIET_KEYS=1) |
0.1.0 |
| Le lanceur nomme chaque processus mort et sa cause | 0.1.6 |
| Fichier de session d'un siège, qui nomme l'élève, lisible par root seul | 0.1.27 |
Journal de fast_tcp2 dans /var/log/pupitre/seat-N, en 0600, 10 gardés par siège ; frappes masquées par défaut du client lui-même |
0.1.31 |
Aucun journal ne capture la frappe ni le contenu par défaut.
Variables des sièges¶
Ces variables se posent dans un drop-in systemd de pupitre-seat@.service, jamais dans
pupitre.conf (voir Couches personnalisables). Défauts lus
dans scripts/pupitre-seat en 0.1.35-1.
| Variable | Défaut | Depuis | Effet |
|---|---|---|---|
PUPITRE_CONNEXION |
fixe (ou eleves, toute autre valeur est refusée) |
0.1.27 | écran de connexion par siège |
PUPITRE_FERMETURE |
600 s (0 : jusqu'à PUPITRE_GRACE) |
0.1.27 | ferme la session de l'élève si le boîtier reste éteint ; le délai réel est le plus petit de celui-ci et de PUPITRE_GRACE |
PUPITRE_GRACE |
600 s (0 : jamais) | 0.1.13 | durée pendant laquelle le bureau est gardé sans lien |
PUPITRE_SILENCE |
15 s (0 désactive) | 0.1.13 | délai avant de déclarer le lien muet |
PUPITRE_UTILE |
60 s | 0.1.13 | durée minimale d'une session qui a servi |
PUPITRE_AUDIO |
1 | 0.1.2 | son du siège |
PUPITRE_CURSEUR |
1 | 0.1.8, allumé depuis 0.1.14 | curseur matériel |
PUPITRE_CLE |
1 | 0.1.1 | clé USB servie |
PUPITRE_LAYOUT |
fr |
0.1.1 (déduit de git) | disposition du clavier |
PUPITRE_APPARENCE |
1 | 0.1.1 (déduit de git) | apparence PrimTux |
PUPITRE_ECRAN_L, PUPITRE_ECRAN_H |
1280, 1024 | 0.1.8 | résolution du siège |
PUPITRE_FPS |
8 | 0.1.0 | captures par seconde |
PUPITRE_FPS_RAPIDE |
0 (éteinte) | 0.1.4 (déduit de git) | capture adaptative ; 30 l'allume |
PUPITRE_DEBIT_MAX |
0 Kio/s (aucun plafond) | 0.1.3, 0 depuis 0.1.17 | plafond de débit vidéo |
PUPITRE_DOUBLE |
3 (1 : ancien mode) | 0.1.20 | double tampon différé |
PUPITRE_ATTENTE |
1 (0 : boucle active) | 0.1.5 | le client dort au lieu de tourner |
PUPITRE_QUIET_KEYS |
1 | 0.1.0 | journaux sans frappe ; 0 réservé aux essais, jamais chez un élève |
PUPITRE_MEMOIRE |
0 (1 : calculée ; un nombre : Mio) | 0.1.10 | limite souple de mémoire (MemoryHigh, jamais MemoryMax) |
PUPITRE_MEMOIRE_RESERVE |
2048 Mio | 0.1.10 | réserve gardée par le calcul |
PUPITRE_SEATS |
15 (0, vide ou non numérique : 15) | 0.1.10, 15 depuis 0.1.35 | nombre de sièges du calcul mémoire |
PUPITRE_ATTEMPTS |
5 | 0.1.0 | essais d'ouverture du lien |
PUPITRE_READY_TIMEOUT |
45 s | 0.1.0 | durée de chaque essai |
PUPITRE_RETRY_COOLDOWN |
25 s, doublé à chaque essai raté | 0.1.0 | pause entre deux essais |
PUPITRE_RETRY_MAX |
300 s | 0.1.1 (déduit de git) | plafond de cette pause |
Les variables d'apparence (PUPITRE_GTK_THEME, PUPITRE_LANCEURS, PUPITRE_FOND_IMAGE, etc.) sont
décrites dans Apparence. D'autres variables PUPITRE_* existent pour les tests ou
l'usage interne (PUPITRE_RACINE, PUPITRE_LIBDIR, PUPITRE_CONTROLE_DIR, etc.) : elles ne sont pas
des réglages d'administrateur.
Les variables WYSE_* sont lues par le client fast_tcp2 et posées par le lanceur : ce ne sont pas
des réglages d'administrateur.
Gestionnaire et console¶
Dans /etc/pupitre/pupitre.conf (défauts de pupitre/managerd.py) :
| Clé | Défaut | Remarque |
|---|---|---|
[server] interface |
eth0 |
l'interface sur le même réseau de couche 2 que les boîtiers |
[server] ip |
vide, lue sur l'interface au démarrage | |
[server] seats |
15 depuis 0.1.35, 13 avant (0 : sans limite) | |
[server] enroll |
yes |
un boîtier inconnu reçoit le plus petit siège libre ; passer à no une fois la salle installée |
[web] listen, port |
127.0.0.1, 8080 |
une adresse non locale exige password_file |
[web] password_file |
vide | absente du fichier livré, posée par pupitre-web --mot-de-passe |
Repères git, pour qui construit depuis les sources¶
Le dépôt n'a pas de tag de version. Chaque version est repérée par le commit qui ajoute son entrée au journal des modifications ; certaines entrées ont été complétées après ce commit. Les versions 0.1.20 à 0.1.24 partagent le même commit. Une fonction absente du journal des modifications est attribuée à la première version publiée après son commit (« déduit de git »).
| Version | Commit |
|---|---|
| 0.1.0 | 7ce897a |
| 0.1.1 | aa95e7d |
| 0.1.2 | 612e50c |
| 0.1.3 | 6bc4845 |
| 0.1.4 | 576faeb |
| 0.1.5 | ebdc6ce |
| 0.1.6 | 053ef98 |
| 0.1.7 | 26ca667 |
| 0.1.8 | 6398bcb |
| 0.1.9 | 471f0b8 |
| 0.1.10 | bc2c688 |
| 0.1.11 | 5dd2fd7 |
| 0.1.12 | eab06b8 |
| 0.1.13 | 75fda38 |
| 0.1.14 | 2689815 |
| 0.1.15 | 7f2f28b |
| 0.1.16 | 6bfc388 |
| 0.1.17 | 4f68f0b |
| 0.1.18 | 6515cb2 |
| 0.1.19 | f3e5609 |
| 0.1.20 à 0.1.24 | 1880d20 |
| 0.1.25 | 5367769 |
| 0.1.26 | 2d2f853 |
| 0.1.27 | cb9b3c5 |
| 0.1.28 | 5caa16d |
| 0.1.29 | 0adeb03 |
| 0.1.30 | d9b526a |
| 0.1.31 | 950d014 |
| 0.1.32 | d523e3e |
| 0.1.33 | 4a97e7d |
| 0.1.34 | b39d0f9 |