刚好寒假,闲着无聊没事干,手头又还有一个闲置的安卓机(就是我之前的文章里的那个被我折腾的魅族note9),于是我开始了新的折腾
linux deploy是一款安卓软件,它可以在安卓机上跑linux,但前提是要能root(感觉我一年前那场折腾还挺有用的)
我差不多折腾了4天吧,5号开始搞的
这片文章主要是记录我折腾的过程中遇到的问题以及总结的经验
安装过程我就不写了,网上有很多,我就贴上我觉得有用的教程吧
这里我推荐安装的时候,本地化选英语,只要是英语就可以了,美式英式啥的都行,因为这样安装好后,`/home/`里面的文件名称是英文的,以后不管是ssh还是写代码都方便
当然中文字体还是要装的,毕竟别的软件有中文
[Linux Deploy安卓上部署Linuxwww.uibobo.com](https://www.uibobo.com/20190515/cid=78.html)
[安卓系统下用Linux deploy安装Linux(Ubuntu或Debian)系统-带视频教程www.tkdcz.top](https://www.tkdcz.top/post/48.html)
-----
安装chromium的话,就直接去上面第二个链接里给的网站下载就行了
[Index of /pool/universe/c/chromium-browserports.ubuntu.com](http://ports.ubuntu.com/pool/universe/c/chromium-browser/?C=M;O=D)
因为我的机子是arm64的,所以我选

这四个是要一起下载的,安装顺序是(后面两个可以调换位置)
1. ffmpeg
2. extra
3. driver
4. browser
安装的时候不要双击安装,反正我这样是没装成功,要用
```bash
sudo dpkg -i <安装包>
```
来安装,推荐直接写个shell脚本安装就行了
```bash
#! /bin/bash
sudo dpkg -i '/home/hlf/Downloads/chromium-codecs-ffmpeg_87.0.4280.66-0ubuntu0.18.04.1_arm64.deb'
sudo dpkg -i '/home/hlf/Downloads/chromium-codecs-ffmpeg-extra_87.0.4280.66-0ubuntu0.18.04.1_arm64.deb'
sudo dpkg -i '/home/hlf/Downloads/chromium-chromedriver_87.0.4280.66-0ubuntu0.18.04.1_arm64.deb'
sudo dpkg -i '/home/hlf/Downloads/chromium-browser_87.0.4280.66-0ubuntu0.18.04.1_arm64.deb'
```
写的时候把文件拖进vim里就直接有路径了
保存为`installer.sh`然后
```bash
bash installer.sh
```
觉得卡的话可以试试65版的
我这里也87版装好了后降级成65版过,登录过账号,出现了主页问题,就是弹窗说主页是来自新版本的,解决方法是删除`/home//.config`里面关于chromium的文件即可
-----
然后就是vnc的问题
我是准备把这个手机当作服务器来跑脚本的,我写了个自动签到的脚本,部署在上面。
是用python的,要用selenium
本来脚本在本地mac上一切正常,但在这个手机上跑的时候,会出现按键映射错误的问题
数字5会变成空格之类的,数字6会变成换行一样的
就是这个脚本要浏览器里输入密码嘛,我学号里面有两个6,所以账号那一栏里面只输入到了6前面那个数字为止,然后竟然直接换到密码栏,填入了第二个6前面的几个数字,然后后面的数字就被吃掉了(因为本来如果下面还有一行,就会在那行里填),然后才填入了密码
这个原因我找了好久,最后终于解决
[1037 - chromedriver - WebDriver for Google Chrome - Monorailbugs.chromium.org](https://bugs.chromium.org/p/chromedriver/issues/detail?id=1037)

简单的说就是这个是vncserver的bug,只要你用vncserver看着你的脚本执行,就会出这个问题,解决方法是安装vnc4server
```bash
sudo apt-get install vnc4server
```
安装完后

命令和vncserver是一样的
[windows 通过 vnc4server 远程 ubuntusunyongfeng.com](http://sunyongfeng.com/201704/linux/vnc4server)
-----
然后问题是重启以后并不能通过vnc4server启动,仍然是vncserver
我的办法很无脑暴力富有冒险精神,但是确实能用
就是把`/usr/bin`里边所有关于vnc4server的文件都拷贝到桌面上,然后去掉中间的4,然后再拷贝回去
也就是直接把vnc4server改个名然后覆盖vncserver
当然如果不放心可以先备份一下vncserver
-----
然后还有终端默认用的是sh,不是bash,导致上下左右键不能用
所以需要切换
但是在自带的终端上切换的话,重启终端就又变回去了,所以需要先换终端(2021.2.10 发现在使用自带的终端后,也能默认bash了,但是不知道当时为什么不能)
```bash
sudo apt-get install terminator
```
安装完后应该是默认终端是terminator了,之后切换sh为bash
``` bash
chsh
```
然后输入密码
之后`Login Shell`后面填
```bash
/bin/bash
```
就切换好了
[关于Linux下shell界面按上下左右方向键出现ABD的问题\_小丑的博客-CSDN博客\_xshell上下方向键失效blog.csdn.net](https://blog.csdn.net/qq_38871408/article/details/80546278)
-----
然后如果想用快捷键打开终端,可以设置键盘快捷键,command里填`x-terminal-emulator`

然后要防止关闭终端后杀进程,可以用screen,定时任务可以用crontab(2022.7.25更新,推荐使用systemd)
启动crontab的命令是
```bash
sudo /etc/init.d/cron start
```
然后我希望开机的时候能多给我几个vnc4server的端口(linux deploy只给一个),想把创建端口的命令加入开机运行,但是发现不能,会提示`Wrong type or access mode of /home//.vnc.`

[cannot connect to vnc after vncserver install and restartaskubuntu.com](https://askubuntu.com/questions/574593/cannot-connect-to-vnc-after-vncserver-install-and-restart)
就是说系统在还未登录用户的时候开启vnc,因为用户名对不上所以无法开启
也就是说需要我们手动选择用户
```bash
sudo -S su -c ‘vncserver :1 -geometry 1440x900’ << EOF EOF
```
当然,为了确保运行,还要把可能的锁都删掉
```bash
sudo rm -r /tmp/.X1-lock
sudo rm -r /tmp/.X11-unix/X1
sudo -S su -c ‘vncserver :1 -geometry 1440x900’ << EOF EOF
```
然后保存为sh,加入开机启动
然后大概开机了五秒就可以使用了
当然我还参考了这个
[ubuntu 18.04 vnc server开机自启动blog.csdn.net](https://blog.csdn.net/xiaomayi1994/article/details/100556273)
这个我也弄了,但是没有效果,我不知道是不是要配合我上面的代码还是说就是没用的,如果单独用我的代码没用的话,可以试试把上面这个也搞下
-----
因为我的设想是只要有网有电,这个小服务器就应该一直运行,随时可访问,但是我发现即使打开了linux deploy里的保持cpu运行也不能在关屏幕后保持运行
而使用其他保持cpu运行的软件后,ssh是可以通,但是vnc必须要在亮屏的时候才行
所以我只能让屏幕常亮
于是我下载一个叫Black Screen的软件,play store里下的,可以全屏全黑,然后我开启保持亮屏,设置Black Screen为固定屏幕防止误触
这样就能满足我的要求了
而且这个手机有wifi桥接的功能,开着wifi能开热点,自己用wifi上网,连了这个热点的设备也能上网,也算多了一个用处
-----
这手机4000毫安的电池,黑屏常亮+wifi+热点+vpn+3个vnc端口+linux跑脚本+内网穿透+私有云盘+aria2离线下载,按照上面自己的电池估计,差不多能用12个小时
不过对我来说8个小时就够了,有插座的地方肯定插着的
(2021.2.9实测,2点到14点,12小时,电量从100到30,确实给力)
-----
如果后期觉得linux分配的空间不够,可以参考这里
[如何为 Linux Deploy 镜像扩容www.vnote.top](https://www.vnote.top/1211/)
就是

还是相当简单的
0 Comments latest
No comments.