tlmgr не обнаружен при запуске от имени пользователя root

Я установил TeXLive и добавил / usr / local / texlive / 2019 / bin / x86_64-linux в свой $ PATH через / etc / environment , поэтому я смогу запустить tlmgr с терминала. Я могу сделать это как пользователь без полномочий root:

johndoe@pc:~$ tlmgr update --all
tlmgr: package repository http://ftp.math.purdue.edu/mirrors/ctan.org/systems/texlive/tlnet (verified)
You don't have permission to change the installation in any way,
specifically, the directory /usr/local/texlive/2019/tlpkg/ is not writable.
Please run this program as administrator, or contact your local admin.
tlmgr: An error has occurred. See above messages. Exiting.

Я получаю сообщение об ошибке, но в этом нет ничего странного, чтобы обновить пакеты, мне, очевидно, нужно запустить tlmgr от имени пользователя root - и вот где у меня проблемы:

johndoe@pc:~$ sudo tlmgr update --all
[sudo] password for johndoe: 
sudo: tlmgr: command not found

Тем не менее, если я проверю содержимое / etc / environment , оно включает / usr / local / texlive / 2019 / bin / x86_64-linux :

johndoe@pc:~$ cat /etc/environment
PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/usr/local/texlive/2019/bin/x86_64-linux"

В в предыдущей установке Ubuntu мне удалось это исправить, поэтому я уверен, что есть способ сделать это, но понятия не имею, что я сделал. Есть предложения?

Я не знаю, какая дополнительная информация может быть полезна, при необходимости спрашивайте в комментариях.

Обновление

Я работаю с Ubuntu 19.10 (Eoan Ermine). Я установил TeXLive «через Интернет», потому что это рекомендуется на странице «Приобрести TeX Live» .

0
задан 29 January 2020 в 16:22

2 ответа

У меня такая же проблема с Ubuntu 18.04 MATE и TeXLive 2020. Раньше я справлялся с этой проблемой, изменяя разрешение папки TEXDIR (например, / usr / local / texlive / 2020). Но это не так уж и элегантно. Полагаю, есть способ лучше решить эту проблему.

0
ответ дан 23 April 2020 в 11:42

У меня тоже такая проблема. В частности:

  • Я могу запустить tlmgr.
  • sudo не может запустить tlmgr, выдавая «sudo: tlmgr: команда не найдена».
  • sudo может запустить tlmgr, если я укажу ему явный путь к этому файлу /usr/local/texlive/.../tlmgr (поэтому я знаю, что проблема не в разрешениях на tlmgr).

Я исследовал и нашел этот ответ на Команда не найдена при использовании sudo.

Похоже, что когда я устанавливал TeX Live 2020, я добавил каталог texlive в путь для своего пользователя, но не для суперпользователя. Чтобы проверить это, запустите:

env | grep ^PATH

чтобы увидеть свой путь, а затем

sudo env | grep ^PATH

чтобы увидеть путь суперпользователя. Для меня в пути суперпользователя отсутствует каталог texlive, поэтому я могу запустить tlmgr, но не sudo tlmgr.

Опции:

  1. Вы можете попросить sudo запустить, указав полный путь к tlmgr (найдите его, используя locate tlmgr, если вы не знаете, где он находится).

  2. Вы можете попросить sudo запуститься с вашим путем вместо пути суперпользователя, запустив sudo -E env "PATH=$PATH" tlmgr.

  3. Вы можете изменить путь суперпользователя, если уверены, что знаете, что делаете, используя visudo.

2
ответ дан 13 July 2020 в 08:59

Другие вопросы по тегам:

Похожие вопросы: