DEV Community

Dev du Sud
Dev du Sud

Posted on

Mon PC ne s'endort plus jamais : comment j'ai supprimé la veille et le verrouillage sous Linux

Je pilote des automatisations sur mon PC : elles tournent la nuit, et je veux que l'écran reste allumé en permanence. Problème : par défaut, un Linux moderne verrouille la session après 15 minutes d'inactivité et éteint l'écran après 10.

Voici comment j'ai tout supprimé, proprement, en quatre couches.

1. Les réglages du bureau (COSMIC)

Sous COSMIC (Pop!_OS 24.04), l'inactivité est gérée par le service CosmicIdle. Ses réglages sont des fichiers tout bêtes dans votre dossier de configuration :

mkdir -p ~/.config/cosmic/com.system76.CosmicIdle/v1
printf '0' > ~/.config/cosmic/com.system76.CosmicIdle/v1/screen_timeout_secs
printf '0' > ~/.config/cosmic/com.system76.CosmicIdle/v1/lock_timeout_secs
printf '0' > ~/.config/cosmic/com.system76.CosmicIdle/v1/suspend_timeout_secs
Enter fullscreen mode Exit fullscreen mode

0 signifie « jamais ». L'écran ne s'éteint plus, la session ne se verrouille plus, pas de veille.

2. La veille système (logind)

Le gestionnaire de sessions peut déclencher des actions à l'inactivité. On lui dit de ne rien faire :

sudo sed -i 's/^#\?IdleAction=.*/IdleAction=ignore/' /etc/systemd/logind.conf
Enter fullscreen mode Exit fullscreen mode

Et on rend la mise en veille impossible, même demandée à la main :

sudo systemctl mask sleep.target suspend.target hibernate.target hybrid-sleep.target
Enter fullscreen mode Exit fullscreen mode

3. L'inhibition ScreenSaver (la ceinture de sécurité)

Pour être certain que rien ne verrouille jamais la session — même si un réglage change — j'ai un petit service qui maintient en permanence une inhibition ScreenSaver via DBus :

import dbus, time
bus = dbus.SessionBus()
obj = bus.get_object("org.freedesktop.ScreenSaver", "/org/freedesktop/ScreenSaver")
iface = dbus.Interface(obj, "org.freedesktop.ScreenSaver")
cookie = iface.Inhibit("anti-lock", "écran toujours allumé")
while True:
    time.sleep(3600)
Enter fullscreen mode Exit fullscreen mode

Installé comme service utilisateur avec systemctl --user enable --now, il survit aux redémarrages.

4. Le pare-feu (bonus sécurité)

Puisque la machine reste éveillée et allumée en permanence, autant fermer la porte d'entrée :

sudo ufw default deny incoming
sudo ufw default allow outgoing
sudo ufw allow from 192.168.1.0/24  # votre LAN
sudo ufw enable
Enter fullscreen mode Exit fullscreen mode

Résultat

  • Écran allumé 24h/24, jamais de verrouillage
  • Veille physiquement impossible
  • Rien de cassé : micro, son, vidéos, applications — tout continue de fonctionner

Le seul inconvénient : il faut penser à éteindre son écran soi-même. Pour une machine qui travaille pour moi la nuit, c'est un bon compromis.


Ce genre de réglages et d'automatisations, je les documente dans mes guides pratiques — lien en bio.

Top comments (0)