如果你还在把旧手机拿去换不锈钢脸盆,那真是暴殄天物。何不将它变成包括 Rust 在内的开发环境呢。
安装 termux
- 打开 termux 的官网,点击【DOWNLOADF-DROID】下载 APK 文件。
- 运行下载好的 APK 文件进行安装。
启用 SSH 服务
- 由于要兼容未进行 root 的手机,所以 termux 的 SSH 服务监听的是 8022 端口,而不是标准的 22 端口。(小端口监听需要 root 权限)。
- 同样的原因,termux 的用户名并不是
root
,而是每次安装 termux 自动生成的、形如u0_axxx
(其中,xxx
是数字)的用户。
安装 SSH
# 更新 termux 软件源
pkg update && \
# 安装 openssh 提供的 SSH 服务端和客户端
pkg install openssh
修改当前用户的密码
passwd
输入以上命令后,按提示设置密码
查看当前用户
whoami
将会显示形如 u0_axxx
的用户名,把它记录下来。
举例:
u0_a117
查看当前IP
你可以通过手机的 WLAN 查看当前局域网 IP,也可以通过 ifconfig
命令来查看:
ifconfig | greap inte
举例:
192.168.0.13
运行 SSH 服务
通过 sshd
命令启动运行 SSH 服务:
sshd
连接该 SSH 服务
现在,局域网内的其它设备,比如电脑等,可以通过 SSH 连接该手机了:
ssh -P 8022 u0_a117@192.168.0.13
- 将
u0_a117
改为你实际的用户名 - 将
192.168.0.13
改为你实际的IP
安装 debian
termux 自带的是一个非完整的 Linux 环境,好在我们可以在不需要对手机进行 root 的情况下,通过 proot-distro
安装完整的 Linux 环境,比如 debian 系统。
# 更新 termux 软件源
pkg update && \
# 安装 proot-distro
pkg install proot-distro && \
# 使用 proot-distro 安装 debian
proot-distro install debian
安装好之后,便可以登录 debian:
proot-distro login debian
proot-distro login
是以 root
身份登录 debian,所以享有完全的权限。首先要做的是给 debian 安装一些必要的工具:
# 更新软件源
apt update -y && \
# 更新软件包
apt upgrade -y && \
# 安装需要的工具
apt install -y wget curl unzip tmux build-essential cmake pkg-config libssl-dev libtool git
安装 Rust 环境
参照官网,我们可以在 debian 里一键安装 Rust 环境:
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
Code Server
安装
在 Code Server 的release页面,找到最新版本的压缩包下载。
# 版本
CODE_SERVER_VERSION='4.96.2'
# 下载
wget "https://github.com/coder/code-server/releases/download/v${CODE_SERVER_VERSION}/code-server-${CODE_SERVER_VERSION}-linux-arm64.tar.gz" && \
# 确保 ~/.local 存在
mkdir -p ~/.local && \
# 解压到 ~/.local
tar zxvf code-server-${CODE_SERVER_VERSION}-linux-arm64.tar.gz -C ~/.local
# 重命名
mv ~/.local/code-server-${CODE_SERVER_VERSION}-linux-arm64 ~/.local/code-server
注意:
- 必须选择
arm64
架构,因为手机 CPU 就是这个架构 - 本例使用的是
.tar.gz
压缩包,你也可以选择.deb
等
运行
我们使用 tmux 来保证断开 SSH 之后 Code Server 依然在运行。首先创建 tmux 会话:
# 创建一个 tmux 会话
tmux new -s code-server
运行 Code Server:
~/.local/code-server/bin/code-server
修改配置
配置文件位于 ~/.config/code-server/config.yaml
。根据你的需要进行更改
-
bind-addr
:监听地址。为了让局域网能访问到,需要将监听的IP改为0.0.0.0
。比如:0.0.0.0:58080
-
auth
:鉴权方式。由于我们是部署在局域网,给自己用的,完全没必要使用任何鉴权方式,所以将其改为none
-
cert
:证书路径。我们将在下一篇进行讲解。
修改配置之后,需要重新启动 Code Server。
启用 SSL
由于 Code Server 是以 Web 形式运行,而很多功能需要 HTTPS,比如复制/粘贴、预览 Markdown、执行 REST Client 等。我们将在下一篇博文讨论如何在局域网签发 SSL 证书。
自问自答
为什么不用 VSCODE 的远程 SSH 连接,而用 Code Server?
因为 termux 并不是完整的 Linux 环境,而 VSCODE 远程 SSH 连接需要在服务端安装对应的软件,termux 并不满足它的条件,所以只能退而求之,使用 VSCODE 的 Web 版本──Code Server。
你也可以尝试在 proot-distro 安装的 Linux 里安装 SSH 服务,它应该满足 VSCODE 的要求,但需要配置的地方可能很多,本文不作尝试。
相较于云服务器,使用手机有什么优势?
手机基本上都是 4G RAM 起步,内部存储更是 64G 起步,普通的 VPS 根本没法和它比。试想一下,购买一台相同配置的 VPS 每年需要花费多少钱?
另外,手机都是通过局域网连接,而包括 VPS 在内的云服务器都是公网连接,甚至是跨洲绕全球的连接,网络响应不是一个级别的。
Top comments (0)