Site WWW de Laurent Bloch
Slogan du site

ISSN 2271-3905
Cliquez ici si vous voulez visiter mon autre site, orienté vers des sujets moins techniques.

Pour recevoir (au plus une fois par semaine) les nouveautés de ce site, indiquez ici votre adresse électronique :

Psychologie des systèmes :
Inhibé par systemd !
Article mis en ligne le 8 octobre 2026

par Laurent Bloch

Question

Bonsoir ChatGPT,

Un jour où je voulais redémarrer mon système Linux Debian, j’ai reçu un message de refus en rouge, me signalant que le redémarrage était interdit par un inhibiteur, dont je pouvais avoir la liste par la commande suivante :

$ sudo systemd-inhibit
[sudo] Mot de passe de lbloch : 
WHO            UID  USER   PID  COMM           WHAT                            >
ModemManager   0    root   855  ModemManager   sleep                           >
NetworkManager 0    root   812  NetworkManager sleep                           >
UPower         0    root   1201 upowerd        sleep                           >
lbloch         1000 lbloch 1703 csd-power      handle-lid-switch               >
lbloch         1000 lbloch 1678 csd-media-keys handle-power-key:handle-suspend->
lbloch         1000 lbloch 1703 csd-power      sleep                           >

6 inhibitors listed.

Quand j’ai tué les trois derniers processus j’ai pu reprendre la main, mais c’était la première fois que je voyais cela : de quoi s’agit-il ?

Réponse

Bonsoir !

Oui, c’est un mécanisme parfaitement normal de systemd, mais le message peut être assez déconcertant lorsqu’on le rencontre pour la première fois.

Que sont ces « inhibitors » ?

systemd-inhibit permet à un programme de demander à systemd :

« Tant que je suis en train de faire telle chose, ne laisse pas le système s’éteindre, redémarrer, suspendre, etc. »

C’est un mécanisme de protection. Par exemple, un programme peut demander à empêcher temporairement la suspension pendant une opération importante.

Votre commande :

sudo systemd-inhibit

affiche les demandes actuellement actives :

WHO            UID  USER   PID  COMM           WHAT
ModemManager   0    root   855  ModemManager   sleep
NetworkManager 0    root   812  NetworkManager sleep
UPower         0    root   1201 upowerd        sleep
lbloch         1000 lbloch 1703 csd-power      handle-lid-switch
lbloch         1000 lbloch 1678 csd-media-keys handle-power-key:handle-suspend-key
lbloch         1000 lbloch 1703 csd-power      sleep

La colonne importante est WHAT : elle indique ce que le programme cherche à inhiber.

Dans votre cas, les trois derniers sont intéressants

Ce sont des composants de l’environnement de bureau Cinnamon :

– csd-power : gestion de l’alimentation de Cinnamon ;
– csd-media-keys : gestion des touches spéciales, notamment la touche marche/arrêt ;
– csd-power demande également une inhibition de sleep.

En particulier :

– csd-power ... handle-lid-switch

signifie que Cinnamon veut contrôler lui-même le comportement lors de la fermeture du capot.

Et :

– csd-media-keys ... handle-power-key:handle-suspend-key

signifie que Cinnamon veut intercepter les touches Power et Suspend.

Enfin :

– csd-power ... sleep

concerne directement la suspension/veille.

Mais pourquoi cela vous a-t-il empêché de redémarrer ?

C’est là que le comportement est un peu subtil.

Il existe deux sortes d’inhibitions systemd :

– block : une action comme shutdown, reboot ou sleep est effectivement bloquée tant que l’inhibiteur est présent ;
– delay : l’action est autorisée, mais le programme dispose d’un délai pour terminer proprement son opération.

systemd-inhibit peut afficher les deux types, mais votre sortie est tronquée après la colonne WHAT :

WHAT >

Il manque donc la colonne MODE, qui aurait été particulièrement intéressante.

Vous pouvez l’obtenir avec :

systemd-inhibit --list

ou, pour voir plus facilement toutes les colonnes :

systemd-inhibit --list --no-pager

Vous devriez alors avoir quelque chose comme :

WHO       UID USER  PID  COMM       WHAT                  WHY       MODE
...

La colonne MODE dira notamment block ou delay.

Et les trois premiers ?

Ceux-ci :

ModemManager
NetworkManager
UPower

sont beaucoup moins inquiétants.

Ils demandent à être protégés contre la suspension (sleep), notamment pour éviter qu’une opération liée au réseau, au modem ou à la gestion de l’énergie soit interrompue brutalement.

Il est donc tout à fait normal qu’ils apparaissent.

En revanche, tuer csd-power et csd-media-keys n’est pas vraiment la bonne solution

Vous avez eu raison de constater que cela débloquait la situation, mais ce n’est pas quelque chose que je conseillerais comme procédure habituelle.

Vous avez en fait tué des composants de Cinnamon qui gèrent :

– l’alimentation ;
– la fermeture du capot ;
– la touche Power ;
– les touches multimédia ;
– certaines fonctions de suspension.

Ils peuvent éventuellement être relancés avec Cinnamon, ou disparaître jusqu’à la prochaine session, selon la façon dont votre environnement est configuré.

Le point vraiment intéressant serait de savoir pourquoi ces inhibiteurs étaient restés actifs au moment où vous vouliez redémarrer. Normalement, leur présence ne devrait pas empêcher un redémarrage ordinaire, sauf s’ils étaient en mode block et que Cinnamon avait une raison particulière de le demander.

Si cela vous arrive à nouveau, plutôt que de tuer immédiatement les processus, je vous conseillerais de faire :

systemd-inhibit --list

et de regarder les colonnes WHAT, WHY et surtout MODE.

Si vous me donnez cette sortie complète lors du prochain incident, je pourrai probablement vous dire précisément quel programme bloque le redémarrage et pourquoi.