一、windows准备
1. 首先要确保你的windows系统已经安装并配置了vscode以实现远程调试服务器的代码。如果没有,请参考:使用vscode在本地windows10系统远程调制ubuntu系统的python代码
2. 在这个基础上,再继续安装Xming客户端。具体安装方法如下:
- 下载Xming,我使用的是这个连接:Xming
- 运行exe安装程序
这里自定义一下安装路径也行,无所谓。
因为我们在配置vscode的时候已经安装好ssh了,这里不再安装了 - 然后我们再配置一下Xming就行了
记住这个数字,然后
就可以了。
然后修改一下xming的配置: - 找到Xming的安装路径,然后编辑X0. hosts文件如下:
1.2.3.4换成你的远程服务器的ip就行
3. Vscode 插件
我们安装一个vscode插件来确保GUI可以在本地展示:
此后,我们再原来建立过的remotessh连接的配置文件中加入如下的配置:
- 首先,在vscode的界面按F1选择配置文件:
加入图中的三行配置命令。因为我这里有很多个服务器的连接,我只试了一个服务器。
ForwardX11 yes
ForwardX11Trusted yes
ForwardAgent yes
二、linux 准备
首先要保证你的linux服务器把X界面打开了。不确定的话可以进入sudo权限,然后输入
sudo service lightdm status
看一下Active,这样的就是启动了。
没启动的话手动启动一下
sudo service lightdm start
然后我们再进行两个配置
- 修改你本地的.bashrc文件,将Xauthority加入环境变量
vim /your path of .bashrc/.bashrc
在文件的最后加入
export XAUTHORITY=/home/[YOUR_USERNAME]/.Xauthority
改完以后记得更新一下:
source ~/.bashrc
然后再重新开启ssh会话
最后再借用sudo权限,把/etc/sudoers的文件中加入:
Defaults env_keep += "XAUTHORITY"
以上就应该可以work了。我是这样就可以了。
参考资料
[1] VSCode 连接远程服务器使用图形化界面(GUI)
[2] Solution to MobaXterm X11 proxy: Authorisation not recognised
特别注意
- [1]中提到了要在.bashrc文件中加入
"DISPLAY":"localhost:10.0"
并且要在vscode的配置文件中加入
但是很不幸,我只要这样做就无法使用了。
- 这个方法除了vscode的部分,可以用在mobaxterm上面。只不过不需要配置vscode的部分。