You asked for suggestions on how to debug this. So here's how I debugged this: I ran sudo meld and it worked. I then ran sudo su username for my username and meld worked in that window. Then I ran a env > blah.txt in the working window and env > blah_busted.txt in the broken window. I pulled up meld blah.txt blah_busted.txt to do a diff and began running unset VAR_NAME for each variable name that was defined in the busted.txt but not in the good one. Finally I ran:
unset XDG_RUNTIME_DIR
And meld magically worked again.
I'm running Ubuntu 22.04 via X2GO. I also had to 'unset DBUS_SESSION_BUS_ADDRESS' in ~/.bashrc to get anything snap related to run via x2go. That's a known issue with x2go. It seems ubuntu does no regression testing via x2go, and I can't find any documentation on how/if ubuntu regression tests at all.