Avec l’évolution des systèmes d’exploitation, nombre d’entre eux sont alourdis par un nombre croissant de services en arrière-plan. Bien que ces services ne consomment pas forcément beaucoup de ressources du processeur, ils peuvent considérablement allonger le temps de démarrage et augmenter l’utilisation de la RAM. Les systèmes d’exploitation libres, en revanche, permettent aux utilisateurs de personnaliser leur configuration en désactivant ou en supprimant les services inutiles. Ce guide explique comment optimiser le temps de démarrage de votre système Linux en désactivant les services superflus.
Évaluation des temps de charge du service
La plupart des distributions Linux sont équipées de Systemd comme système d’initialisation par défaut. Systemd inclut un utilitaire pratique permettant d’analyser la durée du processus de démarrage ainsi que le temps de lancement de chaque service. Il est important de noter que certains services sont chargés simultanément ; par conséquent, le temps de démarrage total ne correspond pas nécessairement à la simple somme des temps de chargement de chaque service.
Pour commencer, ouvrez votre terminal et saisissez la commande suivante :
systemd-analyze

Cette commande permet de visualiser le temps nécessaire à l’initialisation du noyau Linux et des principaux services système, mais ne tient pas compte des animations de bureau ni des temps de chargement des applications utilisateur.
Pour obtenir des informations détaillées sur le temps de chargement de l’interface graphique, vous pouvez utiliser :
systemd-analyze critical-chain graphical.target

Cette commande affiche la séquence des services menant à l’affichage de l’interface graphique. Bien que cela soit utile, cela ne fait que marquer une étape technique, car des services en arrière-plan peuvent encore se charger après ce point.
Enfin, la commande la plus pertinente pour ce guide est :
systemd-analyze blame

Cette commande liste les services par ordre chronologique de démarrage, ce qui vous permet d’identifier et de désactiver ceux qui le nécessitent. Vous pouvez parcourir la liste à l’aide des touches fléchées ou des touches PAGE UPet PAGE DOWN, et appuyer qsur Entrée pour quitter.
Désactivation des services inutiles avec Systemctl
L’analyse fournie peut révéler des services snapdlents à charger, notamment sur les disques durs traditionnels où ces délais peuvent s’accumuler de manière significative.
Par exemple, si vous constatez que le snapdservice chargé de la gestion des applications conteneurisées n’est pas nécessaire à votre utilisation, vous pouvez le désactiver en exécutant :
sudo systemctl disable snapd.service
Après désactivation, vous pourriez encore observer snapdun démarrage dans certaines circonstances en raison de sa fonction d’activation par socket, lui permettant de s’exécuter à la demande, quel que soit son état désactivé.
Pour examiner plus en détail les dépendances restantes, vous pouvez exécuter :
systemd-analyze blame | grep snap

Cette commande mettra en évidence tous les composants liés à Snap qui continuent d’influencer les temps de démarrage.
Gestion des services activés par socket
Plusieurs services, dont celui-ci snapd, utilisent l’activation par socket. Ce système permet à un service de se lancer automatiquement s’il reçoit des requêtes de communication, même s’il est actuellement désactivé.
Si ce problème persiste snapdaprès le redémarrage, il est souvent dû à des unités connexes telles que snapd.socketou snapd.seeded.service. Dans ce cas, il est conseillé de bloquer complètement les services par masquage :
sudo systemctl mask snapd.service sudo systemctl mask snapd.socket
Le masquage empêche efficacement le démarrage du service. Toutefois, il convient d’être prudent, notamment avec les distributions qui utilisent Snap pour la gestion du système ou l’installation des applications.
Il est essentiel de distinguer la désactivation du masquage d’un service. La désactivation empêche simplement systemd de démarrer automatiquement le service, tandis que le masquage bloque complètement son exécution. En règle générale, la désactivation est suffisante, mais le masquage est préférable pour les services qui redémarrent sans cesse malgré leur désactivation.
Par ailleurs, lors de la désactivation de services, il convient d’examiner d’autres services non essentiels qui pourraient être désactivés sans risque, tels que :
avahi-daemon.service ModemManager.service thermald.service
Toujours effectuer des recherches approfondies avant de désactiver des services, car un service jugé inutile sur un ordinateur de bureau peut être vital pour les ordinateurs portables ou les serveurs.
Conclusion
Réduire le nombre de services inutiles peut considérablement améliorer le temps de démarrage et optimiser l’allocation des ressources, notamment pour les utilisateurs de disques durs traditionnels. Même pour les systèmes basés sur des SSD, minimiser les services inutilisés contribue à maintenir un environnement d’exploitation propre et efficace.
Bien que des applications graphiques comme Stacer puissent faciliter la gestion des services système, leurs fonctionnalités peuvent être limitées ou elles peuvent devenir obsolètes. Pour un contrôle homogène sur la quasi-totalité des distributions, l’outil en ligne de commande systemctl demeure la solution la plus fiable.