news 2026/10/2 6:43:57

无sudo权限远程连接Ubuntu服务器安装TeX Live实操记录(适配VS Code+LaTeX Workshop,含路径选择与卸载方案)

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
无sudo权限远程连接Ubuntu服务器安装TeX Live实操记录(适配VS Code+LaTeX Workshop,含路径选择与卸载方案)

1. 无 sudo 权限下 Ubuntu 远程装 TeX Live 到底难在哪

先说结论:在无 sudo 权限的 Ubuntu 远程服务器上装 TeX Live,本身并不难,难的是「路径隔离」和「环境变量不打架」。我见过太多人卡在install-tl默认往/usr/local/texlive写、结果权限被拒,或者装完了 VS Code 里点编译按钮一直报command not found。这篇就把这套流程从头到尾走一遍,适配 VS Code + LaTeX Workshop + Remote-SSH,含路径选择和卸载方案。

核心检索词先摆出来:无 sudo 权限 Ubuntu 远程服务器安装 TeX Live,能做什么?它让你在多人共用一个 SSH 账号、没有 root 的环境里,拥有一套只属于自己的 LaTeX 编译环境,支持 VS Code 里点按钮编译、本地预览 PDF。适合谁?科研党、写论文的学生、需要远程协作写文档但服务器权限受限的开发者。

场景还原一下:服务器是 Ubuntu,无可视化界面,多人共用一个 SSH 账号,你的个人专属文件夹是~/tp。本地用 VS Code,已经装好 Remote - SSH 和 LaTeX Workshop 两个插件。需求很明确——装一套仅自己可用的 LaTeX 环境,不和其他用户的文件、环境变量冲突。

这里有个关键前提必须先讲清楚:安装路径选个人文件夹~/tp还是主目录~。主目录~是当前 SSH 账号的全局共享目录,所有共用这个账号的人都能读写。你把 TeX Live 装到~,别人可能误删你的安装文件、覆盖你的环境变量、甚至编译命令冲突。个人文件夹~/tp是专属私有空间,装在这里能完全隔离,后续卸载迁移也方便,不影响别人。

补充一句:无论装到tp还是主目录,操作逻辑完全一致,只要全程统一路径就行——安装路径、环境变量、VS Code 编译路径三者必须严格对应。本文以~/tp为例,单人使用的话直接装主目录~即可,后面会标注修改点。

2. TaoToken 前置:远程环境里先把模型能力接上

装 LaTeX 环境的过程中,你大概率会遇到各种报错——install-tl卡住、tlmgr找不到包、VS Code 编译路径写错。这时候如果有个能随时问的模型助手,排障效率会高很多。TaoToken 就是干这个的:它是一个大模型 API 聚合平台,把 Claude、GPT 这类模型的调用统一成一个入口,你在远程服务器上也能通过 API 直接调。

为什么在「无 sudo 装 TeX Live」这个场景里要提它?因为整个流程里最耗时的不是敲命令,而是排错。比如install-tl交互界面里TEXDIR改错了、x86_64-linux架构目录名对不上、LaTeX Workshop 的settings.json里command字段路径写错,这些坑一个个搜太慢。接上模型对话能力后,你可以把终端报错直接贴进去问,省掉大量翻文档的时间。

TaoToken 的接入方式很简单,官网在 https://taotoken.net/?utm_source=taotoken_aicg_blog_end&utm_medium=csdn&utm_campaign=rewrite&utm_content= ,API 入口是 https://taotoken.net/api 。如果你只是偶尔问问题,用模型对话就行;如果长期在远程服务器上写代码、跑 Agent,可以考虑 Coding Plan,额度更划算。

具体到配置,你需要在服务器上拿到 API Key,然后把它写进你用的工具里。比如用 Claude Code 的话,配置里要填三件套:Base URL、Key、Model ID。Base URL 填https://taotoken.net/api,Key 从控制台的 API Keys 页面生成,Model ID 按你选的模型填。这三样缺一不可,少一个就会报 401 或者local proxy failed。

这里插一句踩过的坑:很多人以为把 Key 填进去就完事了,结果请求一直失败。排查下来发现是 Base URL 写成了带 UTM 的官网地址,而不是纯 API 地址。记住,API 调用只认https://taotoken.net/api,不要带任何查询参数。另外,如果你在 VS Code 里用 Cline 或者 CC Switch 这类插件,配置逻辑是一样的,都是 Base URL + Key + Model ID 三件套,只是填的位置不同。

拿到 Key 之后,你可以先在终端里用 curl 测一下通不通:

curl https://taotoken.net/api/v1/chat/completions \ -H "Authorization: Bearer $TAOTOKEN_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "model": "claude-3-5-sonnet", "messages": [{"role": "user", "content": "TeX Live 安装到用户目录后 pdflatex 找不到怎么办"}] }'

返回里有choices字段就说明通了。这一步验证完,后面装 TeX Live 遇到问题就能随时问。

3. 可复制配置:从 install-tl 到 settings.json 全流程

这一节是核心,全程在远程 Ubuntu 服务器终端执行,通过 VS Code 的 Remote - SSH 连上后打开终端即可。核心思路:创建目录 → 下载安装包 → 私有目录配置安装 → 环境变量配置 → VS Code 编译路径适配 → 测试验证。

3.1 创建专属目录并下载安装包

先进入个人tp文件夹,创建临时安装目录,确保所有操作都在私有空间内:

cd ~ mkdir -p tp && cd tp mkdir -p texlive_install && cd texlive_install wget https://mirrors.tuna.tsinghua.edu.cn/CTAN/systems/texlive/tlnet/install-tl-unx.tar.gz tar -xzf install-tl-unx.tar.gz cd install-tl-*

国内服务器优先用清华源,下载快。国外服务器可以换官方源https://mirror.ctan.org/systems/texlive/tlnet/install-tl-unx.tar.gz,但速度慢。

3.2 交互式配置并安装

执行./install-tl进入主配置菜单。关键操作顺序:

输入D进入目录配置子界面,输入1选中TEXDIR,终端提示New value for TEXDIR [/usr/local/texlive/2025]:,直接输入~/tp/texlive回车。路径确认后终端会刷新,TEXDIR变成/home/ubuntu/tp/texlive,TEXMFLOCAL、TEXMFSYSVAR、TEXMFSYSCONFIG会自动适配为子目录。

确认无误后输入R返回主菜单,输入S进入安装方案选择,默认a [X] full scheme(完整版约 9G),按需选a/b/c/d,选完输入R返回,最后输入I开始安装。基础版约 10-30 分钟,完整版约 1-2 小时,看到TeX Live installation complete即成功。

3.3 环境变量配置

编辑~/.bashrc(zsh 用~/.zshrc),在末尾追加:

export PATH="$HOME/tp/texlive/bin/x86_64-linux:$PATH" export MANPATH="$HOME/tp/texlive/texmf-dist/doc/man:$MANPATH" export INFOPATH="$HOME/tp/texlive/texmf-dist/doc/info:$INFOPATH"

保存后source ~/.bashrc,然后pdflatex --version验证。如果报command not found,进~/tp/texlive/bin看架构目录名,arm64 服务器可能是aarch64-linux,替换掉x86_64-linux即可。

3.4 VS Code + LaTeX Workshop 配置

在远程窗口按Ctrl+,打开设置,搜LaTeX Workshop: Latex Tools,点「编辑 in settings.json」,写入以下片段:

{ "latex-workshop.latex.tools": [ { "name": "xelatex", "command": "$HOME/tp/texlive/bin/x86_64-linux/xelatex", "args": ["-synctex=1", "-interaction=nonstopmode", "-file-line-error", "%DOC%"] }, { "name": "pdflatex", "command": "$HOME/tp/texlive/bin/x86_64-linux/pdflatex", "args": ["-synctex=1", "-interaction=nonstopmode", "-file-line-error", "%DOC%"] }, { "name": "bibtex", "command": "$HOME/tp/texlive/bin/x86_64-linux/bibtex", "args": ["%DOCFILE%"] } ], "latex-workshop.latex.autoBuild.run": "onSave", "latex-workshop.view.pdf.external.enable": true, "latex-workshop.view.pdf.external.command": { "command": "open", "args": ["%PDF%"] } }

注意command字段必须写完整路径,不要依赖系统环境变量,否则多人共用账号时容易被别人的环境覆盖。保存后立即生效。

4. 验证请求:编译一个中文测试文档

配置完别急着写正式文档,先建个test.tex验证。在~/tp下新建文件,粘贴:

\documentclass{article} \usepackage{ctex} \title{TeX Live 安装测试(个人文件夹 tp)} \author{远程 Ubuntu 服务器编译测试} \date{\today} \begin{document} \maketitle 这是无 sudo 权限下,远程连接 Ubuntu 服务器安装到 ~/tp 个人文件夹的 TeX Live 测试文档。 支持 VS Code 通过 LaTeX Workshop 点击按钮编译,本地预览 PDF,中文显示正常。 \end{document}

点 VS Code 右上角的运行按钮,选XeLaTeX。底部状态栏显示Build successful,同时~/tp下生成test.pdf,就说明整条链路通了。点左侧 LaTeX Workshop 面板的View PDF可以本地预览,支持代码与 PDF 跳转。

如果你在终端里想直接验证,也可以跑:

cd ~/tp xelatex -synctex=1 -interaction=nonstopmode test.tex

输出里有Output written on test.pdf就成功了。这一步同时验证了三件事:TeX Live 装好了、环境变量生效了、VS Code 配置路径对了。

5. 本篇常见错排查:401、local proxy failed、reading choices、OAuth

排错这块我按真实报错来对照,你遇到哪个直接对号入座。

command not found:最常见。原因是安装路径、环境变量、VS Code 编译路径三者不一致,或者架构目录名写错。执行which pdflatex看系统识别的路径,和settings.json里的command对比,不一致就改。如果which无输出,说明环境变量没生效,重新检查~/.bashrc里的路径。

401 Unauthorized:如果你在远程环境里接了模型 API 来辅助排障,这个报错说明 Key 不对或没带上。检查Authorization: Bearer后面的 Key 是否完整,Base URL 是否是https://taotoken.net/api而不是带 UTM 的官网地址。Key 要去控制台的 API Keys 页面重新生成确认。

local proxy failed:通常是 Base URL 写错或者网络请求被本地代理拦截。确认你填的是纯 API 地址,不要带任何查询参数。如果你在 Cline 或 CC Switch 里配置,检查三件套是否齐全:Base URL、Key、Model ID,缺一个都会出这个错。

reading choices相关报错:这个一般出现在解析 API 返回时,说明返回体里没有choices字段。大概率是 Model ID 填错了,或者请求体格式不对。对照官方文档检查model字段的值,以及messages数组格式。

OAuth报错:如果你用 Claude Code 这类工具,OAuth 流程失败通常是回调地址或 token 过期。重新走一遍授权流程,或者改用 API Key 方式接入,填 Base URL + Key + Model ID 三件套,绕开 OAuth。

中文编译乱码:编译方式选XeLaTeX,别用PDFLaTeX。文件里加\usepackage{ctex}。还乱码就tlmgr install ctex补装中文包,无需 sudo。

安装中途终端断开:重新连上服务器,进cd ~/tp/texlive_install/install-tl-*,重新./install-tl,按步骤重配路径继续装,已下载的文件不会重复下。

6. 卸载清理与长期使用建议

卸载就三步,全程无残留,不影响其他用户。

第一步删核心安装目录:

rm -rf ~/tp/texlive

第二步删临时安装目录(可选,省磁盘):

rm -rf ~/tp/texlive_install

第三步删环境变量。编辑~/.bashrc,把之前加的三行export删掉或注释,然后source ~/.bashrc。执行pdflatex --version提示command not found就说明卸干净了。

长期使用有几个建议。多人共用账号时,VS Code 配置里务必写完整路径,别依赖系统环境变量。如果后续要装额外宏包,用tlmgr install 包名,不需要 sudo。如果服务器架构是 arm64,记得把配置里的x86_64-linux换成aarch64-linux。

最后说个实用技巧:如果你经常在远程服务器上写 LaTeX,又需要模型辅助排障或润色,可以把 TaoToken 的 API 接进你的工作流。模型对话适合临时问问题,Coding Plan 适合长期在远程环境里跑 Agent 和代码补全。接入文档在 https://taotoken.net/api-keys 和 https://taotoken.net/doc ,配置逻辑就是 Base URL + Key + Model ID 三件套,填对就能用。整套 TeX Live 环境加上模型辅助,远程写论文的体验和本地基本没差别。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/10/2 6:42:43

OpenRouter API Keys 创建、OpenAI 调用与 Cline 配置使用全流程

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/10/2 6:42:13

Office无缝接入DeepSeek:VBA调用API实战教程

最近好几个朋友问我同一个问题:能不能在WPS、Word、Excel里直接调用deepseek,让我写文档、整理表格的时候不用来回切换网页?答案是能,而且门槛没有想象中那么高。这篇文章就是一份小白向的实战指南,把从申请密钥到写第…

作者头像 李华
网站建设 2026/10/2 6:41:31

OpenClaw从入门到应用——Agent:记忆(Memory)实战配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华