Letting Ubuntu bash on Windows 10 run ssh -X to get a GUI environment on a remote server
Install all the following. On Window, install Xming. On Ubuntu bash, use sudo apt install to install ssh xauth xorg.
sudo apt install ssh xauth xorg
Go to the folder contains ssh_config file, mine is /etc/ssh.
Edit ssh_config as administrator(USE sudo). Inside ssh_config, remove the hash # in the lines ForwardAgent, ForwardX11, ForwardX11Trusted, and set the corresponding arguments to yes.
# /etc/ssh/ssh_config Host * ForwardAgent yes ForwardX11 yes ForwardX11Trusted yes
In ssh_config file, remove the front hash # before Port 22 and Protocol 2, and also append a new line at the end of the file to state the xauth file location, XauthLocation /usr/bin/xauth, remember write your own path of xauth file.
# /etc/ssh/ssh_config # IdentifyFile ... Port 22 Protocol 2 # Cipher 3des # ... # ... ... ... GSSAPIDelegateCredentials no XauthLocation /usr/bin/xauth
Now since we are done editing ssh_config file, save it when we leave the editor. Now go to folder ~ or $HOME, append export DISPLAY=localhost:0 to your .bashrc file and save it.
# ~/.bashrc ... ... export DISPLAY=localhost:0
We are almost done. Restart your bash shell, open your Xming program and use ssh -X yourusername@yourhost. Then enjoy the GUI environment.
ssh -X yourusername@yourhost
The problem is also in Ubuntu subsystem on Windows, and the link is at
https://gist.github.com/DestinyOne/f236f71b9cdecd349507dfe90ebae776
Note: the linked text includes 2 typos (XauthLocaion instead of XauthLocation)
ssh hostnamebut in my~/.ssh/configI addedForwardX11 yessome time ago. Still this is something that I do want to have there.ssh -Y hostnamefrom Linux, andssh -x hostnamewhen using OpenSSH on Windows.