Gadgets de bureau
Une grande horloge et un moniteur de processeur, de mémoire et de disque sont affichés par défaut. Un calendrier et des pense-bêtes, enregistrés en texte brut au fil de la frappe, s'ajoutent d'un clic droit.
Tout ce que contient l'image, et la raison de chaque choix.
Aucune base Linux n'offre un dépôt de paquets aussi vaste ni une prise en charge matérielle aussi large que celle d'Ubuntu. Le paquet linux-firmware couvre à lui seul la grande majorité du matériel Wi-Fi, Bluetooth, graphique et des jeux de puces en circulation, et ubuntu-drivers-common gère correctement les cartes NVIDIA. Secure Boot fonctionne sans configuration, parce que le shim et le GRUB signés par Canonical sont dans le dépôt et que le noyau est signé. La base bénéficie en outre de douze ans de maintenance de sécurité.
Le bureau d'Ubuntu, en revanche, méritait d'être remplacé : il est lourd, et il n'a ni bouton Démarrer, ni icônes sur le bureau, ni barre des tâches. Cinnamon a les trois. MoonLightOS part donc d'une base minimale et construit son bureau par-dessus. Rien du bureau d'Ubuntu n'est installé, et rien de ce que voit l'utilisateur ne mentionne la base.
Un détail reste volontairement intact : le nom de code que voit apt demeure « resolute », parce que les PPA et tout ce qui appelle lsb_release en dépendent. L'identité visible, elle, vient de /etc/os-release.
Un seul tableau de bord en bas, haut de 52 pixels. À gauche, le bouton Démarrer et le champ de recherche ; au centre, les applications ouvertes, avec les plus grandes icônes du tableau de bord ; à droite, la zone d'état. Le menu affiche votre photo, votre nom et vos droits d'administration sur l'ordinateur, et son champ de recherche trouve applications, paramètres, fichiers et résultats Web.
Un seul tableau de bord en bas. Le dock accueille aussi vos applications favorites : pas de deuxième rangée de lanceurs.
Une barre fine en haut pour l'horloge et les icônes d'état, et en bas un dock qui se masque tout seul.
Une seule barre fine en haut. C'est la disposition la plus économe en écran et la plus légère sur une carte graphique ancienne.
Les deux thèmes sortent d'un même script et d'une même palette, et couvrent GTK 2, 3 et 4, l'interface de Cinnamon et les bordures de fenêtres. Les thèmes GTK importent Adwaita et en changent les couleurs : les nouveaux composants et les correctifs amont arrivent donc d'eux-mêmes. Le thème d'icônes repose sur Papirus et ne remplace que les icônes propres à la distribution. La couleur d'accentuation se change dans Bureau et dock.
Par défaut, le thème clair à partir de 7 h et le thème sombre à partir de 19 h. Un petit service d'arrière-plan veille à ce que le thème suive l'horaire.
Une grande horloge et un moniteur de processeur, de mémoire et de disque sont affichés par défaut. Un calendrier et des pense-bêtes, enregistrés en texte brut au fil de la frappe, s'ajoutent d'un clic droit.
Le logo reste immobile pendant que la lumière autour de lui palpite. Deux images de halo, aux cycles de 2,6 et 3,1 secondes, se décalent peu à peu l'une de l'autre, si bien que la lueur ne paraît jamais mécanique. Les deux images sont produites à la construction depuis les visuels sources. On retrouve ce logo et ce halo sur le menu GRUB, l'écran d'ouverture de session, le programme d'installation, la page À propos et la visite guidée de Bienvenue.
Inter pour l'interface, JetBrains Mono pour le code et Noto pour tout le reste, chinois, japonais, coréen et émojis en couleur compris.
Cinq photographies avec un pingouin, un lac et un croissant de lune, plus une paire jour et nuit générée. À la sortie de cette version, le bureau s'ouvre sur « Coucher de soleil sur le lac ».
Windows et macOS emploient des raccourcis clavier différents pour à peu près tout. Comme ces deux jeux de raccourcis n'entrent presque jamais en conflit, MoonLightOS reconnaît les uns et les autres : la touche Super suit les conventions de Windows, la touche Contrôle celles du Mac.
| Action | Depuis Windows | Depuis macOS |
|---|---|---|
| Ouvrir le menu | Super | Super |
| Rechercher | Super+Espace | Super+Espace |
| Gestionnaire de fichiers | Super+E | — |
| Verrouiller l'écran | Super+L | Ctrl+Super+Q |
| Afficher le bureau | Super+D | Ctrl+Super+D |
| Ancrer une fenêtre sur une moitié d'écran | Super+Gauche / Droite | — |
| Agrandir ou restaurer | Super+Haut / Super+Bas | Alt+F10 / Alt+F5 |
| Réduire | Super+H | Alt+F9 |
| Fermer la fenêtre | Alt+F4 | Super+Q |
| Plein écran | Super+F | Ctrl+Super+F |
| Passer d'une fenêtre à l'autre | Alt+Tab, Super+Tab | Alt+Tab |
| Fenêtre suivante de la même application | Alt+` | Super+` |
| Toutes les fenêtres | Super+W | Ctrl+Haut |
| Tous les bureaux | Super+S | Ctrl+Bas |
| Changer de bureau | Ctrl+Alt+Gauche / Droite | Ctrl+Gauche / Droite |
| Envoyer la fenêtre sur un autre bureau | Ctrl+Maj+Alt+Gauche / Droite | Ctrl+Maj+Gauche / Droite |
| Paramètres | Super+I | Super+, |
| Moniteur système | Ctrl+Maj+Échap | — |
| Exécuter une commande | Super+R, Alt+F2 | — |
| Terminal | Ctrl+Alt+T | Ctrl+Alt+T |
| Navigateur | Super+B | Super+B |
| Calculatrice | Super+C | Super+C |
| Mixeur et égaliseur | Super+A | Super+A |
| Historique du presse-papiers | Super+V | Super+V |
| Notes | Super+N | Super+N |
| Convertir des fichiers | Super+Maj+C | Super+Maj+C |
| Capture de tout l'écran | Impr écran | Maj+Super+3 |
| Capture d'une zone | Maj+Impr écran | Maj+Super+4 |
| Capture d'une fenêtre | Alt+Impr écran | — |
| Panneau de capture et d'enregistrement | Ctrl+Maj+Impr écran | Maj+Super+5 |
| Fermer la session | Ctrl+Alt+Suppr | — |
Amener le pointeur dans le coin supérieur gauche ouvre la vue d'ensemble des fenêtres. La touche Super seule ouvre le menu, et Super+Espace l'ouvre avec le curseur déjà dans le champ de recherche.
apt, snap et Flatpak sont tous installés, et GNOME Logiciels présente les trois : les snaps d'abord, puis les paquets du dépôt Ubuntu, puis Flathub. Un paquet .deb reste l'option la plus légère, et Flathub couvre tout le reste.
L'application Snap Store est elle-même un snap dont les dépendances pèsent près d'un gigaoctet : beaucoup trop pour une image destinée à des ordinateurs de 2 Go de RAM. La logithèque sait donc lister et installer des snaps dès le premier démarrage, et un service télécharge l'application Snap Store elle-même dès qu'une connexion se présente.
La page de paramètres Applications montre ce qui est installé, de quel format vient chaque application et si quelque chose est installé deux fois.
Choisies pour qu'un bureau polyvalent soit opérationnel dès le premier démarrage, même sans connexion Internet.
Firefox (la version compilée par Mozilla, avec uBlock Origin fourni comme extension locale, donc disponible même hors connexion), Thunderbird, Geary, Transmission
LibreOffice Writer, Calc, Impress et Draw ; Evince ; Éditeur de texte de GNOME ; Xournal++ ; PDF Arranger ; MoonLight PDF ; Agenda ; Horloges ; Météo ; Cartes ; Calculatrice
VLC ; Celluloid ; Rhythmbox ; GStreamer avec libav, les jeux de greffons « bad » et « ugly » et VA-API, pour que H.264, H.265 et AAC se lisent dans toutes les applications
GIMP ; Dessin ; Eye of GNOME ; MoonLight Export ; Simple Scan ; Visionneuse de polices ; Capture d'écran
GNOME Logiciels ; Moniteur système ; Disques ; GParted ; Analyseur d'utilisation des disques ; Timeshift ; Redshift ; File Roller ; Seahorse ; Blueman ; Imprimantes ; MoonLight Tweaks
NetworkManager avec OpenVPN, OpenConnect (Cisco AnyConnect, GlobalProtect, Fortinet), L2TP, PPTP, SSH et la prise en charge native de WireGuard
Visual Studio Code ; gcc, g++, make, gdb ; git, git-lfs ; cmake, meson, ninja ; Python 3 avec pip, venv, NumPy et OpenCV ; Node.js et npm ; Rust et Cargo ; Go ; OpenJDK 21 avec Maven et Gradle ; Docker Engine, Compose v2 et Buildx ; SQLite
GNOME Terminal ; bash, zsh et fish ; tmux, screen ; Neovim, nano ; ripgrep, fd, jq, yq, htop, btop, ncdu, tree ; nmap, dig, whois, traceroute, httpie, socat ; rsync, rclone, aria2 ; shellcheck ; inxi, fastfetch
Wine avec la prise en charge 32 bits, winetricks, DXVK (Direct3D 9 à 11) et VKD3D (Direct3D 12)
Le jeu linux-firmware complet, les microcodes Intel et AMD, et fwupd pour les mises à jour de micrologiciel.
Mesa avec Vulkan, VA-API et VDPAU pour Intel et AMD. Le pilote NVIDIA se trouve sur l'ISO : il s'active depuis la page Pilotes même sans connexion Internet.
Plus de cinquante pilotes sans fil dans le noyau, auxquels s'ajoutent les pilotes broadcom-sta et r8168 compilés avec DKMS, pour les puces que les pilotes standards gèrent mal.
CUPS avec le jeu de pilotes complet, l'impression vers PDF, SANE et Simple Scan.
BlueZ, Blueman et les codecs Bluetooth de PipeWire, avec une page de paramètres qui dit clairement quand l'ordinateur n'a pas de matériel Bluetooth.
PipeWire avec WirePlumber, la compatibilité PulseAudio et un égaliseur à dix bandes intégré.
power-profiles-daemon, thermald, le pourcentage de batterie dans le tableau de bord, le clic par tapotement et le défilement naturel actifs par défaut, la prise en charge des périphériques Wacom et Synaptics.
Les outils invité pour VirtualBox, QEMU/SPICE et VMware sont inclus : l'affichage se redimensionne et le presse-papiers est partagé.
fprintd, libfprint et le chargeur TOD sont installés et intégrés à PAM. Empreinte digitale reconnaît le capteur et vous guide pendant l'enregistrement.
Un déverrouillage par le visage fondé sur OpenCV, pour l'écran d'ouverture de session, l'écran verrouillé et sudo. Inactif tant que vous ne l'activez pas.
Tout ce qui suit est actif par défaut sur un MoonLightOS installé.
Micrologiciel → shim de Canonical → GRUB signé → noyau signé. Paramètres → À propos indique s'il est actif sur votre ordinateur.
Le chiffrement intégral LUKS2 tient dans une case à cocher du programme d'installation.
ufw est actif : les connexions entrantes sont bloquées, les sortantes autorisées.
En mode strict, y compris pour les snaps.
Depuis le dépôt de sécurité d'Ubuntu et depuis packages.mozilla.org, chaque jour. Les noyaux et les dépendances inutilisés sont supprimés, et l'ordinateur ne redémarre jamais de lui-même.
Le premier compte créé administre l'ordinateur au travers de sudo. Aucun mot de passe root n'est jamais défini.
Huit caractères au minimum, puisés dans deux catégories. Au bout de huit tentatives erronées, le compte est bloqué quinze minutes.
Le noyau est configuré pour limiter ce que les programmes sans privilèges peuvent apprendre du système et les uns des autres : les pointeurs du noyau et les messages de démarrage sont masqués, le débogage d'un autre processus est bloqué et le chargement d'un noyau de remplacement en cours d'exécution est désactivé. La pile réseau est renforcée contre les routes falsifiées et les vagues de connexions, et les adresses IPv6 sont renouvelées.
FireWire et une série de modules de systèmes de fichiers et de protocoles réseau rarement utiles ne peuvent pas être chargés automatiquement : un périphérique branché ou un paquet reçu ne peut donc pas faire entrer en mémoire du code que cet ordinateur n'utilise jamais.
L'identifiant de la machine et les clés d'hôte SSH naissent sur l'ordinateur installé. Une clé d'hôte commune à toutes les installations ôterait tout sens à la vérification de l'hôte.
Les services de rapport d'erreurs et de statistiques d'usage ne figurent pas dans l'image. La télémétrie de Firefox, les études, Pocket et les contenus sponsorisés sont désactivés par stratégie, et la protection contre le pistage est active.
USBGuard est installé : un périphérique branché pendant que l'écran est verrouillé n'est pas considéré comme fiable. Inactif par défaut ; un bouton de la page Sécurité suffit à l'activer.
Un second mot de passe qui fait tout autre chose que vous connecter. Le mode effacement détruit les clés LUKS du disque et éteint l'ordinateur ; le mode leurre ouvre une session vide et la fige au bout de cinq minutes. Inactif par défaut, il réclame votre vrai mot de passe pour être configuré et ne peut pas être identique à celui-ci.
Proposé sur la page Sécurité, car quiconque peut redémarrer l'ordinateur pourrait sans cela modifier le menu de démarrage et ouvrir un shell root.
Chaque utilitaire MoonLight possède une action polkit nommée : la demande de mot de passe dit donc à quoi vous consentez.
| Mémoire compressée (zram) | La moitié de la RAM, jusqu'à 8 Go, compression zstd, priorité 100. Environ 3:1 sur les pages mémoire d'un bureau. |
|---|---|
| Réglage de l'échange | La valeur par défaut du noyau, 60, suppose qu'échanger veut dire accéder au disque. Avec zram, il s'agit d'une copie en mémoire. |
| Protection contre le manque de mémoire | Agit à 4 % de mémoire libre et envoie SIGKILL à 2 %. N'arrête jamais Cinnamon, Xorg, LightDM ni Nemo ; arrête d'abord Firefox, Thunderbird, Code, LibreOffice et les compilateurs. |
| Aucun indexeur | Pas de tracker, aucune analyse du disque en arrière-plan. |
| Réglage graphique automatique | À l'ouverture de session, le système regarde le moteur de rendu OpenGL. S'il s'agit de llvmpipe ou d'un autre moteur logiciel, les animations sont désactivées. Un choix que vous faites ensuite n'est jamais écrasé. |
| GRUB | Demande un mode graphique modeste, avec des solutions de repli, pour que le menu apparaisse même dans une machine virtuelle dotée de peu de mémoire vidéo. |
| Squashfs | Comprimé en zstd, pour que la session live se charge vite depuis une clé USB. |
L'assistant de premier démarrage propose dans une courte liste l'anglais (États-Unis et Royaume-Uni), l'italien, le français, l'allemand, l'espagnol, le portugais du Brésil, le néerlandais, le polonais et le russe, et toutes les autres locales sous « Plus de langues ». La disposition du clavier suit la langue retenue : la deuxième étape se résume donc le plus souvent à cliquer sur Suivant.
Tous les MoonTools, soit 774 chaînes, sont traduits dans ces huit langues en plus de l'anglais, et la construction échoue si un programme contient une chaîne visible non traduite. Le pack de langue italien et les dictionnaires LibreOffice sont présents sur l'image, si bien qu'une installation hors connexion en Italie est entièrement localisée ; les autres packs de langue se téléchargent d'un clic.
Les outils en ligne de commande restent volontairement en anglais : leur sortie se lit à côté de la documentation et se colle dans des rapports de bogue, ce qui est plus simple dans une seule langue.
Un thème écrit à la main casse à chaque nouveau composant GTK. Celui-ci hérite des correctifs amont.
Ainsi, une mise à jour de Cinnamon ne peut pas la rétablir en silence à côté de la nôtre, et la désinstallation des paquets MoonLightOS la ramènerait proprement.
C'est ce même squashfs que le programme d'installation copie sur le disque. En lui retirant /boot, on installerait un système incapable de démarrer.
Le paquet desktop-base de Debian fournit déjà un thème Plymouth nommé moonlight, et une mise à jour remplacerait l'animation sans prévenir.
Une stratégie qui pointe vers addons.mozilla.org n'installe l'extension qu'au premier lancement de Firefox avec une connexion qui fonctionne. L'extension est donc dans l'image, et vous pouvez toujours la retirer.
Sous Linux, Docker Desktop fait tourner le moteur dans sa propre machine virtuelle : cela fait un deuxième noyau et un deuxième budget mémoire sur un portable.
Machines virtuelles, PHP avec bases de données et LaTeX s'installent d'un clic depuis Bienvenue, plutôt que de peser un gigaoctet sur chaque installation.