需求
需求:为更好的管理windows(如:腾出空间来放游戏) ,将绝大数工程(如:cmake)都放到linux虚拟机里面来开发
环境
- windows10
- linux版本:好像都行,这里用
ubuntu22.04
+vmware workstation 16
,(公网上的服务器没试过)
方案
vscode+ssh+xming
安装必要软件
默认有的软件就不提了,如:windows 上的ssh,sshkeygen
- vscode及它里面的插件
remote ssh
、remote x11
+remote x11(ssh)
- linux中的
ssh服务
,安装并开启 - xming
1. 配置免密登录
- 键入
ssh-keygen -t rsa
后一路回车,不要输密码,有时提示是否覆盖之前的密钥,没用的话就覆盖掉 - 将公钥
C:/Users/XXXXX/.ssh/id_rsa.pub
上传到linux中(如果可以复制公钥文件中的内容到服务器里可以跳过这步)。vmware里的复制粘贴功能可能会点错误(我就遇到了),可以利用scp
命令,或者用vmware做一个共享目录,或者在linux搭建samba服务,总之把文件复制过去就行、
切换到linux
cat 传过来的文件 >> ~/.ssh/authorized_keys
- 修改权限
chmod 700 ~/.ssh;chmod 600 ~/.ssh/authorized_keys
sudo vim /etc/ssh/sshd_config
确保文件中有以下内容
RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys
- 测试:windows上的cmd窗口键入
ssh 用户名@linux的ip
,输入后直接登录成功就ok了(cmd上能ssh通,vscode自然也能)
2. 配置xming
- 使用默认配置:打开xLaunch(找不到就搜一下)一路默认配置,就可以了
- 测试(可以跳过,等出问题了在回来看看):这里用putty(也可以用xshell)。打开putty,输入linux的ip,左侧定位到Connection->ssh->X11,顶部勾起就可以点Open按钮登录了,登录后键入
xclock
有图形窗口显示则ok。此时xming中关于DISPLAY的值默认为locahost:0.0(echo $DISPLAY
)
3. vscode 关于xming 的配置文件 用户目录/.ssh/config
Host XXX #### 随便取
HostName 192.168.170.128 #### linux ip
User XXX #### linux 的用户名
IdentityFile "C:/Users/XXXX/.ssh/id_rsa" #### 私钥文件位置
ForwardX11 yes
ForwardX11Trusted yes
ForwardAgent yes
4. 测试
vscode 上新建连接,并按上一步修改好配置文件
连上linux,免密配置成功是不需要密码的,需要密码则一般不能进行后面的步骤
vscode中打开远程终端,键入
export DISPLAY=localhost:10.0 # 这个是 配置xming 时得到的默认值
xclock
有图形窗口显示则成功了