众所周知在vscode中写latex文档非常巴适,这是由于GitHub copilot的自动补全。但是在不同电脑上安装latex并配置vscode环境却是一件令人烦恼的事情。这种时候,如果碰巧手上有服务器,就可以安装code-server(网页版Vscode),并实现一次部署,到处运行(雾)。具体来说:
首先来到code-server的GitHub发布页:https://github.com/coder/code-server/releases
挑选一个合适的版本,比如我用的是Ubuntu24.04,就选择红框框住的那个。下载它
shwget https://github.com/coder/code-server/releases/download/v4.103.0/code-server_4.103.0_amd64.deb
随后安装
shsudo apt install ./code-server_4.103.0_amd64.deb
安装结束后,使用如下的命令运行它
shcode-server
这次运行只是为了生成配置文件,所以按CTRL+C
停止它,使用下面的命令编辑配置文件
shnano ~/.config/code-server/config.yaml
它应该像这样
yamlbind-addr: 127.0.0.1:<port to be set>
auth: password
password: <set password>
cert: false
随机挑选一个幸运端口和幸运密码,就可以正式运行了。不过显然希望它运行在后台,这时screen
命令是很好的选择。首先新建一个screen
shscreen -R <name to be set>
随后启动code-server
shcode-server
然后按CTRL+A+D
退出screen,它就能在后台保持运行了。如果想停止运行,只需要再次进入该screen,按CTRL+C
即可
shscreen -r <name>
如果在screen内由于网不好断开了,也不要紧,再进入时只需要加上-d
参数即可
shscreen -r <name> -d
此处再提一嘴,若是想关闭screen,只需要
shscreen -S <name> -X quit
鉴于服务器上不会奢侈到只有一个服务,443端口显然是被占用的,因而使用nginx
转发是必要的。可以使用如下的nginx配置(来源:https://blog.csdn.net/muxuen/article/details/139698865)
nginxserver { listen 443 ssl; server_name www.example.com; # 域名 # 注意证书文件位置,是从/etc/nginx/下开始算起的 ssl_certificate cert/example.com.crt; ssl_certificate_key cert/example.com.key; ssl_session_timeout 5m; ssl_protocols TLSv1 TLSv1.1 TLSv1.2; ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE; ssl_prefer_server_ciphers on; client_max_body_size 1024m; location / { proxy_set_header Host $host; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection upgrade; proxy_set_header Accept-Encoding gzip; # 当下是直接用yum安装的nginx,可以直接用本地ip访问 # 如果是docker安装的nginx,需要改为公网ip proxy_pass http://127.0.0.1:8888; } }
随后访问域名,就能愉快的使用code-server了。不过在使用之前调成中文是更方便的,在扩展处搜索chinese
安装这个扩展,随后在顶部搜索框输入
>configure display language
点击该选项,并设置为中文就行了
传统使用latex的方式是安装texlive,只不过这需要安装全部的tex宏包(这玩意有几个G大),并且还不会更新(有更新还有再装一遍,十分不优雅。使用miktex可以在使用时自动按需下载宏包,还能更新宏包,非常优雅
要安装miktex,首先安装官方仓库的公钥
shcurl -fsSL https://miktex.org/download/key | sudo gpg --dearmor -o /usr/share/keyrings/miktex.gpg
随后添加软件源
shecho "deb [signed-by=/usr/share/keyrings/miktex.gpg] https://miktex.org/download/ubuntu noble universe" | sudo tee /etc/apt/sources.list.d/miktex.list
随后刷新软件源缓存
shsudo apt update
然后安装miktex
shsudo apt install miktex
到此还未完成安装。还需要更新miktex数据库
shmiktexsetup finish
随后开启宏包自动安装
shinitexmf --set-config-value [MPM]AutoInstall=1
然后生成格式文件,否则会报错
2025-08-14 13:32:04,195Z FATAL pdflatex.core - The memory dump file could not be found. 2025-08-14 13:32:04,195Z FATAL pdflatex.core - Data: fileName="pdflatex.fmt"
执行下面的命令可以解决
shinitexmf --mklinks --force initexmf --update-fndb
最后,更新miktex宏包
shmpm --update-db mpm --update
miktex就安装完成了。不过,在编译tex文件时,会用到字体
这三个字体在Ubuntu中是不存在的,因此需要在Windows中找出,并将它们复制到
shcp <.ttc or .ttf> /usr/share/fonts/
随后,在.tex
文件前加上
latex\setCJKmainfont{SimSun}[ BoldFont=SimHei,ItalicFont=KaiTi]
就可以使用这些字体了,如果不成功,可以尝试刷新字体缓存
shsudo fc-cache -fv
可以检查是否成功安装
shfc-list | grep -i <name>
首先在扩展商店安装搜索Latex Workshop
,安装它
随后打开左下角的齿轮-点击"设置",点击右上角的"打开设置(json)",即可打开settings.json
随后,下面是一份配置
json{
"json.schemaDownload.enable": false,
"latex-workshop.latex.autoBuild.run": "onFileChange",
"latex-workshop.showContextMenu": true,
"latex-workshop.intellisense.package.enabled": true,
"latex-workshop.message.error.show": true,
"latex-workshop.message.warning.show": false,
"latex-workshop.latex.tools": [
{
"name": "xelatex",
"command": "miktex-xelatex",
"args": [
"-synctex=1",
"-interaction=nonstopmode",
"-file-line-error",
"%DOCFILE%"
]
},
{
"name": "pdflatex",
"command": "miktex-pdflatex",
"args": [
"-synctex=1",
"-interaction=nonstopmode",
"-file-line-error",
"%DOCFILE%"
]
},
{
"name": "latexmk",
"command": "miktex-latexmk",
"args": [
"-synctex=1",
"-interaction=nonstopmode",
"-file-line-error",
"-pdf",
"-outdir=%OUTDIR%",
"%DOCFILE%"
]
},
{
"name": "bibtex",
"command": "~/bin/bibtex",
"args": [
"%DOCFILE%"
]
}
],
"latex-workshop.latex.recipes": [
{
"name": "XeLaTeX",
"tools": [
"xelatex"
]
},
{
"name": "PDFLaTeX",
"tools": [
"pdflatex"
]
},
{
"name": "BibTeX",
"tools": [
"bibtex"
]
},
{
"name": "LaTeXmk",
"tools": [
"latexmk"
]
},
{
"name": "xelatex -> bibtex -> xelatex*2",
"tools": [
"xelatex",
"bibtex",
"xelatex",
"xelatex"
]
},
{
"name": "pdflatex -> bibtex -> pdflatex*2",
"tools": [
"pdflatex",
"bibtex",
"pdflatex",
"pdflatex"
]
},
],
"latex-workshop.latex.clean.fileTypes": [
"*.aux",
"*.bbl",
"*.blg",
"*.idx",
"*.ind",
"*.lof",
"*.lot",
"*.out",
"*.toc",
"*.acn",
"*.acr",
"*.alg",
"*.glg",
"*.glo",
"*.gls",
"*.ist",
"*.fls",
"*.log",
"*.fdb_latexmk"
],
"latex-workshop.latex.autoClean.run": "onFailed",
"latex-workshop.latex.recipe.default": "lastUsed",
"latex-workshop.view.pdf.internal.synctex.keybinding": "double-click",
"editor.wordWrap": "on",
"editor.wordBasedSuggestions": "off",
}
替换settings.json
中的内容,即完成了配置。至此,就跟本地的Vscode一样啦QwQ
为了在code-server中格式化latex代码,可以在配置中加上一条
json "latex-workshop.formatting.latex": "latexindent",
随后,安装一个perl模块安装工具
shsudo apt install cpanminus
然后安装下面两个包,它们是latexindent的依赖项
shcpanm YAML::Tiny cpanm File::HomeDir
然后就能愉快地格式化latex代码啦~
本文作者:GBwater
本文链接:
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!