文章

搭建云VsCode

搭建个人专属的云vscode,可随时随地通过pad,手机,电脑远程开发

背景

最近笔者所在的公司收紧了个人设备办公的权限。之前在下班之后偶尔会在个人笔记本电脑上处理一些紧急工作,或遇到恶劣天气也可以临时居家办公。收紧之后个人电脑就完全不能用了,但也实在不想每天背着一个沉重的16寸工作笔记本回家,甚是苦恼。好在公司允许手机/pad接入内网,在网上一番研究之后,发现 code-server 这个远程写代码的神器,搭配上吃灰的ipad,实际使用效果相当不错。下面就介绍下安装部署的流程。

实际应急工作情况下,对我个人而言,有飞书、浏览器、以及vscode编程软件这三个就足够了。前两个pad上都可以用,重要的是搞定vscode,刚好code-server可以填补上这一项空缺。

前提条件

  • 服务器:只需一台可远程访问的云服务器,linux或者windows都可以,linux更方便一些。
  • 客户端:任何带有浏览器的设备:手机、pad、电脑、其他。

code-server安装和配置

code-server是一款支持在任何设备上运行的vs-code实现,且支持通过浏览器来使用。我们首先在云服务器上下载和安装这款软件。

以下以ubuntu/debian为例,其他系统请参考官方安装文档

安装code-server

首先登陆你的服务器(linux),code-server的安装需要能访问github,执行下面的命令安装code-server:

1
2
3
curl -fOL https://github.com/coder/code-server/releases/download/v$VERSION/code-server_${VERSION}_amd64.deb
sudo dpkg -i code-server_${VERSION}_amd64.deb
systemctl --user enable --now code-server

配置

修改密码:默认的code-server访问密码存储在 ~/.config/code-server/config.yaml 中,你可以更改其中的password项来修改,注意一定要使用强密码,建议不要跟开发机登陆密码相同。修改密码之后,重启code-server:

1
systemctl --user restart code-server

注意安装之后,由于安全原因,code-server还不能在其他机器上通过浏览器访问。即使你通过修改code-server的配置,比如修改监听的ip改为0.0.0.0,虽然可以在其他设备的浏览器上访问,但是由于浏览器安全策略的原因,会导致一部分功能不可使用。

配置ipad

通过查看官方文档,解决由于安全问题导致的code-server不能正常使用的方法是通过ssh端口转发,这在安卓平台上可以通过安装termux来实现。幸运的是,ios上也有类似的linux命令行模拟器:ish,我们可以通过安装ish来实现通过ssh端口转发来实现安全通信。

安装ish

ish

ish是ios/ipad os设备上的一款支持linux-shell的软件,通过安装这个软件,可以支持在ipad/ios上运行一些linux下的软件,如openssh、git等。

在ipad上点击此链接即可以安装:https://apps.apple.com/us/app/ish-shell/id1436902243

配置ish

安装后,打开ish软件,更新软件库: apk update, 然后执行 apk add openssh 安装openssh软件。接下来需要用到ssh客户端强大的端口转发命令,其作用是转发本地端口到我们自己的开发机,从而“欺骗”ipad本机的safari浏览器以为在访问本地地址,在保证传输安全的同时从而避免浏览器的安全策略对使用code-server造成的影响。

比如将ipad本地的8080端口转发到开发机的8080端口:(注意要先在ipad上连上bytesuit vpn) 执行:ssh -f -N -L 8080:127.0.0.1:8080 [user]@<instance-ip> 然后输入开发机登陆密码即可。将[user]替换为你的开发机登陆名,替换为开发机ip地址。

配置ish后台运行

最后且关键的一步,由于ipad os系统的限制,应用默认不能在后台运行,一旦ish切入后台,端口转发将会失效。我们可以通过执行 cat /dev/location > /dev/null &注意最后的‘&’符号)命令,系统会弹出位置权限申请,点击始终允许即可。其原理是通过伪装为位置信息软件来实现常驻后台。建议将此命令写入.bashrc文件中,这样打开app即可自动获取后台运行权限。

在ipad上打开safari, 输入 http://127.0.0.1:8080 ,输入密码,即可使用vscode,最后建议通过safari共享页面-添加到主屏幕,以便以pwa的形式安装该vscode网页版。enjoy~

要达到比较理想的使用状态,强烈建议外接显示器&键鼠,再配合上ipad的台前调度功能,你的ipad向pc又进化了一步。

安卓平板可以安装termux(linux shell仿真),同样可以达到相同的使用体验。

最后

如果你喜欢这种开发模式,同样也可以直接在你的工作电脑上通过浏览器使用服务器上的vscode,再也不用担心本地电脑卡顿、发热的问题了!

本文由作者按照 CC BY 4.0 进行授权

Comments powered by Disqus.