【2024】VsCode + Latex + Linux(Ubuntu) + wsl环境下配置教程 | 包含 中文配置,和 格式化处理

前言

本篇教程是针对WSL下的Ubuntu操作系统的配置教程,它和一般的Linux环境下的配置有所不同,并且和Windows环境下的也有所不同。

本篇博客编写参考了 官方文档(Tex) 和 插件官方(Texlive Workshop) 文档等内容。

顺序

在继续之前,首先要求已经安装完毕VsCode,并且已经能够成功连接WSL。
选择Linux系统的原因是,似乎在Linux下编译会更快?(

下面,本文将安装以下步骤介绍:
(1)安装 Texlive linux版本
(2)安装 Texlive Workshop插件
(3)配置 Texlive Workshop插件 包含解释与基础操作
(4)中文化支持 - CTex
(5)格式化支持和配置

安装Texlive和Texlive Workshop插件

安装texlive

Reference: https://tug.org/texlive/quickinstall.html
使用两种方式下载:

wget https://mirror.ctan.org/systems/texlive/tlnet/install-tl-unx.tar.gz

或者使用这种方式下载:

curl -L -o install-tl-unx.tar.gz https://mirror.ctan.org/systems/texlive/tlnet/install-tl-unx.tar.gz

下载完成后,执行以下的步骤,zcat可以用于显示压缩包的内容。

zcat < install-tl-unx.tar.gz | tar xf -
cd install-tl-*
perl ./install-tl --no-interaction

如果安装过程中遇到问题,请检查文件权限,例如可以使用chmod来修改。
在安装的过程中,可以自定义一些配置,小熊自己是选择全部安装的,占8个GB左右大小,所以就不在安装这里进行配置讲解。

(Reference:https://github.com/James-Yu/LaTeX-Workshop/wiki/Install)
安装完毕后,现在开始配置PATH环境变量。
对于WSL而言,不要使用.bashrc来配置PATH,而是使用.profile或者.bash_profile文件。

nano ~/.profile # 你也可以使用自己喜欢的文本编辑器来修改文件,使用GUI也行

在文件末尾修改:

# 配置Texlive Powerbear
export MANPATH=${MANPATH}:/usr/local/texlive/2024/texmf-dist/doc/man
export INFOPATH=${INFOPATH}:/usr/local/texlive/2024/texmf-dist/doc/info
export PATH=${PATH}:/usr/local/texlive/2024/bin/x86_64-linux

如果您是后来者,当前已经是2025年了,而且安装的是2025的版本,请将上面的2024修改为2025。
在这里插入图片描述

如果是nano,最后按住Ctrl+X来离开,和写入文件。
之后使用:

source ~/.profile

或者在powershell / windows终端 里面,利用重启WSL的方式来更新。

wsl --shutdown

插件安装

✔️确保已经在Linux系统下安装完毕texlive前提下,继续。
✔️确保已经安装VsCode和了解基础操作的前提下,继续。

有两种方法以供参考:
(1)在Vscode插件市场搜索“Texlive Workshop”,然后点击“安装”按钮。
(2)按住Ctrl + P,然后输入ext install latex-workshop
在这里插入图片描述

插件配置

当插件安装完成后,还不能直接运行,还有几个步骤需要配置。当配置完毕这些操作后,便可以方便的进行一些操作了。

Compiler & Recipes

在继续之前,先来了解此项配置的相关含义和包含关系。编译器配置是用于TEX文件编译时的相关操作,而Recipe是方案,它能包含多个编译器配置,在Tex插件面板上(左侧最后的TEX按钮)可以通过GUI的方式来调用Recipe。

所以,现在我们开始配置编译相关操作,和Recipe设置。打开VsCode的Settings.json文件(通过 文件 -> 首选项 -> 设置 ,或者 Ctrl+shift+p 打开命令面板,搜索“> 设置 json” 或者 在打开的文件夹下 .vscode 下新建settings.json)。

本文章配置在 设置WSL(JSON) 下 。

如果不想麻烦,直接参考这个小节的最后部分,那个地方给出了一份配置参考文件。可以在其上进行一些自定义的修改。

✔️确保已经打开Settings.json的前提下,继续。

  • 配置TEX编译器相关操作:

在Ubuntu下,打开终端。

  • 再次配置Recipe的相关设置:

  • Settings.json文件参考

不想看上文的直接参考这个地方的内容。

{
    // Latex 文件处理
    "latex-workshop.latex.tools": [
        {
            "name": "latexmk",
            "command": "latexmk",
            "args": [
                "--shell-escape",
                "-synctex=1",
                "-interaction=nonstopmode",
                "-file-line-error",
                "-pdf",
                "-outdir=%OUTDIR%",
                "%DOC%"
            ],
            "env": {}
        },
        {
            "name": "xelatex",
            "command": "xelatex",
            "args": [
                "--shell-escape",
                "-synctex=1",
                "-interaction=nonstopmode",
                "-file-line-error",
                "%DOC%"
            ]
        },
        {
            "name": "pdflatex",
            "command": "pdflatex",
            "args": [
                "--shell-escape",
                "-synctex=1",
                "-interaction=nonstopmode",
                "-file-line-error",
                "%DOC%"
            ],
            "env": {}
        },
        {
            "name": "bibtex",
            "command": "bibtex",
            "args": [
                "--shell-escape",
                "%DOCFILE%"
            ],
            "env": {}
        }
    ],
    "latex-workshop.latex.autoBuild.cleanAndRetry.enabled": true,
    // Recipes : 食谱,在这里配置命令方案
    "latex-workshop.latex.recipes": [
        {
            "name": "xelatex (中文支持)",
            "tools": [
                "xelatex"
            ]
        },
        {
            "name": "latexmk",
            "tools": [
                "latexmk"
            ]
        },
        {
            "name": "pdflatex -> bibtex -> pdflatex*2",
            "tools": [
                "pdflatex",
                "bibtex",
                "pdflatex",
                "pdflatex"
            ]
        }
    ],
    "latex-workshop.latexindent.path": "/usr/local/texlive/2024/bin/x86_64-linux/latexindent",
    "latex-preview.command": "latexmk",
    "editor.tabSize": 4,
    "latex-workshop.view.pdf.viewer": "tab",
    "latex-workshop.showContextMenu": true,
    "ltex.enabled": true,
    "ltex.language": "en-US",
}

配置完成后,在编辑器的界面应该是如下图所示:
在这里插入图片描述
到这一步,现在应该已经能够支持latex的编译与预览了。
使用这些来测试一下效果吧!

\documentclass{article}
\begin{document}
Hello latex.
\end{document}

完成后,点击左侧的 配方xelatex试一试

中文化支持配置

在经过上一小节的配置后,实际上默认的是xelatex。
然后使用

\usepackage{ctex}

把上文的Hello latex改为中文字符试一试吧。

格式化支持和配置

当以前没有配置过Perl的时候,尝试进行格式化操作时候会出现以下提示信息:

[20:20:12.751][Event] STRUCTURE_UPDATED
[20:20:14.083][Format][TeX] Start formatting with latexindent.
[20:20:14.084][Format][TeX] Formatting LaTeX. The command is /usr/local/texlive/2024/bin/x86_64-linux/latexindent:["-c","%WS1%/","%WS1%/__latexindent_temp_main_2.tex","-y=defaultIndent: '    '"].
[20:20:14.131][Format][TeX] Formatting failed with exit code 2
[20:20:14.132][Format][TeX] stderr: Can't locate YAML/Tiny.pm in @INC (you may need to install the YAML::Tiny module)(@INC contains: /usr/local/texlive/2024/texmf-dist/scripts/latexindent /etc/perl /usr/local/lib/x86_64-linux-gnu/perl/5.34.0 /usr/local/share/perl/5.34.0 /usr/lib/x86_64-linux-gnu/perl5/5.34 /usr/share/perl5 /usr/lib/x86_64-linux-gnu/perl-base /usr/lib/x86_64-linux-gnu/perl/5.34 /usr/share/perl/5.34 /usr/local/lib/site_perl) at /usr/local/texlive/2024/texmf-dist/scripts/latexindent/LatexIndent/GetYamlSettings.pm line 24.
BEGIN failed--compilation aborted at /usr/local/texlive/2024/texmf-dist/scripts/latexindent/LatexIndent/GetYamlSettings.pm line 24.
Compilation failed in require at /usr/local/texlive/2024/texmf-dist/scripts/latexindent/LatexIndent/Verbatim.pm line 23.
BEGIN failed--compilation aborted at /usr/local/texlive/2024/texmf-dist/scripts/latexindent/LatexIndent/Verbatim.pm line 23.
Compilation failed in require at /usr/local/texlive/2024/texmf-dist/scripts/latexindent/LatexIndent/Lines.pm line 23.
BEGIN failed--compilation aborted at /usr/local/texlive/2024/texmf-dist/scripts/latexindent/LatexIndent/Lines.pm line 23.
Compilation failed in require at /usr/local/texlive/2024/texmf-dist/scripts/latexindent/LatexIndent/Document.pm line 31.
BEGIN failed--compilation aborted at /usr/local/texlive/2024/texmf-dist/scripts/latexindent/LatexIndent/Document.pm line 31.
Compilation failed in require at /usr/local/texlive/2024/bin/x86_64-linux/latexindent line 28.
BEGIN failed--compilation aborted at /usr/local/texlive/2024/bin/x86_64-linux/latexindent line 28.

[20:20:22.200][Event] STRUCTURE_UPDATED

解决方法:利用cpan安装缺少的模块。
Reference: https://github.com/James-Yu/LaTeX-Workshop/issues/699
可能需要多次使用cpan命令安装缺少的模块。

cpan YAML::Tiny
cpan File::HomeDir

之后,再次执行Format时候,就能成功格式化文档了。

接下来

下面,读者应该去了解更多有关latex的使用方法,语法和其他操作姿势。
例如:如何优美的插入代码和公式?如何去绘制三线图表?等。


若觉得此文对您有帮助,请予以一个赞以示鼓励!
如果阅读完毕尚有疑问,建议,直接在评论区开喷即可!

PowerBear 大千小熊 2024年

<think>好的,我现在需要帮助用户解决在Windows 11上部署WSL 2相关服务的问题,包括Ubuntu、Docker、Ollama、Dify、MySQL、Ruoyi-EVU、Redis、Nginx以及NVIDIA RTX 4090 GPU的配置。首先,我需要理清整个部署流程,并确保每个步骤都正确无误。 首先,用户提到的是Windows 11,所以需要确认系统是否满足WSL 2的要求。根据微软文档,Windows 11默认支持WSL 2,但需要开启相关功能。用户需要启用“虚拟机平台”“适用于Linux的Windows子系统”这两个功能。这部分可以通过PowerShell命令完成,比如dism.exe命令。然后安装WSL 2内核更新包,这一步可能需要下载并安装MSI包。接下来,设置默认版本为WSL 2,这可以通过wsl --set-default-version 2命令实现。之后,安装Ubuntu发行版,比如Ubuntu 22.04 LTS,并设置用户名密码。 接下来是Docker的配置。用户需要安装Docker Desktop,并确保在设置中启用WSL 2引擎。同时,在资源部分集成已安装的Ubuntu发行版。这有助于Docker容器在WSL 2环境中运行,提高性能。验证Docker安装是否成功,可以通过运行hello-world镜像来确认。这部分用户之前已经提到了引用[1],我需要确保步骤正确,并且引用标记正确。 然后是GPU资源的配置,用户使用的是NVIDIA RTX 4090。这里需要安装NVIDIA的驱动程序,确保CUDA工具包与WSL 2兼容。在WSL 2中安装CUDA,可能需要按照NVIDIA的官方文档来操作,比如安装特定版本的CUDA ToolkitNVIDIA容器工具包。这部分需要详细说明,否则用户可能在驱动安装或CUDA配置上遇到问题。 接下来是各个服务的部署。首先安装Ollama,这可能是一个机器学习相关的服务,可能需要GPU支持。用户需要确保Ollama在Docker容器中可以访问GPU,这需要配置NVIDIA容器运行时。然后是Dify,这可能是一个AI应用平台,同样需要GPU支持。MySQLRedis作为数据库缓存服务,需要配置持久化存储网络设置,确保数据安全。Ruoyi-EVU可能是一个Java应用,需要Java环境,可能需要通过Docker部署或者直接在Ubuntu中安装。Nginx作为反向代理,需要配置SSL域名解析,确保外部访问安全可靠。 硬件资源配置方面,用户使用的是RTX 4090,显存较大,但需要合理分配给各个服务。比如,OllamaDify可能需要更多的GPU资源,而其他服务如MySQL、Redis可能不需要。需要建议用户根据实际负载调整资源分配,比如在Docker Compose文件中指定GPU资源限制,避免资源争用。 另外,网络配置也很重要。所有服务需要在Docker网络中正确互联,可能需要定义自定义网络,并设置端口映射。例如,Nginx需要暴露80443端口,而其他服务的内部通信可以通过Docker网络进行。同时,数据卷的配置也很关键,确保MySQLRedis的数据持久化,防止容器重启后数据丢失。 安全性方面,需要提醒用户设置强密码,更新系统补丁,配置防火墙规则,以及使用SSL证书加密流量。特别是MySQLRedis这类服务,默认配置可能存在安全漏洞,需要修改默认端口设置访问控制。 最后,验证整个系统的运行。用户需要逐个启动服务,检查日志,确认没有错误。例如,运行nvidia-smi命令查看GPU是否被正确识别,Docker容器是否能够使用GPU。测试各个服务的连通性,如通过curl访问Nginx,连接到MySQL数据库,运行Ollama的模型推理等。 在生成相关问题的时候,需要考虑用户可能遇到的后续问题,比如性能调优、错误排查、备份策略等。比如如何监控GPU资源使用情况,如何扩展服务,如何处理容器间的依赖关系等。 现在需要确保回答的结构清晰,步骤正确,引用来源正确,并且符合用户的中文要求。同时,生成的LaTeX公式需要正确使用$...$$$...$$格式,虽然这个问题可能涉及较多的命令配置,数学公式可能较少,但如果有涉及性能分析或资源分配的计算,可能需要使用LaTeX表达。 总结来说,整个部署过程需要分步骤进行,确保每个组件正确安装配置,资源合理分配,网络安全设置到位。需要详细说明每个步骤,并提示用户可能的注意事项验证方法。</think>### Windows 11 WSL 2 环境部署方案 #### 一、基础环境配置 1. **启用 WSL 2** - 以管理员身份运行 PowerShell,执行以下命令: ```powershell dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart ``` - 安装 [WSL 2 内核更新包](https://aka.ms/wsl2kernel)并重启系统 - 设置默认版本为 WSL 2: ```powershell wsl --set-default-version 2 ``` 2. **安装 Ubuntu 22.04 LTS** ```powershell wsl --install -d Ubuntu-22.04 ``` 完成后设置用户名密码,建议分配至少 8GB 内存(修改 `%USERPROFILE%\.wslconfig`): ```ini [wsl2] memory=8GB swap=2GB ``` #### 二、Docker 集成 1. **安装 Docker Desktop** - 勾选 "Use WSL 2 based engine" 对应 Ubuntu 发行版的集成[^1] - 验证安装: ```bash docker run hello-world ``` 2. **GPU 支持配置** - 安装 [NVIDIA 驱动](https://www.nvidia.com/Download/index.aspx) [CUDA Toolkit](https://developer.nvidia.com/cuda-toolkit) - 配置 NVIDIA 容器工具包: ```bash distribution=$(. /etc/os-release;echo $ID$VERSION_ID) curl -s -L https://nvidia.github.io/nvidia-docker/gpgkey | sudo apt-key add - curl -s -L https://nvidia.github.io/nvidia-docker/$distribution/nvidia-docker.list | sudo tee /etc/apt/sources.list.d/nvidia-docker.list sudo apt-get update && sudo apt-get install -y nvidia-container-toolkit ``` #### 三、服务部署架构 ```mermaid graph TD A[Windows 11 Host] -->|WSL 2| B(Ubuntu 22.04) B --> C[Docker Engine] C --> D[MySQL 8.0] C --> E[Redis 7.0] C --> F[Nginx 1.25] C --> G[Ruoyi-EVU] C --> H[Ollama] C --> I[Dify] H -->|NVIDIA Container| J(RTX 4090 GPU) ``` #### 四、硬件资源配置建议 | 组件 | 资源配置 | 说明 | |------------|------------------------------|-------------------------------| | CPU | 16 核以上 | 建议 Intel i9 或 AMD Ryzen 9 | | 内存 | 32GB DDR5 | 分配 16GB 给 WSL 2 | | GPU | RTX 4090 24GB 显存 | CUDA 12.2+ 驱动 | | 存储 | 1TB NVMe SSD | 建议分配 200GB 给 WSL 2 | #### 五、关键服务配置示例(docker-compose.yml) ```yaml version: '3.8' services: mysql: image: mysql:8.0 environment: MYSQL_ROOT_PASSWORD: ${DB_PASSWORD} volumes: - mysql_data:/var/lib/mysql deploy: resources: limits: memory: 4G ollama: image: ollama/ollama:latest runtime: nvidia environment: NVIDIA_VISIBLE_DEVICES: all ports: - "11434:11434" volumes: - ollama_data:/root/.ollama ``` #### 六、验证步骤 1. GPU 验证: ```bash docker run --gpus all nvcr.io/nvidia/k8s/cuda-sample:nbody -benchmark ``` 应显示 GPU 计算性能数据 2. 网络连通性测试: ```bash curl -I http://localhost:80 ``` ---
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值