Disabling systemd in Debian 9 and 10
Warning: Some desktop environments and window managers require systemd
to work. If yours suffers from this bug, you won't be able to remove systemd
unless you change to another. The author uses and recommends the cwm
window manager.
Systemd can be disabled in Debian 9 and 10 by installing sysvinit-core:
apt-get install sysvinit-core
A message from APT may appear, saying the installation has not completed.
This is normal. Reboot to complete the installation, after which systemd
can be removed:
apt-get remove --purge --autoremove systemd
To make sure systemd doesn't get re-installed in future updates,
apt-pinning can be used.
Create the file /etc/apt/preferences.d/systemd
which needs to contain the following lines:
Package: systemd
Pin: release
Pin-Priority: -1
Those of a more paranoid disposition may prefer the following:
Package: *systemd*
Pin: release
Pin-Priority: -1
That will ensure that no package with 'systemd' in the name will get installed,
but that includes libsystemd0 which is still required for compatibility with
packages that expect systemd to be present. If libsystemd0 needs to be upgraded
at any point you'll have to change that temporarily to allow it.
Configuring X
In Debian 9 only root will be able to start X by default when using sysvinit.
The workaround is to install the xserver-xorg-legacy package, which sets up a
setuid root wrapper allowing non-root users to start X:
apt-get install xserver-xorg-legacy
It may be necessary to add the following line to
/etc/X11/Xwrapper.config
:
needs_root_rights=yes
The 'startx' command should now work for normal users.
Make sure the user is added to the video group or graphics direct rendering
(needed for acceleration) will fail due to lack of permission.
Note that dbus is not needed to run X without systemd.