当前位置: 首页 > news >正文

我在Android手机运行了Tex Live

时间2026年6月22日,小米9已root运行Xelatex
ubuntu chroot版本v4.4,作者:ravindu644
SElinux permissive版本v3.1,作者:Denis Efremov(@evdenis)
系统Project Infinity X cepheus
链接https://xdaforums.com/t/eol-rom-16-cepheus-retrofit-unofficial-infinity-x-19-01-26.4772397/(内置kernels,官方没有以LKM方式(.ko)提供KernelSU,而是直接编译进内核了(Built-in模式),kernelsu-next版本v1.1.1)
使用(动态分区)OrangeFox-R12.1_0-retrofit-cepheus-20240629.img刷,第三方recovery刷入
我在营火虫官方小米9那里找到的,地址:
https://www.yhcres.top/
已备份基带

1. “先解除root身份再完整install?” → 千万不要!
在 chroot 环境里,必须用 root 身份安装。因为安装软件包需要写入 /usr/bin、/etc 等系统目录,普通用户没有权限。而且这是在 Ubuntu chroot 容器里操作,完全隔离,不会影响你小米9的主系统(类原生)。放心用 root@ubuntu:~# 这个身份直接装,别退出。

2. “ubuntu一般不用换源” → 在中国大陆,这句话是“美丽陷阱”!
默认源(archive.ubuntu.com)服务器在国外,你接下来要下载的 texlive-full 完整版有 1.5GB 左右。不换源直接装,下载速度可能只有 几十KB/s,大概率会超时断连,浪费一两个小时直接失败。

不用清华源,中科大,我在广西

中科大源(mirrors.ustc.edu.cn)是国内最老牌、最稳定的开源镜像之一,对教育网用户尤其友好,并且支持 HTTP/HTTPS/RSYNC 等多种协议。虽然地理上离广西不是最近,但国内骨干网带宽充足,速度绝对比默认的国外源快得多。

⚠️ 重要提示:下面的命令适用于 Ubuntu 24.04 (Noble)。如果你的 chroot 是其他版本(如 22.04 Jammy),需要将命令中的 noble 替换为你的版本代号(查看命令:cat /etc/os-release)。
执行root@ubuntu:~# cat /etc/os-release
得到
PRETTY_NAME="Ubuntu 24.04.4 LTS"
NAME="Ubuntu"
VERSION_ID="24.04"
VERSION="24.04.4 LTS (Noble Numbat)"
VERSION_CODENAME=noble
ID=ubuntu
ID_LIKE=debian
HOME_URL="https://www.ubuntu.com/"
SUPPORT_URL="https://help.ubuntu.com/"
BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/"
PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy"
UBUNTU_CODENAME=noble
LOGO=ubuntu-logo

最初Ai推荐我1. 一键替换源
命令:
sed -i.bak 's@//.*archive.ubuntu.com@//mirrors.ustc.edu.cn@g' /etc/apt/sources.list

这条命令会自动备份原文件为 sources.list.bak,并用中科大源替换默认官方源。
备份路径在/etc/apt/
你可以cd /etc/apt/
然后ls
得到
sources.list.bak和sources.list

2. 更新软件列表
apt update

这是会报错
虽然中科大的主源(mirrors.ustc.edu.cn)换好了,但你的系统里还藏着两个“龟速”的官方源:
1. ports.ubuntu.com(这是给ARM架构(骁龙855)用的官方源,默认走国外)
2. security.ubuntu.com(安全更新源,也是国外)
再加上两个PPA(launchpad.net),这些国外地址一叠加,1MB/s的网速是正常的。如果不修,接下来下载1.5GB的texlive-full,你得等25分钟以上,还容易断连。
Ai修复一下
404 Not Found 错误,是因为中科大的 ubuntu-ports 镜像暂时没有同步或缺少 Ubuntu 24.04 (noble) 的 arm64 架构软件包。
Ai修复一下
Ubuntu chroot 环境把 CPU 架构识别成了 amd64(x86_64),但小米9的骁龙855是 arm64 架构。
检查CPU架构
dpkg --print-architecture
如果输出是 amd64,就印证了问题。
🛠️ 一键修复(强制切换为 arm64)
1. 彻底重写源列表(arm64 专用)
cat > /etc/apt/sources.list <<EOF
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ noble main restricted universe multiverse
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ noble-updates main restricted universe multiverse
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ noble-backports main restricted universe multiverse
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ noble-security main restricted universe multiverse
EOF
2.强制设置架构为 arm64
dpkg --add-architecture arm64
apt update

Tex Live xxxx,没安装,就检查 Ubuntu 软件源里能装到什么版本。
命令:
apt policy texlive-latex-base
解释:
Ubuntu 24.04 LTS (Noble) 官方源里锁定的是 TeX Live 2023。

不着急安装
APT 仍然在请求 amd64 架构的包,导致 404。虽然 dpkg --print-architecture 显示为 arm64,但 APT 还保留了额外的 amd64 架构,需要手动移除。
# 1. 查看当前 APT 支持的所有架构
dpkg --print-foreign-architectures
如果输出包含 amd64,执行:
# 2. 移除 amd64 架构
我的输出
root@ubuntu:~# dpkg --remove-architecture amd64
得到
dpkg: error: cannot remove architecture 'amd64' currently in use by the database
dpkg 数据库里还残留着 amd64 架构标记,但系统里实际上并没有安装 amd64 的包(因为是 chroot 环境)。我们可以不删除架构,而是让 APT 忽略它,只请求 arm64 的包索引。
# 1. 告诉 APT 只使用 arm64 架构
echo 'APT::Architectures "arm64";' > /etc/apt/apt.conf.d/01architecture

# 2. 清除之前的缓存,避免残留
apt clean

# 3. 重新更新(现在只会请求 arm64 的索引)
apt update

执行后,你会看到所有 Get: 地址都变成 binary-arm64/Packages,不再有任何 amd64 的 404 错误。

📦 然后放心安装 TeX Live
apt install -y texlive-full texlive-xetex biber

如果清华源仍然有问题(极小概率),直接换成阿里云源:
sed -i 's@mirrors.tuna.tsinghua.edu.cn/ubuntu-ports@mirrors.aliyun.com/ubuntu-ports@g' /etc/apt/sources.list
apt update
apt install -y texlive-full texlive-xetex biber

💡 为什么不用 dpkg --remove-architecture?
因为你的 chroot 里可能有一些元数据依赖 amd64(即便没实际装包),强行移除可能破坏包管理状态。而 修改 APT 配置 是更安全、更直接的方法,完全不影响已安装的软件。

安装安成
This may take some time...
done.
Errors were encountered while
processing:
openjdk-21-jre-headless:arm64
openjdk-21-jre:arm64
default-jre-headless
default-jre
E: Sub-process /usr/bin/dpkg returned an error code (1)
root@ubuntu:~#
这个错误是因为安装 texlive-full 时,它依赖的 openjdk-21-jre 包在 arm64 架构下安装失败(可能由于之前的架构混乱导致配置不完整)。

chroot 环境缺少 /proc 文件系统的挂载,导致 Java 包的安装脚本无法执行;但后面我是直接移除报错宏包。Java 包的配置脚本在 chroot 里死活认不出 /proc,但你又完全不需要它。别跟它较劲,直接暴力移除。
# 1. 强制删除 Java 包(不运行任何脚本)
dpkg --remove --force-remove-reinstreq --force-depends openjdk-21-jre-headless openjdk-21-jre default-jre-headless default-jre

# 2. 修复因强制删除导致的依赖残留
apt --fix-broken install

# 3. 彻底清理无用的包和配置
apt autoremove --purge

如果第一步提示找不到某些包,直接执行:
dpkg --remove --force-remove-reinstreq openjdk-21-jre-headless

# 检查几个大型宏包是否存在(完整版特有的)
kpsewhich tikz.sty
kpsewhich biblatex.sty
kpsewhich libertine.sty

希望只生成宏包和字体的清单(列表文件),而不移动或复制任何文件,并将这些清单存放在 /storage/emulated/0/termux_exclusive/ 中,同时为 AI 安装所需的系统字体。这样既节省空间,又能让 AI 通过清单“理解”你的资源位置。

# 1. 创建外部存储目录
mkdir -p /storage/emulated/0/termux_exclusive

# 2. 安装 AI 常用的系统字体(如 Noto CJK、Liberation 等)
apt install -y fonts-noto-cjk fonts-noto-cjk-extra fonts-liberation fonts-dejavu-core

# 3. 生成 TeX Live 宏包完整清单(递归列出所有文件,约几万行,可能需数秒)(不建议)
ls -lR /usr/share/texlive/texmf-dist > /storage/emulated/0/termux_exclusive/宏包清单.txt

# 4. 生成系统字体完整清单(所有字体文件)(不建议)
ls -lR /usr/share/fonts > /storage/emulated/0/termux_exclusive/字体清单.txt

# 5. 可选:生成更简洁的路径列表(只含文件名,不含权限信息)
find /usr/share/texlive/texmf-dist -type f > /storage/emulated/0/termux_exclusive/宏包路径列表.txt
(建议)
find /usr/share/fonts -type f > /storage/emulated/0/termux_exclusive/字体路径列表.txt
(建议)

现在尝试在ssh连接小米9的ubuntu的Tex Live 2023
小米9ubuntu账户
Enter username:不展示1
Enter password for ubuntu:不展示2

打开Forward Chroot Traffic(译:转发 Chroot 流量)
Forward localhost services (VNC,XRDP, SSH) from the chroot to a network interface.
This allows you to access chroot services from other devices on your network.
(译:将本地主机的服务(VNC、XRDP、SSH)从 chroot 环境转发到网络接口。
这使您能够从网络中的其他设备访问 chroot 服务。)
Network Interface(译:网络接口):选wlan0(手机网口)
选Start Forwarding(译:开始转发)
Stop Forwarding

执行
root@ubuntu:~# ifconfig wlan0 | grep inet
得到
inet 192.168.1.183 netmask 255.255.255.0 broadcast 192.168.1.255
inet6 fe80::bcd9:3bff:febe:4137 prefixlen 64 scopeid 0x20<link>
检查 SSH 状态:
执行
root@ubuntu:~# service ssh status
得到
* sshd is not running
Linux一般都有ssh功能
· 如果显示 sshd is running,直接下一步。
· 如果没运行,执行 service ssh start。
没有,运行一下ssh功能
root@ubuntu:~# service ssh start
得到
* Starting OpenBSD Secure Shell server sshd [ OK ]
检查ssh端口
root@ubuntu:~# netstat -tlnp | grep :22
22端口一般默认,于是得到
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 21016/sshd: /usr/sb tcp6 0 0 :::22 :::* LISTEN 21016/sshd: /usr/sb
进主力机Termux执行
ssh -p22 用户名(不展示1)@192.168.1.183

类原生得一直保持亮屏,否则ssh会卡

整体命令
在ubuntu的终端,sudo root身份
cd ~

创建一个名为 Xelatex_manufacture 的专用文件夹,里面放一个编译脚本,完全模拟你原来的操作习惯(自动进入目录、创建空模板、清理临时文件、调用xelatex+biber编译)。
mkdir ~/Xelatex_manufacture

创建一个手机目录存放Xelatex编译
mkdir -p /storage/emulated/0/xelatex编译

cd ~/Xelatex_manufacture

📄 第二步:创建一个空模板文件 ARGD923.tex(方便你用nano编辑)
touch ARGD923.tex
# 或者直接用 nano ARGD923.tex 写入内容

无视风险并编译,生成biber辅助文件,再执行一次编译,使用 bash 扩展通配符(最简洁)把生成好的移到手机目录,官方完整三连编
shopt -s extglob; \
/usr/bin/xelatex --interaction=nonstopmode ARGD923.tex ; \
/usr/bin/biber ARGD923 ; \
/usr/bin/xelatex --interaction=nonstopmode ARGD923.tex ; \
/usr/bin/xelatex --interaction=nonstopmode ARGD923.tex ; \
mv !(ARGD923.tex) /storage/emulated/0/xelatex编译/

后续
普通Termux终端cd到/storage/emulated/0/xelatex编译
清空文件并清理残留
> ARGD923.tex && rm -f ARGD923.{aux,log,out,toc,bbl,bcf,blg,run.xml,pdf,synctex.gz}
但一般mt文件管理就行了

http://www.jsqmd.com/news/1070361/

相关文章:

  • 12个化学AI工具链:用自然语言重构化学研究的工作流
  • 【PC】 桌面便签:PaperTodo 一张纸 v2.0
  • 如何免费修复损坏的二维码:QRazyBox终极解决方案
  • 暗黑破坏神2存档编辑器:5分钟快速上手指南,轻松修改角色装备与属性
  • React Navigation Skills:官方出品的 AI 迁移技能包
  • 如何快速上手STM32 NAND闪存编程器:开源硬件的完整入门指南
  • 景里雨竹|200-300 人 小众活动场地
  • OpenUtau终极指南:免费开源虚拟歌手音乐制作完全教程
  • AISMM Level 4能力跃迁实战手册:用7类真实工业数据集验证的12个量化基线、5个反模式识别矩阵、3套组织适配检查表
  • 如何彻底验证多GPU系统的稳定性?CUDA压力测试实战指南
  • Claude Code配置报错怎么办?401、403、404、429常见原因一次讲清
  • 百考通:AI赋能,全维度覆盖与精细化引导
  • AI组织成熟度不是评级游戏,而是生存门槛(SITS 2026能力建设白皮书核心章节独家释义)
  • 3步解锁VR视频:无需头显,在普通电脑上自由观看360度全景内容
  • 终极剪贴板驱动:5个Super IO高级技巧重塑Blender工作流
  • Navicat密码解密终极方案:高效恢复数据库连接密码的完整指南
  • 计算机毕业设计之jsp基于JAVA的在线药店管理系统的设计与实现
  • 终极视频修复指南:用Untrunc轻松拯救损坏的MP4文件
  • Windows 11系统优化终极指南:开源工具Win11Debloat的完整使用教程
  • 手语AI翻译革命:如何用3行代码构建端到端手语识别系统
  • 熬夜改论文?2026年AI写作辅助软件排行榜权威发布,轻松定稿不是梦!
  • 深度解析国家中小学智慧教育平台电子课本下载工具:技术原理与实战应用
  • 2026年市场风向大变!光伏路灯制造厂将迎来怎样的机遇与挑战?
  • GRETNA 2.0.0:MATLAB环境下的大脑网络图论分析工具包
  • 手到病除创妙术,反射疗疾立新标-记湖南柳奕绿色养生柳才久老师
  • 重新定义Windows任务栏美学:RoundedTB的界面定制艺术
  • Boss-Key:你的数字办公隐形盾牌,一键告别尴尬时刻
  • Gartner 2026 AI曲线三大颠覆性调整:删除2项、升格3项、新增1项“奇点前哨技术”(仅限大会现场签署NDA者获取完整图谱)
  • 资金暂存的底层逻辑
  • AISMM文化种子计划启动(仅开放至2024Q3):含SITS 2026专家团1v1文化审计、定制化文化基因图谱生成