You often need to use a graphical application directly from the server. The main example is a browser.
You can install Firefox on the server with minimal dependencies, but - who knows why - having connected your home computer to the server with ssh -X... is not enough. You have also to launch firefox with firefox -no-remote. And beware where are the files dowloaded stored (on my install it's on the server, as it should).
On my new server (Sept 2013), no more problem and "firefox" starts exactly like "firefox --no-remote". Notice that the launch is very long without any notice.
You can as well use Firefox on your desktop but make is go through your server. Using your server as proxy allows you to make the Web site opened by Firefox think FF is run on your server. To do so, launch ssh proxy (ssh -D) then go on the proxy page of Firefox (on your desktop), gives localhost (better give the IP: 127.0.0.1) to have it run using your server as a proxy.
Localhost may be 127.0.0.1 (or you can make sure 127.0.0.1 is given the localhost name in /etc/hosts), and port can be nearly anything between 10000 and 20000.
The exact ssh syntax may be:
ssh -fND localhost:port login@serverIP
ssh -fND 127.0.0.1:10000 firstname.lastname@example.org
then, in Firefox, change the proxy settings and use *only* the "socks" parameter in "manual config", for example "127.0.0.1 10000".
With this setup, Firefox still works from your home, and the files are saved on this home, not on the server. This setup is only usefull to make your true location unknown or to use internet services that scans ports to find vulnerabilities, but are accorded to the IP and gives graphical results (so using w3m is not convenient).
Like this one: