Super User is a question and answer site for computer enthusiasts and power users. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I've always wanted to get X11 Forwarding to work with PuTTY, and the X Window System I'm using is Xming. When I have Xming running and I establish a new connection to my server, I receive the following after a command:

$ firefox
PuTTY X11 proxy: wrong authentication protocol attemptedPuTTY X11 proxy: wrong authentication protocol attemptedError: cannot open display: localhost:10.168

$ google-chrome
PuTTY X11 proxy: wrong authentication protocol attempted
(google-chrome:7083): Gtk-WARNING **: cannot open display: localhost:10.168

$ gedit
PuTTY X11 proxy: wrong authentication protocol attempted
** (gedit:6990): WARNING **: Could not open X display
PuTTY X11 proxy: wrong authentication protocol attemptedCannot open display:
Run 'gedit --help' to see a full list of available command line options.

$ gnome-system-monitor
PuTTY X11 proxy: wrong authentication protocol attempted
** (gnome-system-monitor:7024): WARNING **: Could not open X display
PuTTY X11 proxy: wrong authentication protocol attempted
(gnome-system-monitor:7024): Gtk-WARNING **: cannot open display: localhost:10.168

How do I fix these errors and get X11 Forwarding to work as a whole?

share|improve this question

migrated from May 6 '13 at 18:13

This question came from our site for system and network administrators.

How to fix this ? – user568109 Nov 20 '13 at 5:57
You should create an account, ask a new question, and then link it here so that I can see it. – NobleUplift Nov 20 '13 at 18:51
up vote 4 down vote accepted

Copied from:

Configuring Putty

  • Add Unix hostname
  • Switch Protocol to SSH
  • Type name of session in saved sessions
  • Click 'Save'

<img src='putty_xwin32/default_putty_rev-sm.png'/>

  • Expand the 'SSH' tab from the 'Category' list
  • Choose 'X11' from 'SSH' list
  • Check 'Enable X11 Forwarding'

<img src='putty_xwin32/xfwd_putty_rev-sm.png'/>

  • Choose 'Session' from 'Category' list
  • Click 'Save'

Starting the X Server on Windows

Configuring Xming

Just run "All Programs > Xming Xming" and it should work if you've got PuTTY configured.


  • Start Xming
  • Start Putty
  • Double click on the saved session you want

<img src='putty_xwin32/session_putty_rev-sm.png'/>

  • Enter username and password as requested
  • You should now be able to run X applications from the host on your local desktop

EDIT: To fix the wrong authentication protocol attempted error, try enabling “ForwardX11Trusted yes” in the /etc/ssh/sshd_config file and then restart the OpenSSH server.

share|improve this answer
I literally read the exact same guide (it's how I found out about Xming), but found it completely useless otherwise because it either told me things I already knew or could figure out just by running the two programs. – NobleUplift May 7 '13 at 2:28
I was kind of able to get X11 forwarding working, but I suppose this answer is the limit as to what you can do for it. I don't know why my question took a -1 though... – NobleUplift Oct 19 '13 at 22:34
How does it solve the problem. It is just a tutorial to configure x over ssh. – user568109 Nov 20 '13 at 5:56
@user568109 If you follow these directions and then attempt to call any GUI-based program, it will display locally. – Kruug Nov 20 '13 at 14:52
ForwardX11Trusted us a client-side setting. Putting this into sshd_config will have no effect at best and will prevent the SSH server from starting up at worst. -1. This is sshd_config versus ssh_config if you are looking for man pages. – 0xC0000022L Aug 7 '14 at 0:02

I had 2 problems and found this question had the closest problems to mine, so thought my solution would be helpful to others who get here, trying to fix the same problem as me. My system has Cygwin/X (xinit 1.3.4-5), and PuTTY (0.64). I managed to get to the bottom of it by setting both --listen tcp on the local startxbin and passing the path to .Xauthority to putty.

Firstly, in reference to the "PuTTY X11 proxy: unable to connect to forwarded X server: Network error: Connection refused" error, you need to make the X session listen for connections: Open a cygwin terminal and edit /usr/bin/startxwin find the line...


and change it to...

defaultserverargs="-multiwindow -listen tcp"

Secondly, in response to the "Authorization required, but no authorization protocol specified" error, you need to make putty use the correct xauth tokens (something strange seems to go on inside putty so xauth list locally doesn't give tokens that the forwarded connection can use by passing them in xauth add <token>, they seem to need to be set by PuTTY on connection, in order for them to work).
Find the path, in the windows domain, where your ~/.Xauthority file is by running (in cygwin terminal again)

cd ~
explorer .

Check out the properties on the .Xauthority file and make a note of the Location to it (select it and press CTRL+C to put it in clipboard).

Start PuTTY as in the example above (copied from

On the 'Options controlling SSH X11 forwarding' page, you should have 'Enable X11 forwarding' checked, and 'MIT-Magic-Cookie-1' set as the protocol.
Under the 'X authority file for local display' field, click Browse and using the Location to the .Xauthority file you made a note of earlier, find the .Xauthority file. Click Open to populate the field, then go back to Session (in PuTTY configuration) and save the session. Then you can click open.

It should now allow you to connect.

share|improve this answer
Thank you! The -listen tcp solved it for me. – lmyers Aug 26 '15 at 16:48
I also needed to set the X authority file for local display to point to my .Xauthority folder in my cygwin home directory. Thank you! – HeatfanJohn Oct 5 '15 at 21:24

For me what worked is adding ForwardX11Trusted yes to ~/.Xauthority where ~ is HOME for the user you are trying to connect.

Also when looking for answers here and here I found this needs to be in the ssh config too. Your config is at $HOME/.ssh/config or /etc/ssh/sshd_config. Though mine was already there.

share|improve this answer
sshd_config is the server-side config, whereas the ForwardX11Trusted is a client-side option. -1. – 0xC0000022L Aug 7 '14 at 0:03
@0xC0000022L What makes you think the answer should be exclusive to either server or client ? In this case it may need to be configured on both ends. By it I mean configuring the relevant Forward option and not ForwardX11Trusted. Did you check the link, it is correctly answered in another question. – user568109 Aug 7 '14 at 5:27
the wording. You refer two ~/.ssh/config and /etc/ssh/sshd_config in reference to the same parameter, which is only available in one of them. I.e. the answer is factually wrong - thus a downvote. It will mislead people and the worst part about it is that it (silently) prevents OpenSSH from starting unless run with high verbosity. For a headless server that's a pretty bad outcome. – 0xC0000022L Aug 7 '14 at 13:18

You can

xauth list


xauth add <your display>
share|improve this answer
Command line is xauth add dpyname protoname hexkey. – NobleUplift May 7 '13 at 2:37
oddly, that didn't work on my forwarded putty connections. – sibaz Jan 20 at 11:03

You must log in to answer this question.

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