2 How to remove systemd from Debian Buster

As mentioned in the proposed topics of July2nd2020 this is article 2 from that list.

This came from a community member as a proposed topic.

How to remove systemd from Debian Buster

older-pig:  A guide for removing systemd from Debian Buster and fixes for some issues which may occur because of that


NOTE: This is NOT a guide for COMPLETE removal.

Remnants of systemd will remain, but you will no longer use systemd or any of it’s components.

Remove systemd on Debian Buster

Get wicd and remove network-manager

apt-get install wicd

update-rc.d -f network-manager remove

/etc/init.d/network-manager stop

Install sysvinit

apt-get install sysvinit-core sysvinit sysvinit-utils

then reboot. After you boot up, execute the following command:

apt-get remove –purge –auto-remove systemd

run all commands above as root user

If X isnt working, do the following to /etc/X11/Xwrapper.config


comment out this line ^ and add lines below




Add to /etc/inittab

1:2345:respawn:/sbin/getty 38400 tty1

comment out this ^ and add line below

1:2345:respawn:/bin/login -f [username] tty1 </dev/tty1 >/dev/tty1 2>&1

Add to .xinitrc

exec openbox-session

for me, its openbox. If you are using something different, change accordingly.

Add to .bashrc (or .bash_profile)

if [ -z "$DISPLAY" ] && [ $(tty) == /dev/tty1 ]; then



Fix audio on Firefox and Discord

apt purge pavucontrol

apt install apulse

Run Firefox/Discord with apulse, or simply add apulse to exec lines in their desktop entries

Manually mounting USB or smartphone


sudo mkdir -p /media/usb

mount /dev/sdb1 /media/usb

To unmount:

sudo umount /media/usb

/dev/sdb1 is the case for me, to find out name of USB, just execute the following



mkdir Phone

apt-get install jmtpfs

when phone is plugged in, simply run

jmtpfs Phone

and to unmount:

sudo umount Phone

I made my Phone directory in my home directory, but one can also make it in /media

Just make sure to specify the right directory when running jmtpfs or when unmounting

Easy check to see which init system one is running

pstree -a









4 thoughts on “2 How to remove systemd from Debian Buster

  1. May .xsessionrc or .xsession (used also when using some of the display managers) be used instead of .xinitrc (which is frowned upon in debian since at least 4 releases)? Or does /etc/X11/Xsession depend on systemd?
    I know that some dms do not work without systemd in Stretch, and it would not surprise if the trend aggravates in Buster, let alone fledgling Bullseye.


  2. Sorry I am unable to help or answer this, the above was published through a comment here by the person listed on github as old-pig. I believe you can get in direct contact through github.

    My personal take on this is that although it may be effective there are too many packages in debian that will cause problems, even if you are able to boot without systemd. This is the work that for many years is done in the antix-mepis community. I am sure if you get into the antix site and forum and post this question you will get plenty of insight. On antix-sid I get

    x2goserver-xsession/unstable,unstable all
    X2Go Server (Xsession runner)

    Why do you prefer xsession, for remote logins? I suspect the part of systemd that it would require is elogind, not in antix, not yet it seems, although elogind is available for some complex desktops.


  3. Xsession defines the error handling of the user x session, loads locals, resources etc.
    This can certainly be copied into .xinitrc as well, if one is careful enough.

    Looking for a systemd-free–by-design distribution is certainly the cleaner way.


  4. /etc/X11/Xsession does not depend on systemd
    antiX does not use ~/.xinitrc (though some antiX users do)
    Our experience at antiX is that buster is ‘better’ than ‘stretch’ in terms of keeping systemd out. Even gnome and budgie work without systemd on antiX.
    antiX uses elogind


If your comment is considered off-topic a new topic will be created with your comment to continue a different discussion. This community is based on open and free communication, meaning we must all respect all in minimizing the exercise of freedom to disrupt such communication. Feel free to post what you think but keep in mind the subject matter discussed. It is just as easy to start a new topic as it is to dilute the content of an existing discussion.

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.