I do know that Type 2 (hosted) Virtualization (VMWare, Virtualbox) does not work as you need USB passthrough (connect phone, adb/fastboot, etc).
Seems that the best is to have a Windows computer (only method I've tried so far). As you said in your post, you don't currently have a Windows computer.
I cannot confirm the following options but they may be worth a try (or perhaps someone else on the forum can confirm it has worked or not worked for them):
Type 1 (bare metal) Virtualization (KVM/QEMU on Linux)
USB passthrough is possible using Type 1 (bare metal) Virtualization, but I cannot confirm yet this solution since I currently use Type 2. Use KVM/QEMU on Linux, create a VM. Idea would be to install a Windows OS (maybe 10 or 11), configure KVM/QEMU for USB passthrough (which takes the bare metal physical USB port and connects directly to the VM instance of Windows on KVM/QEMU. See if MSMTools on Windows can work through the physical USB to your phone).
bootable usb of a Windows OS
With a decently sized USB drive, download and install a Windows OS that can boot from the USB (Rufus is a software that allows .iso file to be written in a bootable way on USB. There are others). Then, install MSMTools on Windows and see if it can connect with your USB ports. This might have issues with read and write speeds. So, that might be a limitation but I don't know for sure.
Again, I haven't confirmed either option, but just throwing out ideas. Also, sorry for the high level nature. I don't have the details but if you have some time and can research various forums (XDAforums for MSMTools, make sure to get correct Oxygen firmware per the Ubuntu Touch website, I think there is a free Windows IoT or LTS version of Windows 10, KVM/QEMU have some decent documentation as well as Youtube videos).
Good luck!