Ok this isn't a definitive guide or anything, nor is this a way to install Ultima Online on every version of Linux, but it is what worked for me.
Currently I am using Linux Mint 22 with the KDE Plasma desktop environment.
To start off with, the ClassicUO's Linux variant, as far as I can tell, no longer works properly. It used to, but with recent updates to Linux, it just doesn't now. Not 100% anyway. I'm fairly certain its just the windows version with an outdated emulator anyway. Could be wrong. I tried this on multiple Ubuntu variants, like Linux Mint, and Kubuntu. A few Debian based variants, and one Arch based system thats more Arch "inspired" than a true Arch system. No bueno.
I did a lot of updating, hoping that something was missing, that was causing it to fail. Then it occurred to me. It's just an emulated version of the windows variant.
So I installed Bottles. In non Linux user terms, Bottles creates a windows directory and allows you to install a .exe file into it. You can then run it from the bottle. It's surprisingly effective.
So I created my bottle. Browsed it's directory, and placed the unzipped versions of ClassicUO and UO Immortal in 2 folders on the desktop. Then I went back to the menu for bottles, and clicked "run executable" I then navigated to ClassicUOLauncher and ran it once. The first time it runs, it creates a bunch of files and updates itself. After that, the same file is used to launch UO, so I closed it, went back to Bottles, and clicked add shortcut. This allows me to make a shortcut for ClassicUOLauncher in the main directory of the bottle.
Now I skipped all the steps about setting up ClassicUO, and configuring it. I'm assuming you know all that already, and if not, that is the topic for another post. I will say though, that ClassicAssist does not run currently in Linux, nor could I get it to run, but razor enhanced runs perfectly. Especially from within the bottle.
After setting all this up, I decided to have a little fun and install reshade as well. Reshade is generic post-processing injector for games and video software. What that means is... it adds shaders and effects to your UO. I just downloaded this to my downloads folder. Repeated the process from bottles of installing a .exe file (from the Ultima Online bottle). When reshade asks which file I want to attach it to, you will navigate inside your bottle to the ClassicUO folder, finder ClassicUO.exe and target it. I personally like the Anti-Aliasing effects, and I use a darker color curve.
It's going to ask you which rendering engine you use for your game, which if you use the default, its directx11. Then it will ask you which shaders you want to install. The correct answer is all. Go nuts. Pro tip: Click the uncheck all button to unlock the check all button.
And that's it guys and gals. If you have any questions, feel free to ask me. You have about a 50/50 chance of me actually knowing, but I can do research with the best of them. We will find a way. Hope to see you in game!