Eu já vi outras pessoas na Internet também tendo esse problema, mas as soluções não foram conclusivas, então eu queria chamar a atenção novamente.
De acordo com esta página no wiki do Ubuntu:
link
a maneira recomendada de definir variáveis de ambiente para toda a sessão é modificar o ~ / .pam_environment.
Aqui está o meu objetivo:
- Eu quero criar uma variável de ambiente ANDROID_HOME que tenha um caminho para um determinado local na minha pasta pessoal como um valor.
- Eu quero adicionar duas pastas ao PATH.
Aqui está o que eu fiz. O arquivo ~ / .pam_environment era inexistente, então criei-o e adicionei as seguintes linhas a ele:
ANDROID_HOME=${HOME}/Android/Sdk
PATH DEFAULT=${PATH}:${ANDROID_HOME}/tools:${ANDROID_HOME}/platform-tools
Saiu e efetuou login novamente.
O resultado não é esperado. Eu abri o terminal e fiz o eco de $ ANDROID_HOME e foi o que consegui:
${HOME}/Android/Sdk
Parece que o ${HOME}
não foi substituído pelo caminho da minha pasta pessoal. Por que isso acontece?
Observe cd
-ing como $ ANDROID_HOME (o Android / Sdk realmente existe na minha pasta pessoal):
anvar@crazymachine:~$ cd $ANDROID_HOME
bash: cd: ${HOME}/Android/Sdk: No such file or directory
Também ecoar o $ PATH me deu isto:
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:${HOME}/Android/Sdk/tools:${HOME}/Android/Sdk/platform-tools
Por que as variáveis não são substituídas por seus valores, como seria lógico supor, especialmente quando o exemplo no site mencionado deu a impressão de que variáveis podem ser usadas dentro dos valores?
Qual é o caminho certo para definir variáveis de ambiente para toda a sessão que também têm acesso aos programas GUI?