当开发环境是 Linux 时,直接在生产环境修改代码是一件非常头疼的事情——可能是无法直连 Github,没有中文输入法,抑或是像我一样找不到喜欢的 GUI 环境。这个时候如果可以使用 Windows 机器进行远程开发,将会方便不少。

方案一、 Samba & SSH

最简单、容易部署的方法当属 Samba 配合 SSH 了。使用 Samba 将工作目录映射到 Windows ,改动完成后使用 SSH 客户端执行 CMake 等一系列编译运行操作。这个方法虽然简单,但不能方便的 Debug 定位错误,对于稍大的项目来说可能不是一个好的选择。(当然如果你是 Pythoner ,定位问题可能相对会容易一些)

首先当然是要安装 Samba 。执行

$ sudo apt-get install samba samba-common

稍等片刻便可完成安装。完成安装后,新建用于登录 Samba 服务器的用户。稍后使用 Windows 访问 Samba 服务器时需要用到这个用户的凭据。执行指令后连续输入两次密码,即可完成创建。

$ sudo smbpasswd -a UserName
New SMB password:
Retype new SMB password:
Added user UserName.

接着修改 Samba 配置文件。好的习惯先备份默认配置文件

$ sudo cp /etc/samba/smb.conf /etc/samba/smb.conf.bak

接着打开配置文件,添加如下内容

[home]
    comment = home directories
    path = /home/
    browseable = yes
    writable = yes

保存并退出。重启 Samba 后即可使用 Windows 进行连接,打开项目文件夹并编辑了。

至于 Windows 下的 SSH 客户端,强烈推荐 Terminus

方案二、Remote Developmen

由于该方案基于 SSH ,因此必须先配置好 SSH 访问后继续。

首先在 Powershell 执行 ssh-keygen 命令生成密钥对,生成位置和名字如果不需要更改连按三次回车即可。

Power Shell 生成密钥对
Power Shell 生成密钥对

然后把公钥 id_a.pub 中的内容复制到服务器 .ssh 文件夹中的 authorized_keys 文件中即可添加新公钥。这部分的详细步骤可以参见使用 Windows Terminal 进行 SSH 连接

接着添加 Visual Studio Code 插件的配置文件。首先点击左侧 Remote SSH 的图标后再点击高亮处的齿轮。

Code 的远程界面
Code 的远程界面

会弹出菜单让你选择需要编辑的配置文件,一般选第一个

选择配置文件
选择配置文件

选择之后开始添加配置信息。

参数的含义分别为:

  • Host 自定义连接的主机的昵称
  • Hostname 远程主机的IP地址
  • User 用于登录远程主机的用户名
  • Port 用于登录远程主机的端口
  • IdentityFile 上文生成id_a的路径
Host test
HostName 127.0.0.1
Port 8080
User root
IdentityFile ~/.ssh/id_a

如果需要多个连接,可按照如上配置多个。配置完成并保存后,左边栏中便会出现像我上图所示的远程主机图标。

双击连接后即可执行诸如打开文件夹一类的操作。注意按下 F5 选择编译器/解释器时选择远程主机上的编译器/解释器即可,甚至还能支持 gdb 。

方案三、WSL

如果不在乎生产环境和调试环境是否是一台机器(没人会这么做的吧!),还有一种比较折中的方案就是在本地运行一个 Linux 虚拟机。WSL 作为微软钦定的 Windows 下 Linux 环境,自然成了第一选择。

安装 WSL 发行版此处不在赘述。

鉴于 WSL 与 Visual Studio Code 有深度合作关系,因此只需要在 WSL 的 Bash 里输入 code 指令即可完成一切!

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注