I have a Raspberry Pi 3B+ with Ubuntu-mate 1.20.1 (Ubuntu 18.04.2) that I want to run headless and use VNC and SSH to access. Connections will be via WiFi, and the Pi has a static address on my network. Problem is, the WiFi isn't active until after I log in, and I can't log in without the WiFi being active! How can I activate the WiFi after boot, but before anyone logs in?
I had the same issue. I am using Ubuntu 18.04.3 LTS (Bionic Beaver) 32 bit, Kernel Linux 4.15.0-1053-raspi2 armv7l, MATE 1.20.1 on a Raspberry Pi 3B+.
The solution was to check the box next to 'All users may connect to this network". It is found at Gear (upper right hand corner) => System Settings => Internet and Network => Network Connections => click on WiFi network => General => check "All users may connect to this network".
Doing this fixed the problem and allowed me to have access to log on over WiFi without a keyboard or monitor attached to the Raspberry Pi. I am using TeamViewer to access the Raspberry Pi. But, the problem was that the WiFi was not being enabled without logging on first otherwise.
I did a lot of stuff, including installing all of the updates and changing things in the network manager, and now it seems to be working like it should. I'm not sure what fixed it, but I suspect it was clicking the All users may use this network box, combined with one of the 2 hours worth of updates.
You can’t set Ubuntu up without keyboard etc!
Ubuntu has no user account until you set it up.
Configuring Network Manager (assuming Ubuntu MATE still uses it ) from the command line is difficult, but can be done with nmcli.
Once setup it should work (I have done on 16.04)
You would be better to configure Debian networking or install dhcpcd.
I'm not completely sure about if this works on Ubuntu Mate, but you can setup WiFi on Raspbian like this: FAQ - How can I use WiFi instead of Ethernet?
I made this page about Umbrel, but it also works for RPi OS.