16
votes

So far I have tried Firefox (latest and greatest) and Chrome (also latest and greatest), and while Chrome runs faster than Firefox over X11 from my CentOS server to my Windows 7 workstation, it's still pretty sluggish.

What other GUI browsers are available for Linux that would [likely] run faster than Chrome?


I've not tried Opera 11, but have had many issues with it under Windows and Mac OS X directly, so am waiting for a new version before going that route.

4
  • 5
    Why would you want to do this? I'd think it would be better to configure a local browser to use a proxy which would be on the remote system with its connection being carried over ssh.
    – Dan D.
    Mar 22, 2012 at 12:52
  • @Dan D. - a variety of reasons - not the least of which is that enabling X forwarding is desirable for other applications on the host that I want/need to access remotely
    – warren
    Mar 22, 2012 at 12:56
  • 2
    Unfortunately, I think you're going to have to accept that running a modern browser over X11 forwarding will be sluggish. Just because you have other applications you want to forward doesn't mean you have to run the browser remotely, though.
    – jjlin
    Mar 22, 2012 at 15:50
  • 4
    Example of why you'd want this: Sometimes you need to download a file to a remote system and that download requires you to go through a captcha. Neither a proxy nor a text browser would solve this problem.
    – Watcom
    Aug 16, 2014 at 19:38

5 Answers 5

9
votes

There are a few browsers that run a bit (to much) better over X11 forwarding.

Midori is a lightweight, tabbed browser that should run well.

Xlinks2 should work over X11 forwarding pretty well as well.

uzbl and surf are both browsers I've used that should work well over X11 because they're very minimal.

4
  • 1
    Midori gives me the following error: X11 connection rejected because of wrong authentication. Failed to connect to Mir: Failed to connect to server socket: No such file or directory Oct 1, 2019 at 16:41
  • Same. Neither of above browsers worked for me
    – Serge
    Jan 17, 2020 at 20:01
  • 1
    Try this @AlexejMagura: export XAUTHORITY=$HOME/.Xauthority Sep 15, 2020 at 14:55
  • 1
    FF was unusable so I came here, Midori worked great!
    – chiliNUT
    Sep 7, 2022 at 20:41
13
votes

Even if you use a browser that is light-weight on CPU and RAM on the server, in this case the limiting factor will undeniably [1] be the network. What you want to avoid is mostly unnecessary screen rendering.

  • Turn off "smooth scrolling" and such features. Use PgUp/PgDn instead of continuously scrolling if you have the choice (a single screen update is much faster than 30 just to see a full page).
  • Keep a small browsing window (but not so small so you have to scroll a lot more as per previous point).
  • Block animated material (animated GIFs are not that common nowadays, so blocking flash will probably do fine).
  • Consider using VNC, which will compress the image transfer in a clever way. This gives me a much snappier experience when forced to use GUI over slow connections.
  • Don't underestimate text-based browsers if there is something you quickly need to do on the server.
  • Proxy and/or port tunneling through SSH avoid/s the problem completely. You just want to transfer the information, it is unnecessary to transfer the complete presentation layer.

[1]: Unless you have a very fast connection (~100Mbps in my experience); then any browser will probably do without being more annoying than using the browser locally. I am blessed with this in my remote needs.

2
  • 1
    This answer is actually much better than the chosen answer. The complexity of the browser has nothing to do with how fast it runs over X11 forwarding, only how often it needs to send screen update information, which depends on configuration and usage. Additionally, you can lower the resolution or number of colors which will dramatically increase responsiveness. Having said this, uzbl is a good choice because it uses key bindings natively although most browsers can be configured in the same way using plugins. This will help reduce lag further.
    – sillyMunky
    Jun 8, 2012 at 10:02
  • 1
    «animated GIFs are not that common nowadays» The internet has changed SO MUCH in these five years...
    – Darkhogg
    Mar 14, 2017 at 10:35
12
votes

The main reason X11forwarding is showing lag is because of the cipher that you are using to connect with, and not the actual browser itself.

You will find much better performance if you change the encryption to arcfour or blowfish.

I had the same issue, and found that this pretty much eliminated all of the lag. The downside is that these ciphers are not as secure as AES which is the typical default.

If you are on a windows machine using putty, you can change the encryption cipher selection policy under Connection/SSH/ . You should also enable compression on that same screen and save it as the default for the connection you are loading.

If you are connecting from one linux machine to the other, the connect string looks like this: ssh -XC4c arcfour,blowfish-cbc hostnameorip

1
  • Changing encryption to arcfour worked for me. I think this cipher combined with something like https-everywhere is suitable for most people's needs. Oct 9, 2013 at 5:47
3
votes

I've found that running a VPN (server) on the remote machine and then connecting to that VPN remotely using your local machine and locally running browser allows you to have access to the remote IP space while still running the browser on your local machine. I use openvpn since it's easy and quick to setup.

Since only the HTTP traffic, rather than screen redraws, etc are forwarded it's just as fast as it would be if you were on the remote machine- minus the inefficiency of the encryption.

It's not quite the solution you asked about but while trying many lightweight browsers- xxxterm, etc and even resorting to lynx once in a while never worked out well. The VPN solution however, is more than serviceable even while tethering from your phone.

1
  • That's certainly an interesting idea. But doesn't help when you need to use the browser to download something to the remote machine in question
    – warren
    Nov 23, 2021 at 14:08
2
votes

I was looking for a solution for this problem, and found a good one: Browsh works great for my purposes, though I don't need to get through any captchas that the low-fidelity graphics would make impossible to solve. Runs entirely in the terminal, though on the server side of things it uses Firefox to actually load the page before converting it to something renderable in a terminal.

Browsh

Not the answer you're looking for? Browse other questions tagged .