从Unity启动器启动Sublime时Latextools无法识别添加的PATH
解决Ubuntu 16.04启动器启动Sublime无法找到LaTeX Live PATH的问题
这个问题我之前折腾过好一阵子!核心原因就是从启动器启动程序时,系统不会加载你在.bashrc或.profile里设置的用户级环境变量,而终端启动Sublime时会自动加载这些配置,所以才会出现终端能编译、启动器启动就报错的情况。下面给你三个实用的解决办法,挑你觉得顺手的来:
方法一:修改Sublime的桌面启动文件
- 首先找到Sublime的
.desktop配置文件,通常在两个位置:- 系统级:
/usr/share/applications/sublime-text.desktop - 用户级:
~/.local/share/applications/sublime-text.desktop(手动安装的Sublime大概率在这里)
- 系统级:
- 用文本编辑器打开它(系统级文件需要sudo权限,比如执行
sudo nano /usr/share/applications/sublime-text.desktop) - 找到
Exec=开头的那一行,修改为:
记得把Exec=bash -c "PATH=$PATH:/path/to/your/latexlive/bin/x86_64-linux subl %F"/path/to/your/latexlive/bin/x86_64-linux替换成你实际的LaTeX Live bin目录路径(可以在终端用echo $PATH查看你之前添加的路径) - 保存文件后,注销再重新登录系统,从启动器打开Sublime试试编译。
方法二:直接在LatexTools插件里指定latexmk的绝对路径
这个方法更精准,不用改动系统配置:
- 打开Sublime,按下
Ctrl+Shift+P调出命令面板,输入LatexTools: Settings - User并回车,打开插件的用户配置文件 - 在配置文件里找到(如果没有就手动添加)
"latexmk_path"这一项,设置为你latexmk命令的绝对路径,比如:
你可以先在终端用"latexmk_path": "/usr/local/texlive/2023/bin/x86_64-linux/latexmk",which latexmk命令获取这个绝对路径,确保不会写错 - 保存配置文件后,重启Sublime,再尝试编译
.tex文件。
方法三:将LaTeX Live路径添加到全局环境变量
这个方法会让所有程序都能访问到LaTeX Live的命令,一劳永逸:
- 打开终端,输入
sudo nano /etc/environment(需要管理员权限) - 在文件里找到
PATH=这一行,在现有的路径末尾加上你的LaTeX Live bin路径,用冒号分隔,比如:PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/usr/local/texlive/2023/bin/x86_64-linux" - 按下
Ctrl+O保存,Ctrl+X退出编辑器,然后注销并重新登录系统,这样不管从哪里启动Sublime都能找到LaTeX Live的命令了。
内容的提问来源于stack exchange,提问作者Zhang Yu
相关产品推荐
相关产品推荐

