What exactly `systemctl --user enable SERVICE` means?

It makes the unit start on first login of a user, but for that corresponding unit file should have WantedBy = default.target or something along the lines. Because when user instance of systemd starts, it brings up the default.target target.


systemctl --user enable SERVICE will do nothing unless the related unit file has an [Install] section. the [Install] section lets systemd know which symlinks to set up with enable is used. From the docs:

Unit files may include an "[Install]" section, which carries installation information for the unit. This section is not interpreted by systemd(1) during runtime; it is used by the enable and disable commands of the systemctl(1) tool during installation of a unit.