sudo apt purge ubuntu-desktop -y, don’t remove anything.
I just try following command:
sudo apt autoremove ubuntu-desktop -y
It uninstall too many GUI package(include QT).
It still boot to GUI desktop.
This obviously does not meet our requirement.
In the furture, Is it possible that you try and test it before give me any solution?
Have you any updates ?
I just confused that why TX2 installed Ubuntu18.04LTS is OK, But TX2 installed Ubuntu16.04 is not OK.
Our project is urgent to need to fix the issues.
We are very grateful to you for your last helps.
I couldn’t answer without a lot of experimentation. I can tell you that the earlier releases did not use systemd services for boot in exactly the same way as PCs or newer releases, and many people did notice this (I mention because there are probably older posts I do not have references to where there was success in going headless or purely text mode).
Just guessing (I can’t test the older release for this), notice that the login manager, lightdm, is what begins the login screen for X when done through automatic startup services. In your original list of services, this was still active, but you caught this, and the actual service disable did not stop it, and I suspect this is where the issue comes from.
Much of the configuration for lightdm is in “/usr/share/” and not necessarily all in “/etc/lightdm/”. Should configuration of system services through those files fail, then you might try disabling the binary executable for lightdm (more on that below).
I am looking at a more recent release, and so I cannot say where the lightdm binary executable is, nor where all of the config is at for the older release (I used to save clones of all releases, but ran out of disk space). Different releases even change login managers. If you can find the actual lightdm binary executable (I don’t have this on my newer release), then you could bzip2 this to disable it as a test (then bunzip2 it to put it back in place). Unfortunately, I do not know where the actual binary is located at in the older releases, and simply removing a config file is likely a bad idea where defaults would instead be used. If the actual binary executable is disabled in this manner, then there won’t be anything any service or custom file could do to start the service.
NOTE: You could disable the X server itself in this same manner (you’d need to get through all of the symbolic links to the actual file). This would likely be a bad way of doing things, but an error message might be of use. Keep in mind that the login manager runs prior to the X server, and so the login manager could actually run without X…but an attempt to log in would imply a crash or other failure.