[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: $PATH sorunu



<didactism neden="cok karistiriliyor">

* koray [2005-03-30 12:15:19+0300]
> /etc/profile dosyasi neden X altinda etki etmiyor?

Sirasiyla /etc/profile, [Bash icin ~/.bash_profile, ~/.bash_login,]
~/.profile dosyalari giris yapilan turde (login) kabuk oturumlarinda
okunan ilklendirme dosyalaridir. (bk. bash(1))

    Or. Herhangi bir sanal ucbirimden (Ctrl-Alt-F[1-6]) yapilan girisler

Giris tipinde olmayan fakat (calistirdiginiz bir kabuk betiginden farkli
olarak) kullaniciyla etkilesim halinde olan kabuk ilklendirmelerinde o
kabuga ozgu dosyalar okunur.  Bash icin sirasiyla /etc/bash.bashrc ve
~/.bashrc.

    Or. X altinda acilan bir XTerm ucbirimi

X'e gelince...  Gdm veya Xdm gibi bir oturum yoneticiyle bir parola
sorgusundan sonra actiginiz X oturumu, herhangi bir sanal konsoldan
actiginiz bir kabuk oturumundan farkli bir seydir ve kendine ozgu bir
ilklendirme semasi gerektirir.  X'e giris yapan bir kullanicinin giris
tipi ilklendirme dosyasini (*profile) bu sema dahilinde okumak (ne kadar
sIk olur ayri) mumkundur ve biraz da dagitima ozgu bir tasarim
kararidir.  Debian (ve bircok dagitim) bunu yapmaz, X oturumlari icin
ayri bir ilklendirme dosyasi kullanir:

    ~/.xsession

Kisacasi, ihrac edeceginiz ortam degiskeni X'e ozgu bir seyse onu
~/.xsession dosyasina koyacaksiniz.  Fakat bu isleri .xsession uzerinden
yurutmeye kalkisirsaniz, "madem bu ise karistin, al butun baslangici sen
ayarla" turunde bir yapilandirma yuku sizi bekler.  Ben boyle bir
teklifi memnuniyetle kabul ediyor ve degerlendiriyorum :-)  Kullandigim
~/.xsession dosyasini asagidaki bagdan inceleyebilirsiniz:

    http://kirkambar.net/svn/home/trunk/.xsession

> X altinda veya konsolda kullanicilarin degiskenleri (PATH vs) nerede 
> duruyor?
> onerileriniz nelerdir?

.profile ve .xsession tipinde ilklendirme semalari giris yaptiginiz
oturuma _cok ozgu_ "one-shot" degiskenler icin uygundur.  En kestirme
cozum bu isi "all-shot" yapmak :-)  Yani ~/.bashrc'yi kullanmak.  Tabii
bu dosyayi giris tipinde ilklendirmelerde de etkin kilmaniz lazim.
~/.bash_profile'a koyacaganiz asagidaki kanonik deyim bunu ve fazlasini
yapar:

    +-----------------[~/.bash_profile]-------------------+
    |                                                     |
    |	                                                  |
    |	...
    |
    |   # POSIX ilklendirmesi varsa oku.
    |	if [ -e ~/.profile ]; then
    |		. ~/.profile
    |	fi
    |
    |   # Etkilesimli Bash ilklendirmesi varsa oku.
    |	if [ -e ~/.bashrc ]; then
    |		# PATH'i bu dosyaya koyun.
    |		. ~/.bashrc
    |	fi
    |
    +---

Bu tur ayarlari (eger cok kisi tarafindan kullanilan bir makine degilse)
sistem genelinde etkili /etc/bash.bashrc dosyasina koymayin.  Gelecekte
bir sistem degisikligi yaptiginizda cok kolay kaybolur.  Altin kural
"herseyi ev dizininde tutun".

> tesekkur ederim

</didactism>

-- 
roktas

Attachment: signature.asc
Description: Digital signature


Reply to: