Hello,
I’m trying to get x11 forwarding, via SSH, working but it seems that Bluefin is missing packages or essential configuration for this to work.
I regularly use SSH from my Bluefin Linux Laptop to servers, and even dev environments, where x11 forwarding is essential for managing legacy applications/services. Previously using Kinoite (KDE SilverBlue) this was a non-issue and worked out of the box. I just can’t seem to get anything X11 working here.
So when using SSH with X11 forwarding from the native terminal I get output like this without an .Xauthority file and with one.
Warning: No xauth data; using fake authentication data for X11 forwarding.
$ xclock
Invalid MIT-MAGIC-COOKIE-1 keyError: Can't open display: localhost:10.0
So I figured if the host system was missing the required libraries I would just install a distrobox and test running x11 applications there. But from a Fedora 41 distrobox I can’t run any x11 applications at all.
$ xclock
Authorization required, but no authorization protocol specified
Error: Can't open display: :0
So here I figured mabey I needed an actual key in the .Xauthority file. So I generated one, but still failure.
Fedora’s KDE and GNOME images dropped support for X11 is what inffy was referring to. Since Bluefin, Aurora, and Bazzite use both of these DEs then there is no more support for Xorg at this point. i have no idea if you can do all of this inside of a container like this and it seems like a lot of trouble… if you really need to do this then i’m not sure how to do this on GNOME. I know KDE requires rpm-ostree install plasma-workspace-x11 but this package is going away in Fedora 42 if I remember correctly anyways. essentially you most likely need the windowing session to be on your host somehow… would look into how to do this for gnome.
Thanks for pointing this out as it helped me make some progress on this!!
So for distrobox it wasn’t setting the $XAUTHORITY environment variable. Setting it by hand allowed X applications to correctly work and SSH to the remote machine with X11 forwarding also worked. Now I just need to automated this in my bashrc dotfiles to auto detect and set that variable for mutter environments.
Now for the native environment I traced things down to this error:
debug1: No xauth program.
Warning: No xauth data; using fake authentication data for X11 forwarding.
debug1: Requesting X11 forwarding with authentication spoofing.
So under the assumption that xauth is a hard requirement for SSH client X11 forwarding I went and installed this with pixi.
pixi global install xorg-xauth
and then updated my ~/.ssh/config with
XAuthLocation /var/home/nicholas/.pixi/bin/xauth
Now X11 forwarding is working without issue. I’m ok with this workaround for my own workflows. I work mostly in the systems admin, and high performance computing, spaces so this may not be common for regular people and/or developers.