The Linux ttyACM0 drama - more details after a lot of experimenting

What a pain this has been
I have been struggling for several days to get a Leonardo to upload in Ubuntu.
I have Ubuntu 12.10 on a Dell laptop which refused to boot up with Vista (no loss) and a PC which I built using a redendent motherboard and an Intel i7 CPU etc. - this has Ubuntu 16.04.
Both have Arduino IDE installed, 12.10 has 1.0.1 and 1.8.3 and the 16.04 PC just has 1.8.4
Arduino Uno's worked on both without having to change anything - the Dell has worked since 2012 and no trouble.
But neither would upload to a Leonado. Eventually I ran dmesg and spotted something like "is not a modem". This led down the trail of modemmanager or ModemManager depending on Ubuntu version.
An item in Linux.com had a bit on stopping/disabling/removing startup services, so warily disabled ModemManager in 16.04 - this then allowed the Leonardo to work, but the equivalent fix in 12.10 (might have been in Upstart) didn't - same old error "dev/tty/ACM* busy"
Then I found this lovely thread and donbinder's bit on "purge" and "remove" modemmanager. Worked a treat, very happy now.
I don't need modemmanager on the Dell and probably not on the 16.04 PC, but fortunately, stop and disable are carried over when it (16.04) is rebooted.
Many thanks to all