家中废弃的手机有好几个啦,特别是屏幕碎了,但是性能还算不错的手机,扔了浪费,换屏又不值得,能否把安卓当作一台低功耗的服务器使用呢?

等我有空了研究一下,当作一个小型的服务器也不错啊。

Termux

安装自行百度,很简单就是一个app。
安装完以后,我的第一个想法,能否通过电脑ssh远程这台手机呢?这个暖心键盘操作起来会比较爽。

Termnux安装ssh服务

安装openssh

apt update
apt install openssh

启动sshd服务

sshd

这样手机上就安装好了 ssh并启动了服务。

哇,竟然真可以!这样直可以把安卓手机当Linux用啦!我在继续研究一下。
设置自动启动ssh服务

echo "sshd" >> ~/.bashrc

连接手机的ssh

手机查看当前用户名

whoami

我的显示结果为:

u0_a131

手机查看当前ip

ifconfig -a

我的手机当前的ip为 :192.168.101.156

连接测试

电脑上运行:

ssh -p 8022 u0_a131@192.168.101.156

android系统 安装ssh 安卓手机安装ssh_android系统 安装ssh


这里需要说明一下 手机上安装的ssh默认端口为 8022,真没想到我一次就连接成功啦。那么问题来了,这里的用户u0_a131密码是多少啊?

那我们设置一下这个密码如何?

修改密码

passwd

android系统 安装ssh 安卓手机安装ssh_手机_02


在次连接

ssh -p 8022 u0_a131@192.168.101.156

输入我新设置的密码 123456,成功进来啦!!!

android系统 安装ssh 安卓手机安装ssh_linux_03


没想到这么简单,我的手机竟然变成了一台Linux服务器啦!!!

下面我尝试看看能不能安装jdk😝

Termux中安装Java环境

执行以下代码:

pkg install wget && wget https://raw.githubusercontent.com/MasterDevX/java/master/installjava && bash installjava

android系统 安装ssh 安卓手机安装ssh_java_04


上面的代码执行完成了,很快就出现上面的界面,我以为又轻松的成功了,然而并没有。

$ java -version
Bad system call

这咋办呢?暂时没有思路。

我又执行了一次:

wget https://raw.githubusercontent.com/MasterDevX/java/master/installjava && bash installjava

android系统 安装ssh 安卓手机安装ssh_Termux_05


我在想会不会是path的环境变量没有配置,先去吃饭了,回来在搞搞。

Bad system call解决办法

经我发现java应该已经安装成功了,因为 /data/data/com.termux/files/usr/bin目录中实际上是有java的。

android系统 安装ssh 安卓手机安装ssh_手机_06


那就在换个思路吧! 会不会是没有权限的呢?会不会java需要有root权限来执行呢?

Termux 使用root权限

安装proot

pkg install proot

执行

termux-chroot

网上说,这样就可以获取root权限。但是我看前面的$还是没变啊。
运行完成后再次执行
每次进来还要手动执行termux-chroot设置自启动

java -version

android系统 安装ssh 安卓手机安装ssh_手机_07


运行成功啦,这也太爽了!有了java就可以玩太多的东西啊。这台安卓手机已经不是一台普通的手机啦,成了服务器啦。

来了解一下这台服务器的配置信息吧。

top

android系统 安装ssh 安卓手机安装ssh_java_08

不看不知道,一看吓一跳,这不就是我手机上的信息吗?这里的com.tencent.mm应该是腾讯的app的进程吧。我本以为这个Termux只是一个安卓模拟器,看来没那么简单啊。感觉这更像是linux的终端啊。

android系统 安装ssh 安卓手机安装ssh_java_09

第一个在手机上运行的spring boot程序

上传 jar文档到手机上

在Mac上我使用 sftp工具FileZilla把springboot.jar上传到手机上啦。
这个会ssh的应该都会吧?不清楚怎么用的看这里:

运行 spring boot项目

java -jar springboot.jar

竟然运行成功啦!刷新了我对安卓手机的认知了。

android系统 安装ssh 安卓手机安装ssh_linux_10


然后浏览器中访问:http://192.168.101.156:8082/

竟然正常可以访问!这哪个手机啊,这不就是低功耗的linux服务器吗?

图形界面

已知问题

我在启动我的spring boot 项目后,发现项目中用到的数据源无法正常访问。
我猜测应该是 dns对域名解析的问题,暂时未解决,有空在研究吧。

/etc/resolv.conf
 #若此文件为空,则
 rm /etc/resolv.conf
 echo “nameserver 8.8.8.8” >> /etc/resolv.conf