目录
Proot和Arch Linux ARM是什么
1.事前准备
2.安装Proot Arch Linux基本系统
3.更换Arch Linux软体库镜像站
4.新增一般使用者并给予系统管理者权限
5.安装桌面环境和常用工具
6.设定VNC和音讯伺服器
7.设定时区、中文、输入法
8.安装完成后的登入指令
9.其他使用小技巧
9.1.如果Proot无法输出音效
9.2.从Proot系统存取手机内部储存空间
9.3.备份与还原Proot系统
9.4.使用XWayland伺服器改善图形效能
10.延伸阅读
这篇文章说明如何在Android手机上,使用Termux的proot-distro套件,手动设定一个带有桌面环境的Arch Linux ARM,并可以播放音乐影片和使用桌面Linux的程式。
虽然这篇是写给Arch Linux ARM用的,不过类似概念也可以用在Ubuntu/Debian/Alpine等发行版上。
这个系统需要全程手动打指令安装,这样会对系统有更多认识。懒的手动设定的请改用一键安装指令稿:安装Termux Proot-distro
Proot和Arch Linux ARM是什么
Proot请参见安装Linux Proot-distro
Arch Linux是重视简洁的Linux发行版,要求使用者按自己的需求安装系统,所以安装过程要手动打指令。Arch Linux ARM则是原版Arch Linux(专注于x86架构)的分支,某些x86版的套件ARM这边可能会找不到,但同样有AUR可以用。
1.事前准备
使用Proot前应当有以下认识:
- 很难实现GPU硬体加速
- 容器无经开机程序,无法使用Systemd系统服务
- 手机建议至少有10GB的储存空间和4GB以上RAM。
1.请先阅读: Termux基础教学
2.接着安装RealVNC Viewer
3.如果手机是Android 12以上版本,务必停用Phantom Process Killing防止出现signal 9错误。
2.安装Proot Arch Linux基本系统
Termux执行时通知栏下滑,按ACQUIRE WAKELOCK使其保持在背景执行。
1.首先,安装proot-distro、Pulse Audio、vim
pkg update
pkg install proot-distro pulseaudio vim
2.查看线上可用的Linux发行版
proot-distro list
3.安装Arch Linux
proot-distro install archlinux
4.下载后使用以下指令登入Arch Linux:
proot-distro login archlinux
5.更新系统套件,输入y确认更新。
pacman -Syu
6.要退出Proot系统,请输入exit登出。
3.更换Arch Linux软体库镜像站
此为选择性步骤。到Arch Linux ARM官网找一个镜像站加快下载速度。
1.例如使用*国内的镜像。用vi编辑/etc//mirrorlist:
vi /etc//mirrorlist
2.将Server=取消注解。
3.修改后再更新一次系统
pacman -Syu
4.新增一般使用者并给予系统管理者权限
1.先给root变更密码
passwd
2.新增一般使用者ivon,将其加入wheel群组,再修改密码
pacman -S sudo vim
useradd -m -g users -G wheel,audio,video,storage -s /bin/bash ivon
passwd ivon
3.赋予一般使用者帐户系统管理者权限。用vi编辑/etc/sudoers, 在"root ALL=(ALL) ALL"的下一行加入以下内容:
ivon ALL=(ALL) ALL
4.接着登入ivon这个帐号。以后都是使用一般使用者帐号登入系统,不要使用root。
su ivon
cd
5.用vi编辑~/.profile,加入以下内容
#登入时启动Pulse Audio
export PULSE_SERVER=127.0.0.1 && pulseaudio --start --disable-shm=1 --exit-idle-time=-1
5.安装桌面环境和常用工具
1.安装Firefox、中文字体、SSH、TigerVNC
sudo pacman -S vim firefox networkmanager xorg xorg-server pulseaudio noto-fonts-cjk git openssh fakeroot base-devel tigervnc neofetch
2.安装yay作为AUR Helper,需要花点时间编译
sudo pacman -S --needed git base-devel && git clone / && cd yay && makepkg -si
3.编辑/etc/ , 将MAKEFLAGS="-j2"取消注解,并将-j后面的数字改成手机处理器核心数的二倍,加快AUR套件的编译速度。
4.再来安装桌面环境。XFCE4是轻量与实用的选择:
sudo pacman -S xfce4 xfce4-goodies lightdm
5.如果要装KDE Plasma也是可以,Linux允许存在多个桌面环境,只不过Plasma很肥。
6.设定VNC和音讯服务器
在Proot环境中,系统不会【开机】,因此存取图形界面最简单的方法就是执行VNC伺服器,然后再启动VNC Viewer APP连线到桌面环境。甚至你可以用同一网路下的电脑VNC客户端远端登入手机。 至于音讯部分,Termux本身有PulseAudio的套件,因此只要设定一下便可用Termux来接收Proot内部的音效。
1.建立六位数vnc密码
vncpasswd
2.用vim编辑vnc设定档~/.vnc/config,加入以下内容:
#桌面工作阶段
session=xfce4
#荧幕解析度
geometry=1920x1080
#只有本机的VNC客户端可以连线
localhost
3.编辑vnc启动档~.vnc/xstartup,设定执行vncserver后执行xfce4:
#!/bin/bash
unset SESSION_MANAGER
unset DBUS_SESSION_BUS_ADDRESS
# 自动启动Pulse Audio
export PULSE_SERVER=127.0.0.1 && pulseaudio --start --disable-shm=1 --exit-idle-time=-1
# 执行XFCE4
dbus-launch --exit-with-session startxfce4
4.赋予执行权限
chmod +x ~/.vnc/xstartup
5.从萤幕左边滑出来点New Session, 开第二个Termux终端机。用vim编辑.profile,加入以下内容:
# 启动Termux时也自动启动Pulse Audio伺服器
pulseaudio --start --load="module-native-protocol-tcp auth-ip-acl=127.0.0.1 auth-anonymous=1" --exit-idle-time=-1
pacmd load=module module-native-protocol-tcp auth-ip-acl=127.0.0.1 auth-anonymous=1
6.输入exit返回Proot的终端机。
7.设定时区、中文、输入法
RealVNC Viewer可以直接用手机键盘输入文字,但若外接键盘就需要安装中文输入法。
1.因为没有systemd,使用软连结设定时区*台北
sudo ln -sf /usr/share/zoneinfo/Asia/Taipei /etc/localtime
2.用vim编辑/etc/hostname 和/etc/hosts,给主机取名,将loaclhost替换掉。
3.用vim编辑/etc/档案,将zh_TW.UTF-8取消注解。
4.然后生成语言设定档
sudo loacle-gen
sudo echo"LANG=zh_TW.UTF-8" >> /etc/
5.如果还是没看到中文,在~/.profile 加入以下参数:
LANG=zh_TW.UTF-8
LC_CTYPE=zh_TW.UTF-8
LC_NUMERIC=zh_TW.UTF-8
LC_TIME=zh_TW.UTF-8
LC_COLLATE=zh_TW.UTF-8
LC_MONETARY=zh_TW.UTF-8
LC_MESSAGES=zh_TW.UTF-8
LC_PAPER=zh_TW.UTF-8
LC_NAME=zh_TW.UTF-8
LC_ADDRESS=zh_TW.UTF-8
LC_TELEPHONE=zh_TW.UTF-8
LC_MEASUREMENT=zh_TW.UTF-8
LC_IDENTIFICATION=zh_TW.UTF-8
LC_ALL=
6 安装Fcitx5和新酷音
sudo pacman -S fcitx5-config-qt fcitx-chewing fcitx5-qt fcitx5-gtk fcitx5-chinese-addons
7.在~/.profile 加入以下内容:
GTK_IM_MODULE=fcitx
QT_IM_MODULE=fcitx
XMODIFIERS=@im=fcitx
SDL_IM_MODULE=fcitx
GLFW_IM_MODULE=ibus
8.下次登入Proot后,在应用程式列表启动Fcitx5,对右上角应用程式匣的键盘图示按右键,新增新酷音输入法。
8.安装完成后的登入指令
在安装完成后,退出termux再重新启动应用程式。
以后登入Arch Linux的步骤如下。
1.启动Termux,直接以ivon这个使用者登入Arch Linux。
proot-distro login --user ivon archlinux
2.启动vncserver,通讯埠预设从5900开始算,像:1的通讯埠是5901。
vncsever :1
3.开启RealVNC Viewer,新增连线输入localhost:5901,输入密码,连线到vncserver。
4.点选i,调整连线画质。画面太小的话开启左上角XFCE4系统设定→外观→调整字体DPI。另外建议在系统设定停用XFCE的荧幕锁定和荧幕保护程式,因为无法解锁。
5.要登出的话, VNC Viewer按返回断线,接著回到Termux内按CTRL+Z终止vncserver,然后输入exit登出proot。
9.其他使用小技巧
9.1.如果Proot无法输出音效
1.在Proot-distro内以一般使用者执行:
export PULSE_SERVER=127.0.0.1 && pulseaudio --start --disable-shm=1 --exit-idle-time=-1
2.在Termux(非proot内)执行:
pulseaudio --start --load="module-native-protocol-tcp auth-ip-acl=127.0.0.1 auth-anonymous=1" --exit-idle-time=-1
pacmd load-module module-native-protocol-tcp auth-ip-acl=127.0.0.1 auth-anonymous=1
9.系统存取手机内部储存空间
Proot-distro会把手机内部储存空间bind mount到proot系统的/sdcard目录,可直接用XFCE内建的Thunar档案管理员存取。
9.3.备份与还原Proot系统
使用此指令备份proot系统成压缩档:
proot-distro backup --output archlinux
使用此指令还原proot系统:
proot-distro restore
9.4.使用XWayland服务器改善图形效能
VNCServer只要播放影片就会有延迟高的问题,所以我们可以改用更为原生的方案改进图形效能。更进一步来说,还可以试试GPU硬体加速。
详情参考:Termux X11:手机上的XWayland伺服器使用教学
10.延伸阅读
Proot-distro在Github上的说明
Arch Linux Wiki