sudo tlmgr --gui 无法识别我的 SU/管理员权限,标记“未找到命令”。tlmgr --gui 可以工作,但无功能!

sudo tlmgr --gui 无法识别我的 SU/管理员权限,标记“未找到命令”。tlmgr --gui 可以工作,但无功能!

tlmgr 是许多问题的根源(请参阅我之前的帖子),这些问题在 nuke-and-pave 之后消失了。然后我能够使用标准 GUI 界面访问 tlmgr。现在(一周后)我可以从终端运行 tlmgr,但响应是:

You don't have permission to change the installation in any way,
specifically, the directory /usr/local/texlive/2022/tlpkg/ is not writable.
Please run this program as administrator, or contact your local admin.

如果我尝试运行sudo tlmgr --gui,它会返回sudo: tlmgr: command not found

我如何让 HAL 打开舱门?

答案1

猜测tlmgr在你的路径上,这就是为什么你可以运行它(而不能做任何事情)。但是,它似乎不在root的路径上,因此运行sudo tlmgr会出现command not found

要解决这个问题,您可以使用完整路径sudo /usr/local/texlive/2022/bin/x86_64-linux/tlmgr(在那里替换您的路径),也可以将路径添加到root的路径变量中。对于第二种方法,以 身份启动 shell root(最简单的方法是sudo -i),并使用您乐于使用的编辑器进行编辑~/.bashrc(假设bash是您选择的 shell,还请注意这是root.bashrc,而不是您的 ),并添加类似于 的命令export PATH=/usr/local/texlive/2022/bin/x86_64-linux:${PATH}。保存该文件并返回到您的正常 shell 后,sudo tlmgr应该可以按预期工作。(我想我的路径是正确的,但我是根据记忆来的,因为我现在手边没有本地安装的 TeX Live 2022)

另外,通常我不会以 root 身份安装 TeX Live,我会创建一个专用texlive用户(具有主目录/usr/local/texlive),并在其下安装。要使用它,请运行sudo su - texlive以用户身份启动 shell texlive,然后根据需要使用来执行管理员操作。到目前为止,我对这种设置没有任何问题,但我是唯一使用该计算机的人。当然,如果您这样做,tlmgr您需要适当地设置您的。PATH

编辑:感谢@DavidCarlisle(关于另一个问题)提醒我们,将 texlive 路径放在第一位可以解决某些问题。

相关内容