windows本机操作linux远程机器的文件并且使用远程机器进行编译操作

这是一个比较“不寻常”的需求,我想一般也不会有人有这种奇怪的需求和想法。
但既然今天找到办法了,就记下来,分享。


需求背景

  1. Linux服务器,上面有一些环境,如Gcc、python等。
  2. 我在本机windows可以ssh连接此linux服务器。
  3. 最好能实现我在本机window上,比如用图形化文本编辑器随便写个a.c, 却可以使用linux机器的gcc等环节进行编译和执行。

这个想法古已有之^^,比如我们经常在本机安装Linux虚拟机,不管是hyper-v还是VmWare、VirtualBox啥的,都可以直接连接,不过连上去之后总是不太好用,比如剪贴板可能不能共用、鼠标可能不能用而只能用命令等,总之经常会让我们的操作变得慢了起来,影响效率,也经常会因为一些vim等相关的问题打断思路。

或者更干脆点我们不想过多地改变了我们的机器配置,而只想简单地使用虚拟机里机器的编程环境,就会想到这种需求。

我找到了两种办法

ps:前置常识,VScode自带的命令行功能进行ssh连接、vim操作等也很方便。
参考链接:
2018最好的ssh客户端

第一种,如果你的linux是图形化界面的

这种情况就简单很多,而且用得也更加舒服。
一言以蔽之,就是两端(linux服务器端、本机windows端)都安装Visual Studio Code 软件,然后充分使用VS Cdoe的Live Share功能,使得编辑远程机器上的内容跟本机操作一样流畅。
至于VS Code的Live Share功能怎么用,那随便查一下就知道了,不多说。

第二种,如果你的linux是非图形化的(如Centos minimal版本)

比如这个好像用得比较普遍的CentOS minimal版本,基本上是最精简版,很多东西都不带,更没有图形化界面。

这种情况下,装Vs code,并且使用liveshare显然是不行了,至少我是不知道怎样在没用图形化的情况下打开、配置和使用这个功能的,此路不通。

但是有另外一款软件非常好,叫winSCP,在可以ssh连接的情况下,通过它可以像操作本地文件一样地操作ssh远程机器上的文件,很方便。

winSCP

更令人惊喜的是winSCP居然带有一个自动同步功能,选中了这个功能之后,它可以实时自动同步。

只要你指定了你本机的某文件夹与服务器的某文件夹进行实时同步,则每当你在本机直接新建(或编辑)一个文件,那么在服务器的对应位置也会立即出现一个同样的文件,即实时同步。

有了这个功能,那么剩下的事就好办了。
在这里插入图片描述

现在我本机是这样用的

  1. 本机指定一个文件夹与远程linux机器上的进行实时同步
  2. 本机用vsCode打开这个文件夹,则可随心所欲地操作和编辑,都会实时同步到远程linux主机上。
  3. 同时vscode下方命令行通过ssh连接linux主机
  4. 则从此起,每当本机写完一段代码,就可以任意按快捷键Ctrl + ~ (tab键上方的那个键)切换到命令行,执行命令进行编译,如gcc a.cpython3 a.py等,真的是跟操作本机一样方便。

下面上个图。

在这里插入图片描述


第三种 高阶操作 VS Code + Remote WSL

经过几天的摸索,实际上我后来发现了一个更高级更风骚的做法,而且在便利性、连接可靠性、性能消耗等方面几乎可以说是绝配。但windows系统只能是win10,稍后会解释原因。

那就是使用windows10 自带的WSL linux系统的环境来实现windows图形化编辑代码linux环境编译
还是借助VS Code。
重点就是一个VS Code插件,Remote WSL,如下图。
在这里插入图片描述

必要条件和步骤
  1. vs code装上这个插件Remote WSL
  2. windows10 安装WSL linux,比如选择Ubuntu
  3. Ubuntu 可以直接联网,给它装上ssh 服务(好像本来就有?),记得启动服务。
  4. 然后通过windows本机的终端可以通过ssh命令连接WSL系统(注意目标主机是 127.0.0.1即可,命令如 ssh -l testuser 127.0.0.1),然后可连接和操作此WSL系统。
  5. WSL系统安装环境(如我想弄python的,系统自带了2.7,我卸载了2.x的安装了3.x的,然后安装了pip,安装了numpy包等,遇到一些问题但跟这里的主题无关,环境具体看自己需求)
  6. 然后打开Remote WSL插件使用,就会发现这个交互是这样的:VS Code提醒你打开一个WSL系统中的位置,如/home/testuser/pyProjects等,然后即可直接编辑。然后在VS Code下方的terminal区域即可直接执行 python3 test.py等命令看到效果,就跟本机一样。

综上,这才是最风骚的操作,完爆上述前两种方案。

发布了177 篇原创文章 · 获赞 47 · 访问量 43万+

猜你喜欢

转载自blog.csdn.net/festone000/article/details/103681974
今日推荐