Solução
Quando você for root, use este sudo -sE
ou este su -p
para preservar as variáveis de ambiente na sessão atual.
Explicação
Seu sistema está usando texlive
versões diferentes para usuários diferentes, e isso é devido à variável de ambiente PATH
.
Quando você estiver no terminal e digitar um comando, o shell procurará o programa correspondente nos diretórios PATH
. Mas o problema é que há uma prioridade diferente quando o shell procura por um programa no PATH
. Por exemplo, eu tenho essa variável PATH
:
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin:/snap/bin:/snap/bin
Se eu digitar date
no terminal, o shell irá procurar pelo programa date
no diretório /usr/local/sbin
, caso não seja encontrado ele procurará em /usr/local/bin
, caso não seja encontrado ... até que ele olhe em todos os diretórios.
Quando você instalou manualmente texlive
2016, em algum momento você usou a instrução PATH=/usr/local/texlive/2016/bin/x86_64-linux/:$PATH
. Desta forma, você fez o seu shell olhar primeiro no diretório /usr/local/texlive/bin/x86_64-linux/
se você digitar qualquer comando. O único problema é que as instruções abaixo não foram aplicadas a todos os usuários, portanto, quando você for root, sua variável PATH
será restaurada para seu conteúdo original.
É por isso que ao executar o mesmo comando a partir de masi
e root
você tem dois programas diferentes. A solução é usar sudo -sE
ou su -p
para preservar as variáveis de ambiente do usuário anterior.