Currently, my computer starts up a lot of services (like docker, apache2, mysql, networking) before showing the log in screen. I want to start these services after the log in screen, so that booting continues while I am logging in. How can I change the order of services?

If this is not possible, is there another way to move services out of the "critical chain"?

Here is my critical chain:

graphical.target @14.613s
└─multi-user.target @14.613s
  └─getty.target @14.613s
    └─[email protected] @14.612s
      └─systemd-user-sessions.service @11.369s +38ms
        └─basic.target @11.207s
          └─paths.target @11.207s
            └─cups.path @11.207s
              └─sysinit.target @11.192s
                └─networking.service @3.243s +7.948s
                  └─systemd-random-seed.service @3.185s +57ms
                    └─systemd-remount-fs.service @3.043s +140ms
                      └─keyboard-setup.service @1.977s +1.065s
                        └─systemd-udevd.service @1.963s +11ms
                          └─systemd-tmpfiles-setup-dev.service @1.690s +273ms
                            └─kmod-static-nodes.service @1.567s +113ms
                              └─system.slice @1.521s
                                └─-.slice @1.520s

1 Answer 1


You can change boot order for service by Creating or Modifying systemd Unit File for that service for example in Ubuntu you can change LightDM "a cross-desktop display manager" by editing the option 'After' in its unit file

  • 1
    Note that the systemd norm is that system administrators are not supposed to modify such package-supplied units.
    – JdeBP
    Nov 20, 2016 at 14:28

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .