Basit yol, bir zaman makinesi icat etmek, kabuk başlangıç dosyalarını tasarlayan çeşitli kişileri ziyaret etmek ve onlara üç şeyi temiz bir şekilde ayırt etmelerini söylemektir:
- oturum kurulumu, örneğin ortam değişkenleri;
- oturum başlatma, örn., bir komut satırı kabuğu veya pencere yöneticisi başlatma veya çalıştırma
startx
;
- kabuk başlatma, örneğin takma adlar, komut istemi, anahtar bağlamaları.
Bu bir taşınabilir şekilde oturum vs kabuk hakkını almak için çok zor değil: giriş zamanı başlatma gider .profile
(veya .zprofile
, ya da .login
), kabuk başlatma gider .bashrc
veya .zshrc
. Daha önce yazdım .bash_profile
, zsh'a karşı diğer mermiler , taşınabilirlik hakkında (çoğunlukla bash hakkında) , kimin okuduğu hakkında daha fazla.profile
.
Geriye kalan bir sorun, oturum kurulumu ile oturum başlatma arasında ayrım yapmaktır. Çoğu durumda, ~/.profile
oturum açtığınızda yürütülür ve her ikisi de ikiye katlanabilir, ancak istisnalar vardır:
- Giriş kabuğunuz (t) csh veya zsh ise
~/.login
ve ~/.zprofile
bunun yerine kaynaklanıyorsa ~/.profile
. Bash ve Ditto ~/.bash_profile
, ancak bu kolayca kaynak çözülür ~/.profile
dan ~/.bash_profile
.
- Bir görüntüleme yöneticisi (xdm, gdm, kdm,…) altında oturum açarsanız
~/.profile
, okunup okunmadığı programın sürümüne, dağıtımınıza (Linux veya başka türlü) ve seçtiğiniz oturum türüne bağlıdır.
- Sizin için bir oturum başlatmak üzere görüntüleme yöneticisine güveniyorsanız,
.profile
ortam değişkenlerini ayarlamanız gerekir , ancak bir oturum başlatmamalısınız (örn. Bir pencere yöneticisi).
- X oturumları için geleneksel yapılandırma dosyası
~/.xsession
hem oturum kurulumunu hem de oturum başlatma işlemini gerçekleştirir. Yani dosya aslında olabilir . ~/.xsession; . ~/.xinitrc
. Daha ~/.profile
önce bazı dağıtımlar kaynak ~/.xsession
. Modern dağıtımlar yalnızca ~/.xsession
ekran yöneticisinden bir "özel" oturum seçtiğinizde kaynaklanır ve bu tür bir oturum her zaman kullanılabilir değildir.
- Oturum yöneticinizin ortam değişkenlerini ayarlamak için kendi yolu olabilir. (Bu, bir yapılandırma dosyası aracılığıyla veya oturum açarken bir oturum türü seçerek seçtiğiniz masaüstü ortamınızın isteğe bağlı bir parçasıdır; kullanıcı tarafından yürütülen görüntü yöneticisi tarafından sağlanan oturum başlatma komut dosyalarıyla karıştırmayın, ancak Evet, bu bir karmaşa.)
Özetle, ~/.profile
ortam değişkenleri için doğru yer. Okunmuyorsa, kaynak yazmayı deneyin ~/.xsession
(ve X programlarınızı oradan başlatın) veya sisteme özgü bir yöntem arayın (dağıtımınıza, varsa ekran yöneticinize, ekran yöneticiniz varsa oturum türüne ve masaüstü ortamına veya oturum yöneticisi).
.profile
Yüklenmediniz mi veya yerel değişkenlerin üzerine başka bir şey mi yazılıyor? (Gibi diğer bazı değişken ayarlamayı deneyinexport MACIEJ_PROFILE=yes
emin olmak için.set -x
İçinde.profile
de yürütülmektedir ve sonra ne olduğunu kontrol etmek için iyi bir yol olabilir.profile
, hiç okumak eğer.) Kaynak hiçbir anlamı yoktur.profile
den.zshrc
.