使用 Ubuntu Touch (UBports)

Gao
# 使用 `Ubuntu Touch` Ubuntu Touch是Cannonial 开发的基于Ubuntu的操作系统, 于2017年停止维护, 后由Ubport进行维护. 看了Ubuntu Touch支持的操作系统, 目前能看到性能最好的是`Google Pixel 3a` 购买了一台Pixel 3a安装ubuntu touch ### 安装流程 1. 解锁bootloader ```bash # enable usb debug adb reboot-bootloader # after boot to bootloader fastboot flashing unlock ``` 2. 使用操作系统镜像刷新到操作系统版本 `PQ3B.190801.002` 下载地址: https://developers.google.com/android/images#sargo 3. 安装ubports ```bash brew install ubports ``` 4. 使用ubport安装ubuntu touch 5. 安装成功 ### 使用方式 1. 解锁usb调试模式 - 右滑打开菜单 - System Setting - About - 进入底部Developer Mode - 启用Developer Mode 2. 进入系统 ```bash adb shell # 启用ssh服务 android-gadget-service enable ssh # or service ssh start ``` 3. 启用容器 Ubuntu Touch使用`Libertine`容器来运行服务 ```bash # 显示容器列表 libertine-container-manager list # 创建容器 libertine-container-manager create -i focal -n 'Ubuntu 20.04' -d focal # 在容器中安装软件 libertine-container-manager install-package -p git # 更新容器 libertine-container-manager update -i focal # 运行容器中的程序 libertine-launch -i focal /bin/bash # 进入容器 libertine-container-manager exec -i <container name> -c "/bin/bash" ``` 可以在容器中安装ubuntu软件, 支持ubuntu系统20.04 4. 安装`Erlang`/`Elixir` ```bash cd /tmp wget https://packages.erlang-solutions.com/erlang-solutions_2.0_all.deb dpkg -i erlang-solutions_2.0_all.deb apt-get update apt-get install esl-erlang -y apt-get install elixir -y mix local.hex --force mix local.rebar --force mix archive.install hex phx_new --force ``` 5. 安装`node.js` ```bash curl -sL https://deb.nodesource.com/setup_18.x | bash - apt-get update apt-get install nodejs -y ``` ### Locations For every container you create, two directories will be created: ``` A root directory ~/.cache/libertine-container/CONTAINER-IDENTIFIER/rootfs/ and a user directory ~/.local/share/libertine-container/user-data/CONTAINER-IDENTIFIER/ ``` ### Errors When launch to container, get these error ```bash phablet@ubuntu-phablet:~$ libertine-launch -i focal /bin/bash groups: cannot find name for group ID 32011 ``` Fix: ``` # add line to below to `/etc/passwd` phablet:x:32011:32011:32011:/home/phablet:/bin/bash # add line below to `/etc/group` phablet:x:32011: ```