답변:
환경 변수에 대한 커뮤니티 위키 페이지 가 정렬하는 데 도움이 될 것이라고 생각 합니다.
sagarchalise의 답변에 추가하기 위해 링크가 설정을위한 적절한 장소로 제안하는 것을 요약 할 수 있습니다.
/etc/environment
/etc/profile
않거나/etc/bash.bashrc
페이지에서 :
/etc/environment
[...]는 시스템 전체 환경 변수 설정을위한 것입니다. 스크립트 파일은 아니지만 한 줄에 하나씩 할당 표현식으로 구성됩니다. 특히이 파일은 시스템 전체 로캘 및 경로 설정을 저장합니다.
사용 /etc/profile
은 매우 유닉스 방식이지만 Ubuntu에서는 기능이 크게 줄어 듭니다. /etc/bash.bashrc
항목 을 가리키고 수집 하기 위해서만 존재합니다 /etc/profile.d
.
내 시스템에서 profile.d의 유일한 흥미로운 항목은 /etc/profile.d/bash_completion.sh
입니다.
이전 버전의 Ubuntu 페이지가 권장 ~/.pam_environment
되었지만 현재 페이지가 작동하지 않으면 사용할 것을 제안합니다
~/.profile
-이것은 환경 변수 할당을 배치하기에 가장 적합한 파일 일 것입니다. 시작 프로세스 데스크탑 세션 동안 DisplayManager와 텍스트 콘솔에서 로그인 할 때 로그인 쉘에 의해 자동으로 실행되기 때문입니다.
~/.bash_profile
또는 ~./bash_login
-이들 중 하나가 존재 ~/.profile
하면 bash가 로그인 쉘로 시작될 때가 아니라 bash가이를 실행합니다 . 배시는 선호 ~/.bash_profile
합니다 ~/.bash_login
. [...]이 파일은 기본적으로 그래픽 세션에 영향을 미치지 않습니다. "
~/.bashrc
- "... 변수를 설정하기 가장 쉬운 곳"입니다. /etc/environment
을 언제 읽을 수 있습니까? SHELL=/bin/bash
/etc/environment
원하는을 JAVA_HOME="/opt/java"
하고 ANT_HOME="/opt/ant"
어떻게 그것을 할
당신이있어:
/ etc / profile : Bourne 쉘 (sh (1)) 및 Bourne 호환 쉘 (bash (1), ksh (1), ash (1), ...)에 대한 시스템 전체의 .profile 파일.
Lucid와 Maverick에서는
/etc/profile.d/*.sh
존재하고 사용자의 쉘이 bash 인 경우 :
/etc/bash.bashrc
사용자 환경의 경우, 쉘에 특정한 혼란스러운 배열과 "로그인 쉘"로 간주되는지 여부가 있습니다. 쉘이 bash 인 경우 :
~/.bash_profile
The personal initialization file, executed for login shells
~/.bashrc
The individual per-interactive-shell startup file
sh / dash의 경우 :
$HOME/.profile
zsh의 경우, 나는 이것을 이해 하려고 시도조차하지 않을 것 입니다.
https://help.ubuntu.com/community/EnvironmentVariables에서 권장하는대로 :
모든 사용자에게 영향을 미치는 글로벌 환경 변수는 들어가야 /etc/environment
합니다.
사용자 별 환경 변수는에 설정해야합니다 ~/.pam_environment
.
우분투에서 환경 변수를 설정하기 위해 프로파일 및 rc 파일을 피하십시오. 그들은 나보다 더 많은 두통을 일으켰습니다.
그러나 이것은 말보다 쉽습니다.)
나에게 존재했던 것과 동일한 구성 격차가 발생할 수 있습니다. 아래에서 암호화 된 홈에 대한 해결 방법을 참조하십시오.
~/.pam_environment
:PATH DEFAULT=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:${HOME}/bin
IDEA_JDK DEFAULT=${HOME}/Applications/jdk
왜 못생긴 정적 경로입니까? ${PATH}
나를 위해 작동하지 않습니다. 나는 내 로그인을 여러 번 돌파하여 해결하려고 노력했다. 그래서 디폴트의 추악한 정적 사본을 고수하고있다 :)
Ubuntu 릴리스에서 Precise 12.04 Beta 2까지는 암호화 된 홈 디렉토리를 사용하는 경우 /etc/pam.d/common-session
이를로드 하도록 수정해야합니다 ~/.pam_environment
. 이 솔루션은 분명히 이전 릴리스에서 작동하지만 테스트하지는 않았습니다.
암호화 된 홈 디렉토리에 문제가있는 것 같습니다. 나는 덧붙였다
필요한 세션 pam_env.so
/etc/pam.d/common-session의 끝에서 ~ / .pam_environment를 읽습니다. 암호화 된 홈 디렉토리 (또한 10.04)가없는 다른 시스템에서는 해결 방법이 필요하지 않습니다. 아마도 내 경우에는 시스템이 해독되기 전에 ~ / .pam_environment를 읽으려고합니다.
슈퍼 유저에 대한 나의 답변에서 적응 : https://superuser.com/a/408373/66856
${HOME}
작동하지 않습니다. 에 확장이 없습니다 .pam_environment
.
.pam_environment
있지만 HOME
일반적으로 초기에 설정되지 않았습니다. 해당 줄이 읽은 경우 삽입 된 DEFAULT=${PATH}/Applications/jdk
값을 보았을 PATH
것입니다.