在日常科研和文档编写中,LaTeX是必备工具之一。近期需要通过VS Code远程连接无可视化界面的Ubuntu服务器编辑LaTeX文档,且服务器无sudo权限、多人共用一个SSH账号,踩了不少路径配置和环境冲突的坑。特此记录完整实操流程,精准还原每一步终端交互细节,并补充完整卸载方案,供有类似需求的朋友参考。
一、核心背景与需求
-
服务器环境:Ubuntu系统、无sudo权限、无可视化界面,多人共用一个SSH账号(我的个人专属文件夹为
~/tp,位于用户主目录下)。 -
本地工具:VS Code(Visual Studio Code),已提前安装Remote - SSH、LaTeX Workshop两款核心插件。
-
核心需求:在服务器上安装仅自己可用的LaTeX编译环境,支持VS Code通过LaTeX Workshop点击按钮编译,避免与其他用户的文件、环境变量产生冲突。
二、关键前提:安装路径选择(个人文件夹tp vs 主目录~)
这是多人共用账号场景下的核心问题,直接决定是否会与其他用户产生冲突,先明确核心结论:优先安装到自己的个人专属文件夹(如/tp),而非用户主目录(),原因如下:
-
主目录(~)是当前SSH账号的全局共享目录,所有共用该账号的用户都能访问、修改其中的文件。若将TeX Live安装到~,可能出现他人误删安装文件、环境变量被覆盖、编译命令冲突等问题。
-
个人文件夹(如~/tp)是专属私有空间,仅自己可操作,将TeX Live安装在此处,能完全隔离其他用户的环境,避免冲突,且后续卸载、迁移也更便捷,不会影响他人使用。
-
补充说明:无论安装到tp文件夹还是主目录,核心操作逻辑完全一致,仅需全程统一路径即可(安装路径、环境变量配置、VS Code编译路径三者必须严格对应)。本文以安装到~/tp为例(推荐方案,适配多人共用账号场景);若仅你一人使用该SSH账号和VS Code,无需隔离环境,直接安装到主目录(~)即可,后续会标注主目录安装的路径修改点。
三、完整安装流程(安装到~/tp个人文件夹,完全贴合实操)
全程操作均在远程Ubuntu服务器终端执行(通过VS Code的Remote - SSH插件连接成功后,打开终端即可操作),核心思路:创建目录→下载安装包→私有目录配置安装→环境变量配置→VS Code编译路径适配→测试验证。
步骤1:创建专属目录并下载TeX Live安装包
先进入个人tp文件夹,创建临时安装目录,避免文件混乱,同时确保所有操作都在个人私有空间内进行:
bash
# 1. 进入用户主目录,创建并进入个人tp文件夹(若tp文件夹已存在,直接进入)
cd ~
mkdir -p tp && cd tp
# 2. 创建临时安装目录texlive_install(用于存放安装包和解压文件)并进入
mkdir -p texlive_install && cd texlive_install
# 3. 下载TeX Live安装包(国内服务器优先选择清华源,下载速度更快)
wget https://mirrors.tuna.tsinghua.edu.cn/CTAN/systems/texlive/tlnet/install-tl-unx.tar.gz
# 国外服务器可使用官方源(速度较慢,按需选择):
# wget https://mirror.ctan.org/systems/texlive/tlnet/install-tl-unx.tar.gz
# 4. 解压安装包(解压后会生成以install-tl-开头的目录,目录名含版本信息)
tar -xzf install-tl-unx.tar.gz
# 5. 进入解压后的安装目录(用通配符匹配,无需手动输入完整目录名)
cd install-tl-*
步骤2:交互式配置并安装TeX Live(核心步骤,精准还原终端交互)
执行安装脚本进入交互式配置界面,核心是修改核心安装目录(TEXDIR)为~/tp/texlive(默认系统目录无写入权限,且会影响其他用户,必须修改),全程按以下步骤逐行操作:
bash
# 执行安装脚本,进入TeX Live主配置菜单(终端会显示完整的配置界面)
./install-tl
进入主配置菜单后,按以下顺序操作(输入数字/大写字母,每步操作后按回车确认,完全对应终端界面):
-
输入
D:进入「目录配置子界面」(对应主菜单中的<D> set directories选项),这是修改核心安装路径的唯一正确入口。 -
进入目录配置子界面后,终端会显示各目录配置项(核心关注<1> TEXDIR),此时输入
1:选中<1> TEXDIR(核心安装目录,默认路径为/usr/local/texlive/2025,该路径无写入权限,且为系统公共目录,必须修改)。 -
输入1后,终端会立即提示:
New value for TEXDIR [/usr/local/texlive/2025]:(括号内为默认路径,无需删除或修改默认路径文本),直接输入个人私有安装路径~/tp/texlive,按回车确认。 -
路径确认后,终端会自动刷新目录配置界面,此时<1> TEXDIR对应的路径会更新为
/home/ubuntu/tp/texlive(系统已自动将~/tp/texlive解析为完整绝对路径),同时<2>-<4>(TEXMFLOCAL、TEXMFSYSVAR、TEXMFSYSCONFIG)会同步适配为TEXDIR下的子目录,完整界面如下(与实际终端完全一致):
plain
===============================================================================
Directories customization:
<1> TEXDIR: /home/ubuntu/tp/texlive
main tree: /home/ubuntu/tp/texlive/texmf-dist
<2> TEXMFLOCAL: /home/ubuntu/tp/texlive/texmf-local
<3> TEXMFSYSVAR: /home/ubuntu/tp/texlive/texmf-var
<4> TEXMFSYSCONFIG: /home/ubuntu/tp/texlive/texmf-config
<5> TEXMFVAR: ~/.texlive2025/texmf-var
<6> TEXMFCONFIG: ~/.texlive2025/texmf-config
<7> TEXMFHOME: ~/texmf
Note: ~ will expand to $HOME (or to %USERPROFILE% on Windows)
Actions:
<R> return to main menu
<Q> quit
Enter command:
===============================================================================
确认路径无误即可(无需关注<2>-<7>其他目录,系统已自动完成适配)。
- 路径确认无误后,终端底部会显示
Enter command:提示,此时输入R并回车,从目录配置子界面返回「主配置菜单」。返回后主菜单会完整显示所有配置项(含已适配的私有路径),界面如下(与实际终端完全一致):
plain
======================> TeX Live installation procedure <=====================
======> Letters/digits in <angle brackets> indicate <=======
======> menu items for actions or customizations <=======
= help> https://tug.org/texlive/doc/install-tl.html <=======
Detected platform: GNU/Linux on x86_64
<B> set binary platforms: 1 out of 15
<S> set installation scheme: scheme-full
<C> set installation collections:
40 collections out of 41, disk space required: 9354 MB (free: 3926383 MB)
<D> set directories:
TEXDIR (the main TeX directory):
/home/ubuntu/tp/texlive
TEXMFLOCAL (directory for site-wide local files):
/home/ubuntu/tp/texlive/texmf-local
TEXMFSYSVAR (directory for variable and automatically generated data):
/home/ubuntu/tp/texlive/texmf-var
TEXMFSYSCONFIG (directory for local config):
/home/ubuntu/tp/texlive/texmf-config
TEXMFVAR (personal directory for variable and automatically generated data):
~/.texlive2025/texmf-var
TEXMFCONFIG (personal directory for local config):
~/.texlive2025/texmf-config
TEXMFHOME (directory for user-specific files):
~/texmf
<O> options:
[ ] use letter size instead of A4 by default
[X] allow execution of restricted list of programs via \write18
[X] create all format files
[X] install macro/font doc tree
[X] install macro/font source tree
[ ] create symlinks to standard directories
<V> set up for portable installation
Actions:
<I> start installation to hard disk
<P> save installation profile to 'texlive.profile' and exit
<Q> quit
Enter command:
===============================================================================
此时可见 directories下的路径已全部适配私有目录,无需任何手动修改,直接进行后续操作即可。
- 主菜单底部显示
Enter command:提示,此时输入S并回车,进入「安装方案选择界面」(对应主菜单中的<S> set installation scheme选项),界面如下(与实际终端完全一致):
plain
===============================================================================
Select scheme:
a [X] full scheme (everything)
b [ ] medium scheme (small + more packages and languages)
c [ ] small scheme (basic + xetex, metapost, a few languages)
d [ ] basic scheme (plain and latex)
e [ ] minimal scheme (plain only)
f [ ] infrastructure-only scheme (no TeX at all)
g [ ] book publishing scheme (core LaTeX and add-ons)
h [ ] ConTeXt scheme
i [ ] GUST TeX Live scheme
j [ ] teTeX scheme (more than medium, but nowhere near full)
k [ ] custom selection of collections
Actions: (disk space required: 9354 MB)
<R> return to main menu
<Q> quit
Enter letter to select scheme:
===============================================================================
界面中默认选中a [X] full scheme(完整版,约9G),可根据需求选择对应方案:输入方案前的字母(如a/b/c/d等)并回车,选中后输入R并回车,返回主配置菜单。
- 返回主菜单后,终端底部仍显示
Enter command:提示,此时输入I并回车,开始安装(对应主菜单中的<I> start installation to hard disk选项),耐心等待安装完成。
安装进度说明:
-
基础版(scheme-basic):约10-30分钟,终端会实时打印安装进度(如下载进度、解压进度),无需额外操作。
-
完整版(scheme-full):约1-2小时,期间终端会持续输出安装日志,保持终端连接正常即可,无需干预。
-
安装成功标识:终端最终提示
TeX Live installation complete,说明安装已全部完成。
步骤3:配置环境变量(让系统识别LaTeX命令)
安装完成后,需要配置环境变量,让当前用户能直接在终端调用pdflatex、xelatex等LaTeX编译命令(路径必须与步骤2中设置的安装路径严格一致):
bash
# 编辑环境变量配置文件(bash终端默认使用~/.bashrc,zsh终端使用~/.zshrc,根据自己的终端类型选择)
nano ~/.bashrc
打开配置文件后,将光标移动到文件末尾(按键盘向下箭头即可),粘贴以下内容(路径务必对应~/tp/texlive,不可写错):
bash
# TeX Live 环境变量(安装在~/tp个人文件夹内,适配Ubuntu服务器)
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"
保存并退出编辑(nano编辑器操作):
- 按
Ctrl+O(触发保存操作)→ 按回车(确认保存,无需修改文件名)→ 按Ctrl+X(退出编辑器)。
让环境变量立即生效(无需重启终端,执行以下命令即可):
bash
source ~/.bashrc
验证环境变量配置是否成功(执行以下命令,若输出版本信息,说明配置成功):
bash
pdflatex --version
xelatex --version
异常处理:若执行命令后提示"command not found",大概率是路径错误。解决方案:进入~/tp/texlive/bin目录(执行cd ~/tp/texlive/bin),查看该目录下的架构目录名称(如arm64架构服务器可能是aarch64-linux),将环境变量配置中的"x86_64-linux"替换为实际的架构目录名称,重新执行source ~/.bashrc即可。
步骤4:适配VS Code+LaTeX Workshop(支持点击按钮编译)
核心是在VS Code中配置LaTeX Workshop插件,明确指定TeX Live编译命令的完整路径(避免依赖系统环境变量,防止与其他用户环境冲突),配置步骤如下:
-
在VS Code远程窗口中,按
Ctrl+,(快捷键)打开设置界面。 -
在设置搜索框中输入"LaTeX Workshop: Latex Tools",找到该选项后,点击右侧的「编辑 in settings.json」(进入JSON配置文件编辑界面)。
-
在settings.json文件中,找到
"latex-workshop.latex.tools"配置项,修改其中的command字段,填写~/tp/texlive路径下的完整编译命令(核心配置片段如下,其他配置项可保留默认或按需调整):
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",
// 可选配置:配置本地预览PDF(适配Ubuntu服务器无可视化界面的场景)
"latex-workshop.view.pdf.external.enable": true,
"latex-workshop.view.pdf.external.command": {
"command": "open", // Windows系统替换为"cmd.exe",Linux本地替换为"xdg-open"
"args": ["%PDF%"]
}
}
配置保存:按Ctrl+S保存settings.json文件,配置立即生效,无需重启VS Code。
步骤5:测试验证(点击按钮编译,确认功能正常)
在VS Code远程窗口中,通过以下步骤验证编译功能是否正常:
-
在左侧文件管理器中,打开~/tp文件夹(个人私有目录)。
-
右键点击空白处,选择「新建文件」,命名为
test.tex(LaTeX测试文件)。 -
打开test.tex文件,粘贴以下测试代码(含中文支持,适配日常使用场景):
latex
\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阅读器打开预览,支持代码与PDF内容跳转。
补充:单人使用场景(安装到主目录~)的路径修改点
若仅你一人使用该SSH账号和VS Code,无需考虑环境冲突,可直接安装到主目录(~),操作更简洁,仅需修改以下3处路径(其他操作步骤与上述完全一致):
-
步骤1中临时目录路径:无需进入tp文件夹,直接在主目录创建临时目录,命令修改为:
mkdir -p texlive_install && cd texlive_install。 -
步骤2中TEXDIR路径:输入
~/texlive(替换原有的~/tp/texlive)。 -
步骤3和步骤4中的路径:环境变量配置、VS Code配置中的路径均替换为
$HOME/texlive/bin/x86_64-linux/xxx(xxx代表具体编译命令,如xelatex、pdflatex)。
四、完整卸载方案(适配个人文件夹安装,无残留不影响他人)
若后续需要卸载TeX Live(如迁移安装路径、重装版本、不再使用),仅需3步操作,全程无残留,且不会影响其他用户和服务器全局配置:
步骤1:删除TeX Live核心安装目录
删除核心安装目录(执行rm -rf ~/tp/texlive)是重新安装的必要步骤,为确保重装无残留、不出现异常,需按以下步骤完成前置清理操作:
bash
# 步骤1:删除核心安装目录(已执行,必做)
rm -rf ~/tp/texlive
步骤2:删除临时安装目录(可选,清理磁盘空间)
若安装完成后未清理临时目录(texlive_install),可执行以下命令删除(节省磁盘空间):
bash
rm -rf ~/tp/texlive_install
步骤3:删除环境变量配置(避免残留影响)
- 编辑环境变量配置文件,命令如下:
bash
nano ~/.bashrc
- 在文件中找到之前添加的TeX Live环境变量内容(如下所示),将其删除(或在每行前加
#注释掉):
bash
# TeX Live 环境变量(安装在~/tp个人文件夹内,适配Ubuntu服务器)
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"
-
保存并退出编辑器(按
Ctrl+O→回车→Ctrl+X)。 -
更新环境变量,让修改生效:
bash
source ~/.bashrc
验证卸载是否成功:执行pdflatex --version,若终端提示"command not found",说明卸载已完全成功。
五、常见问题与注意事项
1. 编译报错"command not found"
核心原因:安装路径、环境变量配置、VS Code编译路径三者不一致(最常见问题),或架构目录名称填写错误。
解决方案:
-
执行
which pdflatex(或对应报错命令),查看系统当前识别的编译命令路径; -
确保该路径与VS Code配置中
command字段的路径完全一致,不一致则修改settings.json; -
若执行命令无输出,说明环境变量配置错误,重新检查~/.bashrc中的路径,确保与安装路径一致。
2. 多人共用账号的环境冲突
预防方案:
-
严格将TeX Live安装到个人专属文件夹(如~/tp),不修改主目录和其他用户的文件;
-
VS Code配置中务必指定完整的编译命令路径(如$HOME/tp/texlive/...),不依赖系统环境变量,避免被其他用户的环境覆盖。
3. 中文编译乱码
解决方案:
-
编译方式选择XeLaTeX(不要选择PDFLaTeX,PDFLaTeX对中文支持较差);
-
在LaTeX文件中引入中文支持包:
\usepackage{ctex}; -
若仍乱码,执行
tlmgr install ctex(无需sudo),安装完整中文支持包,重新编译即可。
4. VS Code与Cursor的兼容性说明
补充说明:Cursor是基于VS Code内核开发的AI原生编辑器,二者在核心功能(尤其是扩展兼容性、远程连接、LaTeX Workshop适配)上完全一致。本文所有操作流程(安装、配置、编译、卸载)同样适用于Cursor,仅需注意:二者均需安装Remote - SSH、LaTeX Workshop插件,配置逻辑完全相同,可根据个人是否需要AI辅助功能选择使用。
5. 安装过程中终端断开连接
解决方案:重新通过VS Code连接服务器,进入之前的临时安装目录(cd ~/tp/texlive_install/install-tl-*),重新执行./install-tl,按照步骤2重新配置路径并安装即可(已安装的文件不会重复下载,会继续后续安装流程)。
六、总结
按照上述步骤操作,即可实现VS Code(或Cursor)远程连接Ubuntu服务器点击编译LaTeX文档,体验与本地安装完全一致,完美适配无sudo、多人共用账号的Ubuntu远程使用场景。