Debian testing, OpenRC et KDE en 2026, notes d’installation

Cet article est davantage une note à moi-même et à quiconque s’intéresse à OpenRC en lieu et place de systemd pour démarrer Debian (Gnu/Linux).

Utilisant assez souvent Gentoo, j’apprécie particulièrement OpenRC, plus léger et moins intrusif que systemd. Et surtout, les logs restent accessibles dans des fichiers plats. Bref, il s’agit d’une préférence et d’un choix de ma part. Cela permet aussi d’avoir une meilleure compréhension du démarrage d’un système basé sur Linux.

Cet article n’a pas vocation à être exhaustif mais il m’a permis d’avoir un système opérationnel. Cela dit, ne prenez pas tout ce qui est écrit au pied de la lettre car les choses bougent vite (même chez Debian…). Il se peut que certains paquets disparaissent des dépôts dans un futur plus ou moins proche, systemd restant l’init par défaut de Debian. Faites vos essais dans des machines physiques ou virtuelles de test, vérifiez les logs, les messages d’erreur… N’essayez pas sur votre machine principale ou de production sans être sûr de vous. Bref, prenez tout cela comme une investigation, sans garantie que ce qui fonctionne aujourd’hui continuera à fonctionner ad vitam eternam.

En me basant sur les deux articles publiés sur https://lecorbeausvault.wordpress.com, pour lesquels je remercie leur auteur, j’ajouterai ici mes notes pour faire fonctionner Debian testing (de début 2026) avec OpenRC… et KDE. Pourquoi ajouter des notes ? Eh bien, simplement parce que les articles en référence datent d’il y a quelques années et que la méthode de basculement vers un autre système d’init a encore changé… Il est de plus en plus difficile de désinstaller systemd de Debian. Pour ceux qui se posent la question : pourquoi ne pas utiliser Devuan à la place ? La raison est simple : je n’ai pas réussi à lancer KDE sur Devuan… Et puisque ce que je décris ici fonctionne sur Debian, autant se baser sur Debian « original ».

Peut-être que ces notes serviront aussi pour d’autres environnements de bureau… Il m’est impossible de le confirmer, n’ayant essayé cette méthode qu’avec KDE. Le mieux est, dans tous les cas, de faire ses propres essais dans une machine virtuelle avec qemu, par exemple, virt-manager ou VirtualBox…

Avant de continuer voici les liens vers les deux articles sur lesquels je me base :

D’autres sources d’informations très utiles, en remerciant chaleureusement leurs auteurs :

  • un article en français de 2025 : https://debian-facile.org/doc:systeme:openrc:install : il y est dit que le chroot est nécessaire pour réaliser la désinstallation. Je n’ai pas rencontré cette exigence au moment de la rédaction de mon article. Le chroot n’a pas été nécessaire.
  • un dernier article de 2024 : https://members.loria.fr/EJeandel/posts/openrc/ : une autre méthode pour remplacer systemd par OpenRC via un chroot… Et en prime, il est expliqué comment faire fonctionner Pipewire pour le son grâce au démarrage automatique xdg.
  • un article du wiki de Debian écrit spécifiquement pour le démarrage avec OpenRC : https://wiki.debian.org/OpenRC. Il fournit la base de ce qu’il faut savoir pour faire d’OpenRC l’init par défaut en lieu et place de sysvinit et de systemd. Mais tout n’est pas décrit…

Informations importantes

Il y a deux façons d’utiliser OpenRC :

  • avec sysvinit comme init (PID 1). OpenRC est appelé par sysvinit pour le chargement des services et les dépendances. Mais les consoles, l’arrêt et le redémarrage restent du ressort de sysvinit ;
  • sans sysvinit, en laissant openrc-init s’occuper de tout le démarrage. Dans ce cas openrc-init possède le PID 1 et gère tout : les services, les dépendances, les consoles (avec le service agetty), l’arrêt et le redémarrage (après adaptation de quelques scripts).

Si vous voulez lancer sysvinit en profitant tout de même d’OpenRC, ne suivez que la première méthode « Démarrage avec sysvinit + OpenRC ».

Si vous ne souhaitez lancer qu’OpenRC, suivez en plus la deuxième méthode « Démarrage avec OpenRC uniquement ».

Préparatifs

Avant de basculer sur OpenRC, j’ai réalisé une installation basique de Debian (netinstall). Il faut sélectionner le minimum dans le programme d’installation lorsque tasksel s’exécute. Pour ma part, je n’ai sélectionné que « Utilitaires usuels du système » et rien d’autre. Garder un système de base réduit au minimum AVANT de basculer sur OpenRC une fois l’installation terminée permet d’éviter bien des maux de tête. En effet, un simple environnement de bureau installe des paquets supplémentaires qui peuvent être liés à systemd et rendre très compliquée leur désinstallation par la suite sans casser tout le système…

Donc n’installer que le minimum pour que le système soit utilisable après redémarrage. Bien sûr, installer GRUB comme d’habitude et redémarrer l’ordinateur à la fin de l’installation de Debian.

Méthode 1 : démarrage avec sysvinit + OpenRC

Une fois l’ordinateur redémarré après l’installation de Debian (avec systemd pour le moment), je vais devoir faire les opérations dans cet ordre strict :

  • désinstaller systemd-sysv, ce qui va automatiquement exiger d’installer sysvinit-core et sysv-rc . À ce stade, c’est ce que l’on souhaite. Pour ce faire, exécuter :

# apt purge --allow-remove-essential systemd-sysv

Nous voici donc avec le vénérable sysvinit pour le moment.

  • puis, installer OpenRC, ce qui va désinstaller sysv-rc. Exécuter :

# apt install sysvinit-core openrc

Puis exécuter :

# for file in /etc/rc0.d/K*; do s=`basename $(readlink "$file")` ; /etc/init.d/$s stop; done

Puis redémarrer l’ordinateur. Attention : à ce stade, les commandes reboot, shutdown -r now ou init 6 ne fonctionneront pas. Redémarrer l’ordinateur avec CTRL+ALT+SUPPR. Cela redémarrera tout de même proprement l’ordinateur.

Si tout s’est bien passé, Debian devrait désormais démarrer avec sysvinit et OpenRC. Il reste quelques ajustements à faire.

Tout d’abord, il est fort possible que le réseau ne fonctionne pas. C’est très certainement dû au fait que le service networking ne s’est pas chargé. Il faut l’ajouter à la séquence de démarrage d’OpenRC puis le démarrer. Exécuter :

# rc-update add networking default

puis

# rc-service networking restart

On peut vérifier que l’interface réseau possède une adresse IP valide en exécutant la commande ip addr .

Maintenant que le réseau est accessible, on installe le reste des paquets pour que l’administration des services se fasse sans problème. Exécuter :

# apt install elogind libpam-elogind orphan-sysvinit-scripts systemctl procps

Puis redémarrer l’ordinateur avec la commande reboot.

Après redémarrage, OpenRC est complètement installé. Mais ce n’est pas un système OpenRC « pur ». En effet, sysvinit reste l’init (PID 1, via sysvinit-core), même s’il appelle OpenRC dès le début de la séquence de démarrage. Si vous ne souhaitez qu’OpenRC en tant qu’init, il faudra suivre la méthode 2 en complément. Dans tous les cas, suivez les instructions pour « bloquer » systemd avant de continuer.

Empêcher systemd de revenir

Comme l’indiquent les articles de référence mentionnés au début de cet article, il faut empêcher que systemd puisse être réinstallé par mégarde. Pour ce faire, créer le fichier /etc/apt/preferences.d/systemd et y ajouter ceci :

Package: systemd
Pin: release * 
Pin-Priority: -1

Package: *systemd*
Pin: release *
Pin-Priority: -1

Package: systemd:i386
Pin: release *
Pin-Priority: -1

Enfin, on bloque l’actualisation du paquet libsystemd0, qui doit rester installé malgré tout. On exécute donc :

# apt-mark hold libsystemd0

Et c’est tout ! Lors des actualisations du système avec apt update et apt upgrade, il faut tout de même surveiller qu’aucun paquet de systemd ne soit réinstallé. Cela ne devrait pas se produire si les étapes précédentes ont été réalisées mais mieux vaut garder l’œil ouvert… et n’utiliser que le terminal pour mettre à jour Debian. Éviter Synaptic ou Discover.

Notez que certains paquets liés à systemd doivent rester installés pour des raisons de compatibilité , ce qui est normal :

libsystemd-shared

libsystemd0

systemd-standalone-sysusers

Il reste aussi, comme nous en avons déjà parlé, le paquet sysvinit-core, obligatoire. N’enlevez surtout pas ce paquet, au risque de casser le démarrage.

Méthode 2 : démarrage avec OpenRC uniquement

Pour faire d’OpenRC l’init par défaut, sans sysvinit, suivez tout de même la méthode 1 pour réaliser l’installation de base. Rappelez-vous que sysvinit-core doit rester installé, sans quoi systemd pourrait être réinstallé ou, pire, le démarrage serait impossible.

Pour qu’OpenRC soit l’init en lieu et place de sysvinit, il va falloir l’appeler directement à partir de GRUB puis faire en sorte que les consoles soient gérées par OpenRC. Il en va de même pour l’arrêt et le redémarrage de l’ordinateur. Continuons.

Modifier /etc/default/grub

La ligne GRUB_CMDLINE_LINUX_DEFAULT du fichier /etc/default/grub doit être modifiée pour faire d’OpenRC l’init :

GRUB_CMDLINE_LINUX_DEFAULT="init=/sbin/openrc-init rw"

Si d’autres options doivent être ajoutées, placez-les après rw (comme quiet, nowatchdog, etc.).

Puis mettez à jour la configuration de GRUB en exécutant :

# update-grub

Consoles tty avec agetty

Les consoles tty1 à tty6 doivent être gérées par OpenRC via le service agetty. Pour activer le service, exécuter :

# cd /etc/init.d

# for n in `seq 1 6`; do ln -s agetty agetty.tty$n; rc-update add agetty.tty$n default; done

Puis, il faut redémarrer l’ordinateur.

Après le redémarrage, vous pouvez vérifier que le PID 1 correspond bien à openrc-init :

ps -ef | grep openrc-init

Vous devriez voir quelque chose qui ressemble à ceci :

root 1 0 0 14:01 ? 00:00:00 /sbin/openrc-init

Le chiffre 1 correspond au PID associé à openrc-init. Tout est correct. Si le PID est différent, c’est que quelque chose s’est mal passé… Vérifiez à nouveau les étapes précédentes.

Scripts d’arrêt et de redémarrage (shutdown et reboot)

Dernière étape : rendre fonctionnels les scripts d’arrêt et de redémarrage de l’ordinateur. En l’état, les scripts existants sont ceux de sysvinit. Ils ne fonctionneront pas avec openrc-init.

Rendez-vous dans le dossier /sbin pour créer les scripts d’arrêt et de redémarrage pour openrc-init.

Premièrement, sauvegardons les fichiers d’arrêt et de redémarrage de sysvinit :

# cd /sbin

# mv reboot reboot.sysv

# mv shutdown shutdown.sysv

Puis, nous créons les nouveaux fichiers reboot et shutdown, toujours dans /sbin.

Dans le nouveau fichier /sbin/reboot, placez-y ceci :

#!/bin/sh

exec /sbin/openrc-shutdown -r now

Dans le nouveau fichier /sbin/shutdown, on y place :

#!/bin/sh

ACTION=$1
TIME=$2

case "$ACTION" in
    -h|-H|-P|--poweroff|--halt)
        exec /sbin/openrc-shutdown -p now
        ;;
    -r|--reboot)
        exec /sbin/openrc-shutdown -r now
        ;;
    *)
        echo "Shutdown pour OpenRC (Debian)"
        echo "Usage: $0 [-h|-r] [now]"
        exit 1
        ;;
esac

Rendez exécutables les deux fichiers /sbin/reboot et /sbin/shutdown, c’est très important :

# chmod +x /sbin/shutdown /sbin/reboot

Enfin, tentez un arrêt ou un redémarrage en exécutant simplement l’un ou l’autre de ces fichiers. Si cela fonctionne, la configuration d’OpenRC en tant qu’init est terminée.

Installation de KDE

Passons maintenant à l’installation de KDE. Il y a un petit piège auquel il faut faire attention en 2026…

D’abord, installons xorg en exécutant :

# apt install xorg

Et maintenant, au tour de KDE. J’ai évité d’installer kde-full, trop lourd à mon goût, et ai préféré kde-standard ou kde-plasma-desktop (très minimaliste). Que le choix se porte sur l’un ou l’autre de ces méta-paquets, il faudra ensuite désinstaller obligatoirement turnstile. En effet, turnstile est un outil de suivi des sessions des utilisateurs. Il entre en conflit avec elogind, qui est déjà installé. Si l’on ne désinstalle pas turnstile, l’ordinateur ne pourra être éteint ou redémarré à partir de KDE du fait de ce conflit avec elogind… Donc, on exécute :

# apt install kde-standard

ou

# apt install kde-plasma-desktop

puis

# apt purge turnstile

KDE est installé. La suppression de turnstile va laisser elogind seul maître de la gestion des sessions.

On en profite pour vérifier que xdg-user-dirs, menu et menu-xdg sont bien installés. Cela générera automatiquement le menu des applications ainsi que les dossiers par défaut pour chaque utilisateur (Documents, Téléchargements, etc.) :

# apt install xdg-user-dirs menu menu-xdg

Enfin, après un dernier redémarrage de l’ordinateur, SDDM devrait se lancer et vous pourrez ouvrir votre session sur KDE. Essayer d’arrêter l’ordinateur ou de le redémarrer via l’interface de KDE. Si cela fonctionne, la gestion des sessions est correcte.

Note concernant Pipewire et la partie audio

Concernant la partie audio avec Pipewire, vous pouvez vous baser sur l’article disponible ici pour créer les fichiers .desktop utilisables avec XDG. Cela permet le démarrage automatique de Pipewire lors de l’ouverture du bureau. Cependant, d’après ce que j’ai pu observer, la méthode XDG n’arrive pas toujours à lancer comme il faut Pipewire. J’ai donc procédé autrement en utilisant la fonction de démarrage automatique de KDE que l’on trouve dans Configuration du système. Il suffit de créer un script exécutable dans un dossier de votre choix et le placer dans le démarrage automatique. Par exemple :

$ mkdir /home/chris/scripts

Puis créer le fichier demarrerPipewire.sh et y placer ceci :

#!/bin/sh

# PipeWire launcher script for XDG compliant desktops on OpenRC.
#
# systemd users are very _STRONGLY_ advised to use the much
# more reliable and predictable user units instead.

# WARNING: This script assumes being run inside XDG compliant session,
# which means D-Bus session instance is expected to be correctly set up
# prior to this script starting. If that is not true, things may break!

# Best to reap any existing daemons and only then try to start a new set.
pkill -u "${USER}" -x pipewire\|wireplumber 1>/dev/null 2>&1

# The core daemon which by itself does probably nothing.
/usr/bin/pipewire &

# The so called pipewire-pulse daemon used for PulseAudio compatibility.
# Commenting this out will stop the PA proxying daemon from starting,
# however ALSA (with pipewire-alsa), JACK (with jack-sdk) and PW API using
# clients will still have access to audio and may end up clashing with
# non-PW apps over HW control (most notably, /usr/bin/pulseaudio daemon).
/usr/bin/pipewire -c pipewire-pulse.conf &

# Hack for bug #822498
sleep 1

# Finally a session manager is required for PipeWire to do anything.
exec /usr/bin/wireplumber

N’oubliez pas de rendre ce script exécutable :

$ chmod +x /home/chris/scripts/demarrerPipewire.sh

Enfin, placez le script dans le démarrage automatique de KDE en allant dans « Configuration du système », puis « Démarrage automatique ». Cliquez sur « Ajouter un nouveau » en haut à droite, puis « Script de connexion ». Il ne restera qu’à sélectionner le script demarrerPipewire.sh.

Redémarrez enfin l’ordinateur pour vérifier que Pipewire se lance correctement.

Conclusion

Debian testing évolue vite… Ces instructions ne seront peut-être plus valables dans un mois, trois mois, un an… Cela dit, j’espère qu’elles pourront toujours servir de base même s’il y a besoin d’adapter certaines commandes après avoir analysé les messages du terminal. Si cela est nécessaire, j’essaierai d’écrire de nouvelles instructions…

 

Inflation – Années 1920 – 2020

Le problème du coût de la vie et de la hausse des prix dans l’après-guerre
Un des problèmes préoccupants du début des années 20 évoqué par Le Petit Journal du 8 février 1920. Il s’adresse visiblement, par les exemples choisis, aux classes moyennes, clientèle dominante du journal.
Histoire : Le monde contemporain 1914-1945
J. Bouillon, A.M. Sohn, F. Brunel
Bordas
1980

Télégramme de secours

Monde devenu fou. Stop.

Injonctions contradictoires. Stop

Interdiction de réfléchir. Stop.

Soumission totale requise. Stop.

Travailleurs en détresse. Stop.

Situation intenable. Stop.

Mur mortel en vue. Stop.

Union des forces nécessaires. Stop.

Progressisme à la clef. Stop.