工作流全部迁到 WSL:编辑、编译、提交、工单都在 WSL 内完成
用户原话:「不要。我希望全部在 wsl 完成。因为现在有点乱,我之所以希望在 wsl 完成,是因为现在工作太多,弄的我的 windows 很乱,wsl 类似一个虚拟环境, 不会影响我的 windows 系统,如果有问题,可以很容易重置,所以我才希望全部 在 wsl 完成。你需要想想办法,把工作全部放在 wsl 上。」
之前的分工是「Windows 改代码 + 两边都编」:
这是「乱」的根源:同一个项目两份工作副本,中间文件散落。
~/code/ouc_latex_template
\\wsl$\...
发行版名是 Ubuntu-26.04(不是常见的 Ubuntu / Ubuntu-22.04,需注意)。
\\wsl$\Ubuntu-26.04\home\yongquan\code\ouc_latex_template
实测 Read / Write / Edit 三个文件操作工具都能直接作用于该路径, 写入内容在 WSL 侧 cat 得到验证。延迟:读 63ms / 列目录 49ms / 写 6ms。
cat
⇒ 不需要「本地编辑 → scp 同步」这套中间环节。
bash build.sh all → 13/13 通过,0 失败。 页数与 Windows 侧历史记录逐个一致。
bash build.sh all
git 已配 user.name/email,credential.helper=store 指向 ~/.git-credentials(含 token),git fetch 实测通过。
credential.helper=store
~/.git-credentials
git fetch
gi.py 是纯标准库脚本,无第三方依赖。整体复制到 ~/.local/bin/gi.py,配置复制到 ~/.config/ouc-latex/gitea.json (chmod 600),gi whoami 实测通过。
gi.py
~/.local/bin/gi.py
~/.config/ouc-latex/gitea.json
gi whoami
建独立 venv ~/.venv-latex,装了 pymupdf 2.0 + fonttools 4.68.0。 不污染系统 Python。PDF 字体核对、几何测量等脚本改用它。
~/.venv-latex
WORKFLOW.md
完整说明:为什么在 WSL、目录位置(含 UNC 路径)、日常命令、 编辑方式、PDF 不提交的原因、已知告警清单、环境重建步骤。
build.sh
原版是「Windows 侧通过 ssh 远程调 WSL 编译,再 scp 取回 PDF」, 在 WSL 内跑没意义。新版:
.sty
../fonts/
all
verify_all.sh
SILENT=1
~/.config/ouc-latex/env.sh
gi
ouccd
texbuild
~/.bashrc
D:\Yongquan\backup\ouc_latex_template-win-backup-20261029.tar.gz
fb7c76b
git push
6819d78
本工单 #21 本身就是在 WSL 内用 gi 建的,随后在 WSL 内 commit、push, 全程没碰 Windows 侧的命令行。工具链已实证。
1. UNC 路径双向读写 —— 这是方案成立的基础
Read / Write / Edit 三个文件工具都能直接作用于该路径。写入后 WSL 侧 cat 得到正确内容。延迟:读 63ms / 列目录 49ms / 写 6ms。 ⇒ 不需要「Windows 编辑 → scp 同步到 WSL」这套中间环节。
⚠️ 发行版名是 Ubuntu-26.04,不是常见的 Ubuntu 或 Ubuntu-22.04。 UNC 路径写错名字会整个目录不存在。用 wsl -l -v 查当前名。
Ubuntu-26.04
Ubuntu
Ubuntu-22.04
wsl -l -v
2. WSL 内 TeX 完整可用 —— bash build.sh all → 13/13 通过,0 失败
3. WSL 内 git 可直接推送 —— credential.helper=store 已指向 含 token 的 ~/.git-credentials,fetch/push 实测通过
4. gi.py 可迁 —— 纯标准库(argparse/io/json/os/re/subprocess/sys/ urllib),无第三方依赖,复制即用
5. Python 依赖 —— 建独立 venv ~/.venv-latex, 装 pymupdf 2.0 + fonttools 4.68.0,不污染系统 Python
新增 WORKFLOW.md 为什么在 WSL、目录位置(含 UNC 路径)、日常命令、编辑方式、 PDF 不进版本库的原因、已知告警清单、环境重建步骤。
build.sh 重写为 WSL 原生 原版是「Windows 通过 ssh 远程调 WSL 编译,再 scp 取回 PDF」, 在 WSL 内跑毫无意义。新版去掉全部 ssh/scp,改为直接本地编译:
WSL 侧环境(不入库,属个人配置)
总数 13 | 通过 13 | 失败 0
页数与 Windows 侧历史记录逐个一致。3 处告警均为既有问题,非回归。
备份:D:\Yongquan\backup\ouc_latex_template-win-backup-20261029.tar.gz (49MB / 244 项 / 不含 .git)
删除前已确认:两端 HEAD 均为 fb7c76b、无未推送提交、无 stash。 备份保留不删。
# 从 Windows 连进 WSL wsl # 进仓库 ouccd # 编译(自动两遍) bash build.sh 试卷 试卷题型示例 # 全库 bash build.sh all # 提工单 / 关单 gi context gi new --title-file /tmp/t.md --body-file /tmp/req.md gi close 21 --comment-file /tmp/done.md
Windows 上想看 PDF:直接双击 \\wsl$\Ubuntu-26.04\home\yongquan\code\ouc_latex_template\试卷\试卷题型示例.pdf
\\wsl$\Ubuntu-26.04\home\yongquan\code\ouc_latex_template\试卷\试卷题型示例.pdf
No dependencies set.
The note is not visible to the blocked user.
工作流全部迁到 WSL:编辑、编译、提交、工单都在 WSL 内完成
用户诉求
用户原话:「不要。我希望全部在 wsl 完成。因为现在有点乱,我之所以希望在
wsl 完成,是因为现在工作太多,弄的我的 windows 很乱,wsl 类似一个虚拟环境,
不会影响我的 windows 系统,如果有问题,可以很容易重置,所以我才希望全部
在 wsl 完成。你需要想想办法,把工作全部放在 wsl 上。」
现状问题(用户说的「乱」)
之前的分工是「Windows 改代码 + 两边都编」:
这是「乱」的根源:同一个项目两份工作副本,中间文件散落。
目标
~/code/ouc_latex_template\\wsl$\...UNC 路径)技术可行性(已实测)
1. UNC 路径能双向读写 WSL 文件
发行版名是 Ubuntu-26.04(不是常见的 Ubuntu / Ubuntu-22.04,需注意)。
实测 Read / Write / Edit 三个文件操作工具都能直接作用于该路径,
写入内容在 WSL 侧
cat得到验证。延迟:读 63ms / 列目录 49ms / 写 6ms。⇒ 不需要「本地编辑 → scp 同步」这套中间环节。
2. WSL 内 TeX 可完整编译全库
bash build.sh all→ 13/13 通过,0 失败。页数与 Windows 侧历史记录逐个一致。
3. WSL 内 git 可直接推送
git 已配 user.name/email,
credential.helper=store指向~/.git-credentials(含 token),git fetch实测通过。4. 工单工具可迁
gi.py是纯标准库脚本,无第三方依赖。整体复制到~/.local/bin/gi.py,配置复制到~/.config/ouc-latex/gitea.json(chmod 600),
gi whoami实测通过。5. Python 分析依赖
建独立 venv
~/.venv-latex,装了 pymupdf 2.0 + fonttools 4.68.0。不污染系统 Python。PDF 字体核对、几何测量等脚本改用它。
实现内容
新增
WORKFLOW.md完整说明:为什么在 WSL、目录位置(含 UNC 路径)、日常命令、
编辑方式、PDF 不提交的原因、已知告警清单、环境重建步骤。
重写
build.sh为 WSL 原生版原版是「Windows 侧通过 ssh 远程调 WSL 编译,再 scp 取回 PDF」,
在 WSL 内跑没意义。新版:
.sty的../fonts/是相对编译目录解析的)all转给verify_all.shSILENT=1输出紧凑表格,便于脚本消费WSL 侧环境固化(不入库,属于个人环境)
~/.config/ouc-latex/env.sh—— 固定 OUC_PY / GI / WB_GITEA_CONFIG /OUC_REPO,提供
gi/ouccd/texbuild别名~/.bashrc末尾 source 该文件Windows 侧清理
D:\Yongquan\backup\ouc_latex_template-win-backup-20261029.tar.gz(49MB,244 项,不含 .git)
fb7c76b,无未推送提交、无 stash验收标准
bash build.sh all→ 13/13 通过gi whoami→ token 有效、仓库识别为 ouc_latex_templategit push→ 成功WORKFLOW.md写清全部路径与命令不做
已完成,提交
6819d78(全程在 WSL 内完成)核心结论:全部可行,不需要妥协
gi.pygi本工单 #21 本身就是在 WSL 内用
gi建的,随后在 WSL 内 commit、push,全程没碰 Windows 侧的命令行。工具链已实证。
关键技术前提(都实测过,不是推断)
1. UNC 路径双向读写 —— 这是方案成立的基础
Read / Write / Edit 三个文件工具都能直接作用于该路径。写入后
WSL 侧
cat得到正确内容。延迟:读 63ms / 列目录 49ms / 写 6ms。⇒ 不需要「Windows 编辑 → scp 同步到 WSL」这套中间环节。
⚠️ 发行版名是
Ubuntu-26.04,不是常见的Ubuntu或Ubuntu-22.04。UNC 路径写错名字会整个目录不存在。用
wsl -l -v查当前名。2. WSL 内 TeX 完整可用 ——
bash build.sh all→ 13/13 通过,0 失败3. WSL 内 git 可直接推送 ——
credential.helper=store已指向含 token 的
~/.git-credentials,fetch/push 实测通过4. gi.py 可迁 —— 纯标准库(argparse/io/json/os/re/subprocess/sys/
urllib),无第三方依赖,复制即用
5. Python 依赖 —— 建独立 venv
~/.venv-latex,装 pymupdf 2.0 + fonttools 4.68.0,不污染系统 Python
改动
新增
WORKFLOW.md为什么在 WSL、目录位置(含 UNC 路径)、日常命令、编辑方式、
PDF 不进版本库的原因、已知告警清单、环境重建步骤。
build.sh重写为 WSL 原生原版是「Windows 通过 ssh 远程调 WSL 编译,再 scp 取回 PDF」,
在 WSL 内跑毫无意义。新版去掉全部 ssh/scp,改为直接本地编译:
.sty的../fonts/相对编译目录解析)试卷有两个主文件须显式指定、简历不能拿 ls 第一个 .tex)
all转给verify_all.shSILENT=1输出紧凑表格WSL 侧环境(不入库,属个人配置)
~/.config/ouc-latex/env.sh固定 OUC_PY / GI / WB_GITEA_CONFIG /OUC_REPO,提供
gi/ouccd/texbuild别名~/.bashrc末尾 source~/.local/bin/gi.py+~/.config/ouc-latex/gitea.json(chmod 600)验证:WSL 内全库编译
页数与 Windows 侧历史记录逐个一致。3 处告警均为既有问题,非回归。
Windows 侧清理
备份:
D:\Yongquan\backup\ouc_latex_template-win-backup-20261029.tar.gz(49MB / 244 项 / 不含 .git)
删除前已确认:两端 HEAD 均为
fb7c76b、无未推送提交、无 stash。备份保留不删。
日常怎么用
Windows 上想看 PDF:直接双击
\\wsl$\Ubuntu-26.04\home\yongquan\code\ouc_latex_template\试卷\试卷题型示例.pdf