Instalei o TeX Live 2011 vanilla e tenho problemas para definir o caminho do TeX Live para raiz (no Ubuntu 11.10).
O problema é que, quando corro sudo tlmgr
, recebo:
sudo: tlmgr: command not found
Para corrigir o caminho para não-root, bastava adicionar
PATH=/usr/local/texlive/2011/bin/x86_64-linux:$PATH
para /etc/profile
.
Tentei adicionar essa mesma linha a /root/.bashrc
e também tentei adicioná-la /etc/profile.d/zzz-texlive.sh
como sugere Herbert em /tex/26624/tlmgr-inaccessible/26626#26626, mas não ajuda.
Respostas:
Solução rápida: como você já possui o
$PATH
conjunto correto em seu ambiente (através das/etc/profile
modificações), pode usar: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 aPATH
variável no ambiente detlmgr
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:e então você pode simplesmente emitir isso em um prompt de comando:
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:
Novamente, você pode definir um alias de comando do shell para encurtar isso:
que pode ser usado como:
fonte
$PATH
no meu ambiente? Além disso, tenho de fazerenv
todos os comandos no caminho do TeX Live que desejo ativarsudo
? Existem muitos binários em / usr / local / texlive / 2011 / bin / x86_64-linux que você pode querer executar como root.Se você adicionar os links simbólicos, não precisará criar um script. Você pode fazer isso de duas maneiras:
Usando a GUI:
sudo env PATH="$PATH" tlmgr --gui
.Usando a linha de comando (não testada, desde que usei a GUI):
sudo env PATH="$PATH" tlmgr path add
. (encontre mais informações na documentação do tlmgr )fonte
O que funcionou para mim: comecei
tlmgr
no modo GUI come, em seguida, no terceiro menu, escolha o último item, exceto um (no meu menu alemão, que é o menu "Aktionen" (ações?) e o item "Verwaltung der symbolischen Links" (administração de links simbólicos?). clicou no botão "Symbolische Links erneuern" (renovar links simbólicos?).
funciona sem problemas. Tenho certeza de que também há uma maneira de fazer isso na linha de comando;)
fonte
Para passar o arquivo
$PATH
para o usuário,sudo
modifiquei/etc/sudoers
usando ovisudo
comando e adicione a seguinte linha:Agora eu posso executar (por exemplo)
ou
e tudo funciona perfeito.
Eu gostaria muito de receber comentários sobre essa abordagem.
fonte
Você realmente não precisa adicionar o diretório de
tlmgr
ao caminho. Uma solução rápida e simples está usandowhich
, por exemplo:fonte
Não é uma boa prática instalar e gerenciar o TeX Live usando privilégios de "root". Em vez disso, crie o
/usr/local/texlive
diretório, por exemplo, usando sudo e altere a propriedade para o usuário que gerenciará o TeX Live. Depois disso, o TeX Live pode ser instalado e atualizado sem o uso de privilégios "root".fonte