本教程环境为 windows主机上安装vscode远程连接ubuntu linux服务器做开发
在vscode里面添加ssh主机即可实现远程开发,在服务器上需要安装相应的扩展
实现方法如下:
step1:
本地windows安装上x11显示软件,如xming,vcxsrv
并测试在xshell里面连接linux服务器测试xclock命令能正常唤起x11界面
step2:配置ssh免密登录
本地windows生成公私钥:(一路回车默认即可)
ssh-keygen
然后找到生成的文件:
- id_rsa (私钥)
- id_rsa.pub (公钥)
将id_rsa.pub重命名为authorized_keys上传到linux服务器~/.ssh目录下
本地windows命令行ssh登录linux服务器不提示输入密码则成功
step3:配置扩展
在vscode中安装如下扩展,注意是本机还是服务器,两个扩展不一样
选中本地扩展的扩展设置,如下图:
此处填写第一步生成的私钥位置
重启vscode,大功告成,
在linux安装x11-apps包可以用一些小程序:xclock,xeyes
后面的一般不用,如果前面的不行试试后面的
如果不行,在vscode的服务器config文件下添加下面三行
Host 192.168.1.1
HostName 192.168.1.1
User user
ForwardX11 yes
ForwardX11Trusted yes
ForwardAgent yes
Linux的环境参数设置可以放在~/.bashrc文件中,只要两行:(此项只针对局域网服务器,外网服务器找不到本机ip)
export DISPLAY=电脑ip:0.0
如果报下面的libGL错误
libGL error: No matching fbConfigs or visuals found
libGL error: failed to load driver: swrast
解决方案是在 .bashrc中再加一句话
export LIBGL_ALWAYS_INDIRECT=1
以上是vscode的使用,如果只用ssh命令行连接服务器的话
0.不做配置,使用xshell或者mobaxterm连接服务器,xclock即可显示(速度稍慢)
1.服务器在局域网内,直接ssh连上,终端export DISPLAY=本机ip:0(速度快)
就可以了,前提是服务器可以ping通本机
2.服务器在外网,cmd命令行ssh无法显示x11,因为服务器ping不通本地ip,此时可以使用xshell或者mobaxterm,他们会自动做转发,和vscode x11扩展一样。