借助开源之力解决应用生态问题。
容器是啥?按照 RedHat 的说法就是“巧容万象,赋能利器”。
安装
Chroot
如果你觉得自己动手能力很强,可以自己 bootstrap 。不过为了方便,这里我们以 Linux Deploy 为例,使用 Chroot 容器。需要 root 权限。
如果不确定你的设备有没有预装 Chroot 工具,建议安装 Busybox ,它可以提供 Chroot 。
安装好 Linux Deploy ,打开即可看到如下界面。
这里介绍第三步,配置安装选项。点击右下设置图标……
Debian 对 ARM 支持较好,使用也较简单,所以这里选择 Debian 。架构选择与设备的 CPU 架构一致。(现在大家手里绝大部分都是 arm64 了吧?)
版本我选择的是稳如Poi的 stable (反正以后还可以更新)。
源地址笔者这里最快的是清华源, http://mirrors.tuna.tsinghua.edu.cn/debian
。为什么截图中有 https ?这是安装好 APT 的 HTTPS 支持 (apt-transport-https
和 ca-certificates
)之后改的。
安装类型默认是镜像文件。但为了方便我创建了 /data/chroot 目录,设置成了安装位置。
用户名和密码自己改;本地化这里选择了中文区域(VNC 时需要中文字体,我用的是 fonts-wqy-zenhei
)。
初始化系统,即 init 。我只会用 systemd 和 openRC 所以没开
启用 SSH ;启用 VNC ,这里选择了轻量的 Xfce 。在手机上分辨率建议调低点。我设置的分辨率为 1366×768 ,DPI 150 。
回到 Linux Deploy 主界面,选择右上角菜单 -> 安装。Linux Deploy 会自动为你 bootstarp 一个 Debian ,静待片刻,在 Linux Deploy 中要做的事基本就完成了。
PRoot
如果你没有 root 权限,或者觉得 Linux Deploy 太恐怖了……
UserLAnd 会无私地帮助你。
为了证明它真的能运行,我找了台……
滑为稽,滑稽中的战斗……咳咳,这段 UserLAnd 就是用它运行。
UserLAnd 默认的主界面,陈列着常用的发行版或应用。
这里我选择了 Debian ,选择 SSH 连接,设定用户名和密码,它就会自动下载配置好的 rootfs 。在国内这个过程比较长,最好让它保持亮屏——免得激进的系统优化策略自动断网。
当你看到关于解压的信息,说明配置即将完成。UserLAnd 内建有 SSH 客户端,输入密码即可登录。
如果下一步要安装桌面环境,建议先为 APT 设置一个镜像源。退出 SSH ,长按「会话」中高亮的会话,点击停止(写这篇教程时 UserLAnd 还不能同时开启多个会话)。在「应用」列表选择你想要的桌面环境,这里以 Xfce 为例。如果安装了 freebVNC 之类的 VNC 客户端,图形界面会自动连接,可以看到安装进度。完成后,按照提示断开 VNC 连接,重启会话。对,就是这么简单。
UserLAnd 的弊端?
既然使用 PRoot 容器,与 Chroot 的区别肯定不是没有。
由于没有 root 权限,某些系统信息可能无法读取。
以及,由于操作逻辑简单,目前在 UserLAnd 应用中可配置的选项极少……如果觉得 UserLAnd 过于简单,试试 AnLinux 如何?
安装完之后玩什么?
(以 Linux Deploy 安装的系统为例,正常情况下 UserLAnd 会自动连接 VNC 或者 SSH 。)
盯着管理页面可没意思啊。启动容器,用 VNC 或者 SSH 连接吧。
推荐 freebVNC 。
第一次登录时 Xfce 会询问你选择“默认配置”还是使用空面板。如果你没预先安装字体包并且使用了中文区域,看到的应该是乱码。左侧按钮选择“默认配置”,右侧当然就是空面板了。
不知道如何安装中文字体包?打开终端,输入 sudo apt install fonts-wqy-zenhei -y
。
sudo
让命令以 root 权限(当然是容器里的)运行;apt
是 Debian 的包管理器;install
即安装;-y
表示自动确认。
修改默认 Shell
默认使用的是 dash
。改成别的如何?用 chsh
命令修改,例如改成 bash
就是/bin/bash
。
安装 Xfce4 面板插件
xfce4-whiskermenu-plugin
,它提供了更现代化的应用程序菜单。
xfce4-weather-plugin
,显示天气。还蛮好用。
xfce4-cpugraph-plugin
,以直观的图像显示 CPU 使用率。
编程开发
geany
,轻快的 IDE ,作为 OIer 我很喜欢。
(为了截图方便同样用了电脑连接。)
浏览器
Debian Stable 的火狐只有 firefox-esr
,安装的时候注意一下就好。如果你喜欢更自由的,试试 Iceweasel 。
不过既然没有图形硬件加速(毕竟它是容器),视频和游戏就不要想了。
图像处理
inkscape
,还有gimp
。
图为用 Inkscape 打开 Telegram 背景图像的矢量图。
图坏了,找不到原图了
图像处理软件 GIMP 。不过用 Helio P10 跑还是很吃力,处理水像素特效的时候 CPU 全满了有一会。
水像素效果示例,新鲜出炉完全用 Helio P10 转换。在电脑上我一般用它打码……
中文输入
fcitx
和 libpinyin
安装之后,不知为何没有自动设定环境变量。我只好改了 .xinitrc
文件。在前面加上三句:
GTK_IM_MODULE=fcitx
QT_IM_MODULE=fcitx
XMODIFIERS=@im=fcitx
不知 Fcitx 是否自启动,总之我也在启动项里手动创建了 Fcitx 。
这样我们就能输入中文了。
学习化学?
使用 kalzium
的你一定是老师眼中的好学生。
写在最后
即便容器如此强大,甚至将来 Termux 也拥有了大量的软件包(Termux 的图形支持硬件加速,从可以开窗口管理器混成就能看出来。可惜软件包太少),我相信手机也不会取代笔记本电脑。但占用些空间安装一个容器,也许就能解决在外急需使用桌面应用的窘迫呢?