为根设置 TeX Live 路径

为根设置 TeX Live 路径

我已经安装TeX Live 2011 原始版本并且我在设置根目录的 TeX Live 路径时遇到了麻烦(在 Ubuntu 11.10 中)。

问题是当我运行时sudo tlmgr我得到:

sudo: tlmgr: command not found

要修复非 root 用户的路径,只需添加

PATH=/usr/local/texlive/2011/bin/x86_64-linux:$PATH

/etc/profile

我尝试将同一行添加到/root/.bashrc,也尝试将其添加到/etc/profile.d/zzz-texlive.shHerbert 建议的https://tex.stackexchange.com/questions/26624/tlmgr-inaccessible/26626#26626 但这没有帮助。

答案1

$PATH快速修复:由于您的环境中已经拥有正确的设置(通过/etc/profile修改),您可以使用:

sudo env PATH="$PATH" tlmgr

基本上,须藤将(实际上是整个环境)的值重置 $PATH为“已知良好”的值,从而忽略您对本地环境所做的任何更改。 环境PATH上面的命令在其执行的环境中设置变量,因此它使用您在命令行上指定tlmgr的值运行。$PATH

为了避免为每个 TeXlive 命令输入所有内容,您可以定义一个 别名在您的 shell 中:将以下行添加到.bashrc您的主目录中:

alias psudo='sudo env PATH="$PATH"'

然后您只需在命令提示符下发出以下命令即可:

psudo tlmgr

此外,须藤不运行登录 shell 来执行命令,这就是为什么你的“profile.d”技巧对 root 不起作用的原因。你可以强制 须藤在 shell 中执行命令,这是实现相同效果的另一种方法:

sudo sh -l -c tlmgr

再次,您可以定义shell 命令别名简而言之:

alias shsudo='sudo sh -l -c'

可用作:

shsudo tlmgr

答案2

如果添加符号链接,则无需编写脚本。您可以通过两种方式执行此操作:

使用 GUI:

  1. sudo env PATH="$PATH" tlmgr --gui
  2. 单击“操作->处理系统目录中的符号链接”。
  3. 单击“更新符号链接”。

使用命令行(未经测试,因为我使用了 GUI):

  1. sudo env PATH="$PATH" tlmgr path add. (更多信息请访问tlmgr 文档

答案3

对我有用的是:我tlmgr以 GUI 模式开始

sudo env PATH="$PATH" tlmgr --gui

然后在第三个菜单中选择倒数第二项(在我的德语菜单中,即菜单“Aktionen”(操作?)和项“Verwaltung der symbolischen Links”(符号链接管理?)。在随后的对话窗口中,我单击了按钮“Symbolische Links erneuern”(更新符号链接?)。现在

sudo tlmgr --OPTIONS

运行起来没有问题。我相信也有命令行方式可以做到这一点 ;)

答案4

您确实不必将目录添加tlmgr到路径中。一个简单快速的解决方案是使用which,例如:

sudo $(which tlmgr) update --list

相关内容