背景
目前的笔记本是暗影精灵9,拔电后续航实在有些拉胯。
晚自习带过去两个小时,估摸只能撑一个半小时。
已经把我能想到的所有省电的办法打开了,还是这样。
搬来搬去也比较麻烦,由此萌生了用安卓平板写代码的想法。
操作
平板是小米平板6,去第三方买了键盘和笔,虽然肯定比不上原装,凑合着用。
需要软件:
- Termux
- Chrome
Termux可以在安卓下模拟终端(无需root),可以用它装个Linux,这里选择Debian。
下载
- Termux f-droid下载地址
- Chrome 在Google Play下载。
Termux推荐在f-droid下载,别的地方下载的会出各种奇奇怪怪的问题。
code-server官方也推荐在f-droid下载的Termux。
安装
安卓上的vscode原理是:
- 用Termux安装一个Linux系统
- 在系统里安装code-server(一个第三方软件)
- 启动code-server服务
- 使用Chrome打开本地的端口,默认为127.0.0.1:8080
第一步 Linux安装
Termux,启动!
- 执行
termux-setup-storage
,让Termux获得访问手机空间的权限。
某个教程把storage
给打错了,花了一点时间才发现问题。
- 更换镜像源:执行
termux-change-repo
,出现界面后按回车-用方向键选择Tsighua镜像-按空格选中-按回车OK。
- 升级软件仓库,
pkg update
和pkg upgrade
。
我只能说只要第一次登陆这种有包管理器的系统,最好都手动升级一下,否则会有的版本太老,导致出各种问题。
4. 安装code-server
1 | pkg install tur-repo |
官方说这三行命令可以直接安装,但实操下来最后启动的时候会报错。
就这个问题折磨了最久,后来发现是因为里面的某一个依赖的问题,要手动删除后重下。
但用Termux的包管理pkg也不知道node-modules在哪,所以还是按老办法来,装个Debian,在里面开code-server。
- 安装Debian
首先安装proot-distro
pkg install proot-distro
然后安装Debian
proot-distro install debian
安装完成后登陆Debian
proot-distro login debian
登陆上之后老套路更新apt
包管理库
apt-update && apt-upgrade
第二步 code-server安装
- 安装code-server
根据官网,直接用脚本安装。
curl -fsSL https://code-server.dev/install.sh | sh
安装好后可以直接运行code-server
试试。
我遇到了以下的问题:
在Github上code-server项目的issue找到了解决办法。
感谢大佬!
原因在于argon2这个依赖有问题,要自己删掉重下。
去code-server
里找到node_modules
,把里面的argon2
删掉。
按照这个教程来,我自己会在安装的时候又出错。
改成用npm install argon2
就行了。
安装好之后还没完。
要把默认密码给改了。
默认配置文件在这:
~/.config/code-server/config.yaml
1 | bind-addr: 127.0.0.1:8080 #code-server绑定的地址和端口 |
保存之后就可以启动了。
第三步 code-server配置
- 启动!
输入code-server
在chrome打开127.0.0.1:8080就可以正常访问了。
此时Vscode还完全没有任何配置。
插件源要手动切一下用微软vscode的插件源,要不然搜不到C++的拓展。
这里使用微软vscode的插件源,插件将更多,而且质量也更高
nano /usr/lib/code-server/lib/vscode/product.json
前插入下面内容
1 | "extensionsGallery": { |
修改好之后装一下中文拓展,我自己还装了C++拓展,Python拓展。
C++拓展安装好之后还要在Debian里apt install gcc g++ gdb
才能正常使用。
要用Python的话也要apt install python3
,在vscode里选择好解释器。
Then all the things have done.
开始在平板上使用vscode咯!
在平板上用vscode在Leetcode上刷题。
PS. 最近vscode的Leetcode拓展好像不能用用户名加密码正常登陆,怀疑是因为要手机号验证,但因为这个拓展没做这个界面,所以一直提示密码错误。
只能复制一下已经登录上Leetcode的Chrome上的cookie来登陆。