Doğru yerler nelerdir:
Bence çevre değişkenleri hakkındaki topluluk wiki sayfası sıralamanıza yardımcı olur
Sagarchalise'nin cevabına eklemek için, bağlantının ayarlar için uygun yerler olarak önerdiği şeyleri özetleyebilirim.
/etc/environment
kullanın/etc/profile
veya /etc/bash.bashrc
kullanmayınSayfadan:
/etc/environment
[...] özellikle sistem çapında ortam değişken ayarları içindir. Bir komut dosyası değil, her satırda bir tane olmak üzere atama ifadelerinden oluşur. Özellikle, bu dosya sistem genelindeki yerel ayarları ve yol ayarlarını saklar.
/etc/profile
kullanmak, gitmek için çok Unix-y bir yoldur, ancak işlevselliği Ubuntu altında büyük ölçüde azaltılmıştır. Yalnızca /etc/bash.bashrc
işaret etmek ve /etc/profile.d
adresinden giriş toplamak için var.
Sistemimde, profile.d'deki tek ilginç giriş girişi /etc/profile.d/bash_completion.sh
.
Ubuntu sayfasının önceki bir sürümü, ~/.pam_environment
’i önerdi, ancak sayfa şu anda bu işe yaramazsa, kullanmanız gerektiğini önerir.
~/.profile
- Bu muhtemelen ortam değişken atamalarını yerleştirmek için en iyi dosyadır, çünkü başlangıç işlemi masaüstü oturumu sırasında otomatik olarak DisplayManager tarafından ve bir metin konsolundan oturum açtığında oturum açma Shell tarafından otomatik olarak yürütülür.
~/.bash_profile
veya ~./bash_login
- Bunlardan biri varsa, bash bir oturum açma Kabuğu olarak başlatıldığında, bash, ~/.profile
yerine çalıştırır. Bash, ~/.bash_profile
- ~/.bash_login
tercih edecektir. [...] Bu dosyalar varsayılan olarak grafiksel bir oturumu etkilemeyecek. "
~/.bashrc
- "... değişkenleri ayarlamak için en kolay yer olabilir".Sende:
/ etc/profile: Bourne Kabuğu (sh (1)) ve Bourne uyumlu kabukları (bash (1), ksh (1), ash (1), ...) için sistem genelinde .profile dosyası.
lucid ve Maverick’in içinde olan
/etc/profile.d/*.sh
varsa ve kullanıcının Kabuğu bash ise:
/etc/bash.bashrc
Kullanıcı ortamı için, Shell'e özgü ve "login Shell" olarak kabul edilip edilmediği konusunda kafa karıştırıcı bir dizi vardır. Eğer Shell bash ise:
~/.bash_profile
The personal initialization file, executed for login shells
~/.bashrc
The individual per-interactive-Shell startup file
sh/dash için:
$HOME/.profile
zsh için bile denemeyeceğim bile bunu anlamak için .
Önerildiği gibi https://help.ubuntu.com/community/EnvironmentVariables :
Tüm kullanıcıları etkilemek isteyen küresel ortam değişkenleri, /etc/environment
içine girmelidir.
Kullanıcıya özel ortam değişkenleri ~/.pam_environment
ile ayarlanmalıdır.
Ubuntu'da ortam değişkenlerini ayarlamak için profil ve rc dosyalarından kaçının. Bana değerlerinden daha fazla baş ağrısına neden oldular.
Bu, söylenenden daha kolay ancak;
Benim için var olan konfigürasyon boşluğuyla karşılaşmanız mümkündür. Aşağıdaki şifreli ana sayfa için geçici çözümü inceleyin.
~/.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
Neden çirkin statik yol? ${PATH}
benim için işe yaramazdı. Girişimi birkaç kez buralarda çalışmayı denedim, ben de varsayılanların çirkin statik kopyasını yapıyorum :)
Ubuntu'da Precise 12.04 Beta 2 sürümüne kadar olan sürümleri içerir, şifreli bir ev dizini kullanıyorsanız, /etc/pam.d/common-session
'u yüklemesini sağlamak için ~/.pam_environment
öğesini değiştirmeniz gerekecektir. Bu çözüm görünüşte daha önceki sürümlerde işe yarar, ancak test etmedim.
Bu şifreli ev dizinleri ile ilgili bir sorun gibi görünüyor. ekledim
oturum gerekli pam_env.so
/etc/pam.d/common-session'ın sonunda ve şimdi ~/.pam_environment okunur. Şifrelenmiş ev dizinleri olmayan başka bir sistemde (ayrıca 10.04), etrafta çalışmak gerekmez. Belki de benim durumumda sistem şifresini çözmeden önce ~/.pam_environment okumaya çalışır.
Süper Kullanıcı hakkındaki cevabımdan uyarlandı: https://superuser.com/a/408373/66856