Fazendo mudanças no PATH permanente

3

Estou tentando configurar o Latex e, como parte disso, preciso adicionar à $PATH . Algo que eu li (provavelmente aqui) disse que modificar /etc/environment foi melhor do que adicionar a .profile (acho que porque muda as coisas para todos os usuários?).

Eu fiz isso e, quando executo . /etc/environment , para o restante da sessão de terminal, tudo funciona bem. Quando eu abro um novo terminal, os comandos como latex não funcionam novamente. Reiniciar o computador também não faz com que as alterações em /etc/environment sejam efetivas em sessões de shell.

O que posso fazer para que essas alterações ocorram no sistema inteiro?

UPDATE: acabei instalando através do PPA mencionado nos comentários, que instalaram o Tex Live 2016 (e definiram as variáveis de ambiente) sem problemas.

    
por Mark 21.12.2016 / 13:09

2 respostas

5

Você parece estar fazendo duas perguntas diferentes. O primeiro está relacionado a mudar variáveis em todo o sistema e o outro relacionado para fazer o LaTeX funcionar, então aqui está a resposta para os dois:

Alterar variáveis de ambiente em todo o sistema

Como descrito aqui , você pode adicionar um arquivo em /etc/profile.d/ , que possui a variável PATH nele:

export PATH=$PATH:<your particular latex path>

Chame /etc/profile.d/latex-path.sh e será originado por qualquer shell que você logar.

Se você quiser alterar a variável PATH apenas para seu usuário, o método preferido é editar o ~/.profile com a mesma linha

Faça o LaTeX funcionar sem problemas

O pacote LaTeX pode ser instalado nos repositórios do universo como descrito aqui e não é necessário alterar o PATH variável. Certifique-se de ter ativado o repositório e a entrada do universo:

sudo apt update
sudo apt install texlive

Ou se você gosta da distribuição completa (isto irá instalar muito mais pacotes, então pegue uma xícara de café):

sudo apt install texlive-full
    
por Joaquín Aramendía 21.12.2016 / 13:45
4

/etc/environment é criado e mantido pelo módulo pam_env PAM, não pelo seu shell (portanto, você não deve source it). Este arquivo é lido por programas de login típicos. Então você precisa fazer o logout / login da maneira usual para ver as mudanças (assumindo que você não está modificando o PATH de algum lugar depois).

No meu sistema, ele é lido por:

% grep -l '^[^#].*pam_env' /etc/pam.d/* 
/etc/pam.d/atd
/etc/pam.d/cron
/etc/pam.d/lightdm
/etc/pam.d/lightdm-autologin
/etc/pam.d/lightdm-greeter
/etc/pam.d/login
/etc/pam.d/polkit-1
/etc/pam.d/sshd
/etc/pam.d/su
/etc/pam.d/sudo

Se não estiver sendo definido com o valor declarado exato, mesmo depois de reiniciar o computador:

  • Você pode ter cometido algum erro de sintaxe, observe que a sintaxe da declaração seria KEY=VALUE (por linha). Por exemplo, PATH=/foo/bar:/spam/egg

  • Você está sobrescrevendo o PATH depois, por exemplo a partir de um arquivo de inicialização de sessão do shell

por heemayl 21.12.2016 / 13:25