通过终端和应用程序启动器启动程序的差异

通过终端和应用程序启动器启动程序的差异

我正在尝试使用 Vim LaTex-Suite 运行 GVim 以便能够编译 LaTeX 文档。我有两种运行 GVim 的方法:

  1. 打开终端,然后输入 gvim 并输入
  2. 使用应用程序启动器,例如 Xubuntu 上的 xfce4-appfinder 或 i3 上的 dmenu_run

当我使用方法 1 并通过终端启动 GVim 时,我可以很好地编译,但是当我通过启动器通过方法 2 启动 GVim 时,!pdflatex -interaction=nonstopmode main.tex从 GVim 运行命令时我无法编译。它说:

kpathsea:运行 mktexfmt pdflatex.fmt

mktexfmt:没有这样的文件或目录

我找不到格式文件“pdflatex.fmt”!

我不确定这是 GVim 或 LaTeX-Suite 的问题,因为它正在工作,但仅取决于我启动它的方式。

您对如何使其适用于方法 1 和 2 以及为什么会发生这种情况有什么想法吗?

谢谢!

答案1

此类错误的一个常见原因是 shell 环境的差异。很可能您的PATH变量和/或当前工作目录不同并影响您的脚本。

您可以通过一个程序进行检查。

要检查环境和工作目录的差异,请执行以下操作:

  1. 从终端开始,gvim然后gvim输入:

    :!env > /tmp/env.terminal
    
  2. 从启动器开始gvim,然后gvim输入:

    :!env > /tmp/env.launcher
    
  3. 在终端窗口的 shell 提示符下,输入

    diff /tmp/env.terminal /tmp/env.launcher
    

diff命令将显示两个实例的环境差异gvim

看看环境的差异。请务必检查PATH和变量的值PWD

相关内容