Швидке виправлення: оскільки у вас вже є правильний $PATH
набір у вашому оточенні (за допомогою /etc/profile
модифікацій), ви можете використовувати:
sudo env PATH="$PATH" tlmgr
По суті, sudo скидає значення
$PATH
(усе середовище, справді) до "відомого хорошого", і, таким чином, ігнорує будь-які зміни, які ви внесли в місцеве середовище. Команда
env вище встановлює PATH
змінну в середовищі виконуваного tlmgr
нею середовища , тому вона запускається зі значенням, яке $PATH
ви вказали в командному рядку.
Щоб увести все те для кожної команди TeXlive, ви можете визначити
псевдонім у своїй оболонці: додайте наступний рядок до .bashrc
файлу у вашому домі:
alias psudo='sudo env PATH="$PATH"'
і тоді ви можете просто надати це в командному рядку:
psudo tlmgr
Крім того, sudo не запускає оболонку входу для виконання команди, тому ваші трюки "profile.d" не працювали для root. Ви можете змусити
sudo виконувати команду в оболонці, що є альтернативним способом досягнення того ж ефекту:
sudo sh -l -c tlmgr
Знову ви можете визначити псевдонім команди оболонки, щоб скоротити це:
alias shsudo='sudo sh -l -c'
який можна використовувати як:
shsudo tlmgr