Why is lightdm.service not part of graphical.target? Why is it always started even in

On stock Ubuntu 16.04, changing to “multi-user.target” prevents “lightdm.service” from running. (sudo systemctl set-default multi-user.target)

However, on the TX2 under “multi-user.target”, lightdm.service will still run.
In systemd terms, “lightdm.service” it is a “static service unit” so it can’t be “enabled” nor “disabled”, and it’s not a dependency of any other service unit, which means it will always be run at boot.

The systemd way to prevent it from running at boot is “$ sudo systemctl mask lightdm.service”.

Is there a reason why Xorg needs to run even in multi-user.target (headless) mode?

Was this a change made by NVIDIA for a technical reason?

I’m looking for an answer from NVIDIA for this

I agree that this is “broken”. I don’t know the cause or purpose. There are many cases though where CUDA requires an X context even if no display is used (X is an interface to the video driver and the ABIs of the two must match)…perhaps it is related.


It may take some time to check the story behind thi. You need to know that many applications and display feature needs X11. Moreover, if x11 is not running, some monitors may not be init correctly.