我已经安装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.sh
Herbert 建议的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:
sudo env PATH="$PATH" tlmgr --gui
。- 单击“操作->处理系统目录中的符号链接”。
- 单击“更新符号链接”。
使用命令行(未经测试,因为我使用了 GUI):
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