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 .bashrcveya .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, ~/.profileoturum 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
~/.loginve ~/.zprofilebunun yerine kaynaklanıyorsa ~/.profile. Bash ve Ditto ~/.bash_profile, ancak bu kolayca kaynak çözülür ~/.profiledan ~/.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,
.profileortam 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ı
~/.xsessionhem 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 ~/.xsessionekran 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, ~/.profileortam 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).
.profileYü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=yesemin olmak için.set -xİçinde.profilede 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.profileden.zshrc.