Solução rápida: como você já possui o $PATH
conjunto correto em seu ambiente (através das /etc/profile
modificações), pode usar:
sudo env PATH="$PATH" tlmgr
Basicamente, o sudo redefine o valor de
$PATH
(todo o ambiente, de fato) para um "bem conhecido" e, portanto, ignora todas as alterações feitas no ambiente local. O
comando env acima define a PATH
variável no ambiente de tlmgr
sua execução, portanto, é executada com o valor $PATH
especificado na linha de comando.
Para evitar digitar tudo isso para cada comando do TeXlive, você pode definir um
alias no seu shell: adicione a seguinte linha ao .bashrc
arquivo em sua casa:
alias psudo='sudo env PATH="$PATH"'
e então você pode simplesmente emitir isso em um prompt de comando:
psudo tlmgr
Além disso, o sudo não executa um shell de login para executar o comando, e é por isso que seus truques "profile.d" não funcionaram para o root. Você pode forçar o
sudo a executar um comando em um shell, que é uma maneira alternativa de obter o mesmo efeito:
sudo sh -l -c tlmgr
Novamente, você pode definir um alias de comando do shell para encurtar isso:
alias shsudo='sudo sh -l -c'
que pode ser usado como:
shsudo tlmgr