Solução rápida: como você já possui o $PATHconjunto correto em seu ambiente (através das /etc/profilemodificaçõ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 PATHvariável no ambiente de tlmgrsua execução, portanto, é executada com o valor $PATHespecificado 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 .bashrcarquivo 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