第4期 - 闲置Android平板运行Linux桌面

c3eecff074d0ce8e786ea91a891715a5.png

d8e643a5c905651a5c59314d118faf26.png

cd7dfae1c2576f1dabae82caacbff561.png

3d66485eda63c06a08a048eb8b4a415e.png

21d29c7b5db6a2d18c2c76d43ddd6528.png

已经好久没写过随笔了。最近折腾了手上有一台闲置的Android平板,打算拿来规划一下好好利用。想起以前了解过的一个开源项目termux,就跑去看看termux现在发展成什么样了。还记得第一次认识学习的linux,其实并不是在window上vmware运行的linux虚拟机,也不是普通的linux主机,还是在偶然下载了termux软件上

一看,哇,多了好多新功能,用起来更方便了,居然还能把平板变为一个Linux桌面。好家伙,这我得整上一台。

使用起来,目前感觉和普通的Linux系统没啥两样,Linux上编译好的软件包也可以直接拖到平板上跑,也不需要ROOT。算是外带神机了。可惜一些需要Linux Root权限的应用就不太可能跑起来,要跑也是要termux原生环境那跑而不是proot容器内部。

后面就只是些折腾的碎碎念。

github上下载termux, termux-x11, termux-api,小企鹅输入法这4个apk包安装。

打开termux, 在termux里安装sshd, 方便文件的传输。安装termux-service(好像是这个名字吧),设置打开自启。有一说一,我也不太习惯用这个启动项管理器,于是后面就找了个joker项目,改改里面的代码写了一个简单好用的启动项管理器

在github上找到tome-linux项目,根据运行tome-linux.sh,安装Ubuntu-22.04。安装过程有点慢,主要是机子CPU不太好(已经把晓龙662性能全榨干了也都这样了)。桌面环境装xfce或者kde(机子好装kde, 不好装xfce, 其他桌面环境有的我没用过, 有的体验感糟糕pass掉。我选择装了xfce)其中所有有关X11, VNC的项目没必要装,因为termux-x11这玩意的体验比上面那写远程桌面协议舒服很多。

安装好后,进入Ubuntu-22.04-proot容器内部,输入startxfec,看看有没有啥反映。没有的话敲debian-i去重装就好。

找一个蓝牙键鼠连接平板,方便后面操作。

Ubuntu-22.04-proot内部安装sshd, 方便文件传输。另外有点奇怪的是通过apt安装的openssh-server, dropbear没一个能跑。后面只能找自己以前电脑上的dropbear-2016源码编译安装。而且还跑不了证书登陆,于是就只能跑密码登陆了。

修改/etc/profile, 添加下面两行

export XDG_RUNTIME_DIR=/run/user/$(id -u)
export DISPLAY=':2'

修改/etc/passwd文件,把root里面的登陆用shell改为bash(这个zsh)卡得要死,卸了

通过debian-i或者apt去里面装些想装的软件, 这样容器环境就差不多搭好了。

exit回到termux原生环境,安装apt install termux-x11-nightly(应该是这个应用名把,不是的话apt search一下找找) 。输入tmoe ls, 挂载tmp文件夹(termux-x11运行的条件之一)。

改改$PREFIX/var/server/tx11里面的启动命令,改为exec termux-x11: 2,之后敲sv-enable tx11设置自启

安装screen用于容器包活。这个proot容器有个特点就是,只要没有终端存在,就会把所有杀死所有容器内部的进程。所以我们需要一个虚拟终端来保证容器能持久运行

回到安卓环境,停止termux后重新进入,敲下列代码

screen -S "ub-xfce" -X quit
screen -pipe "ub-xfce"
screen -dmS "ub-xfce" /bin/bash -c "exec /bin/bash"
screen -S "ub-xfce" -X stuff "debian\n"
screen -S "ub-xfce" -X stuff "startxfce4\n"

回到安卓环境,打开termux:x11软件,等大概3分钟(启动挺慢的,但超过5分钟没反应那就是环境没搭好),就应该会有桌面环境了。打开termux:x11的设置选项,在output里设置Screen orientationlandscape,关闭Reseed screen while soft keyboard is open。在keyboard里打开所有开关,进入Show additional keyboard,调整Opacity of extra keys bar, %为10(这里是调整下框栏的透明度)

退出termux:x11,回到安卓环境,修改输入法为小企鹅输入法,重进termux:x11软件,按右下角的键盘图标,敲一下蓝牙键盘的shirt键(没反应重复10次),理论上就会有中文输入法了。按下键盘shirt键切换中英文。

这样就差不多搭好一切了,这次折腾还挺累的,后面再摸索摸索些新玩意。