pressure-vessel-wrap uses wrong hostname for xauth on OpenSUSE
I've found that newer Proton versions (official and Proton-GE) are failing to display anything on OpenSUSE. I've long been aware that OpenSUSE has some odd handling around xauth so I looked deeper into this. I gather it patches libxcb (among other things?) so that it creates an xauth entry against the shortened hostname rather than the FQDN, e.g. killstar
rather than killstar.aura-online.co.uk
. It also sets the XAUTHLOCALHOSTNAME
environment variable to the shortened name accordingly. X11 applications fail to start when XAUTHLOCALHOSTNAME
is not set correctly.
I noticed that write_xauth
uses the nodename returned by uname
to filter the entries in xauth_entry_should_propagate
. This nodename is always the FQDN so it seemed likely that the applicable entry would be filtered out. Sure enough, I used nsenter
to look at /run/user/1000/Xauthority
within the isolated namespace and found that it was an empty file. Running xhost +
allows things to work.
I therefore think that write_xauth
should either use XAUTHLOCALHOSTNAME
in preference to uname
or it should check against both. I would fix this myself but OpenSUSE is my wife's system rather than my own and I lack the time or energy to get the development tools set up.