How to run Firefox smoothly over X11 Forwarding

by Robert May on Afternoon Robot

Assuming you have your SSH server already configured (I'm using two Ubuntu machines so there's no setup required here), first connect to your second machine:

ssh -XC myname@server.local

-X enables untrusted X11 forwarding (more secure than -Y, ish), and -C enables compression, which is important for making Firefox work well with this technique.

Now you can launch Firefox in that shell into the background:

firefox --no-remote &

--no-remote prevents Firefox from using your local machine's profiles, and & sends the process into the background.

The last piece of the puzzle is to swap the following setting in about:config to true and then restart Firefox:

gfx.xrender.enabled = true

All this together means that I seem to have a pretty performant copy of Firefox running through SSH even over my WiFi network, and I set up a keybinding in i3 to launch the browser as a one-off command, like this:

bindsym $mod+Ctrl+Shift+Return exec ssh -XCt myname@server.local "firefox --no-remote"