How to run firefox program in linux and get its output on windows

rohan picture rohan · Jun 6, 2017 · Viewed 7k times · Source

I have one centos 7 (minimum setup) installed on cloud . I m connect it using using putty on my laptop.

I have installed Firefox on centos server which has fast internet connection.

However whenever i run Firefox its not loading because it doesn't have GUI installed (and i m connecting it using putty).

I want to browse internet on it from windows machine. How can i go about it?

Error Message

# firefox
Error: GDK_BACKEND does not match available displays

Please help

Answer

LSerni picture LSerni · Jun 6, 2017

You need to supply Firefox with a virtual graphic screen. You could for example install XMing on Windows, and configure PuTTY to "forward X connection".

Then Firefox will "draw" on the screen, and the screen will be transmitted to your PC. Your mouse and keyboard signals will be transmitted to the remote server.

This setup should go about six times as slow than your current Web connection, since your connection to the Internet, which is the bottleneck, is unchanged, and now you're pushing massive X data on it instead of browsing elements.

A better possibility would be to install Squid proxy on the remote server, then configure your PuTTY to open a "tunnel" from remote port 127.0.0.1:3128 to local port 3128, and finally instructing your Windows Firefox to use 127.0.0.1 on port 3128 as proxy for all protocols.

This way, the browsing information will be downloaded remotely, compressed and forwarded to you.

This should be around twice as slow as your current connection (unless you're connecting with old Web sites without gz/deflate support, and mostly text with no images. In that case you might experience a connection up to five times as fast, albeit with a somewhat increased latency.

(An even better but even more complicated setup involves running a local proxy, connected through SSH tunnel to a remote proxy).

In all cases your navigation might appear as coming from the remote machine, but to ensure there's no information leak, you need to properly configure the proxy.