Apologies for straying off-topic.. but what's holding you back Brittany.D..
Don't have a license for Windows, so running in Virtualbox is not an option either.
For getting device and map updates, Express uses a protobuf API where it sends the GarminDevice.xml to and receives a list of update files. Then there's a different request to get purchased contents for the device with a given Unit ID. Both is relatively easy to find out by just looking at some Wireshark logs. But Express does a lot more things, e.g. uploading activities to Connect Web, manage WiFi networks on some devices, purchase new content, update installed Connect IQ apps, register your device with Garmin, flash firmware to older devices, etc.
While it may be possible, to develop some tool that does these things without the help from Garmin, I'm not sure they will condone it. Also it's no public API so they can change it at any time, breaking said tool.
So yes, I'm all in favour of some official Garmin Express for Linux. Or at least some public API so we can develop our own tools to do the most important things - without the fear of the API ceasing to work or even legal trouble.