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

Re: Kmail ve liste sorunu - /etc/environment hakkında



Tartışmanın kalanına karışmak istemiyorum, ancak GDM konusunda ufak
birkaç detay var. GDM kendi yerel bilgisini /etc/environment dosyasından
almaz. Zira GDM bir PAM oturumu içinde değil de açılış betiği
marifetiyle başlatıldığından "kendi" yerel bilgilerini o açılış
betiğinden alır. Bu açılış betiği ise GDM'in "kendi" yerel bilgisini
/etc/default/gdm dosyasından okur. Bu konu ile ilgili detaylı bir
tartışma http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=%23133578
adresinde mevcut.

Tabii giriş işlemi gerçekleştikten sonra kullanıcının yerel ayarları ile
PAM ilegilenir ve yerel ayarlarını /etc/environment dosyasına göre
ayarlar.

Thus saith Nilgün Belma Bugüner :
> Selam,
> 
> Cum 17 Haz 2005 18:53 sularında, Murat Demirten şunları yazmıştı: 
> > Selamlar,
> > 
> > Burada atlanan bir nokta üzerinde durmakta fayda var.
> > 
> > /etc/environment halen daha standartlar içerisinde yer alan ve kullanımı 
> > eldeki şartlara göre devam edecek olan, gerekli bir dosya.
> > 
> > Özet olarak, /etc/environment dosyası, exec() çağrısı ile çalıştırılan 
> > süreçler tarafından okunur ve içindeki değerler geçerli ortam değişkenlerine 
> > atanır.
> > 
> > /etc/environment her exec() çalıştığında okunurken, /etc/profile login olarak 
> > girilen oturumlarda dikkate alınır. Bu yüzden de, /etc/profile dosyası bir 
> > shell script olabiliyorken, /etc/environment dosyasında sadece
> > DEĞİŞKEN=DEĞER
> > formatında atamalar yapılabilmektedir. exec() tüm bu DEĞİŞKEN'leri, 
> > karşısındaki DEĞER ile çalışan sürecin ortam değişkenleri arasına ekler.
> > 
> > Bir program/süreç ortam değişkenlerine sıkı bir bağımlılık içeriyorsa, ilgili 
> > programa her durumda aynı ortamı sunabilmek için geçerli yol, ihtiyaç duyduğu 
> > değişkenleri /etc/environment dosyası içerisinde bulundurmaktan geçer. Bu 
> > sayede hem login olunduktan sonra çalıştırıldığında, hem de sözgelimi cron 
> > tarafından veya açılışta rc betikleri tarafından çalıştırıldığında aynı 
> > şekilde çalışmasına devam eder.
> > 
> > Ancak durum böyle iken, /etc/environment dosyası üzerinden değişkenleri 
> > ayarlamaya mecbur kalınan senaryolar pratikte fazlaca değil.
> > 
> > Debian'daki kullanımı ayrıca tartışılabilir ama durum bu şekildedir.
> > 
> O halde tartışalım.
> Bu dosya içinde yerel ile ilgili atamalar olmazsa sorun çıkmayacaktır.
> Yerel ayarları ile ilgili atamaların bu dosyada bulunmasının
> sebebi gdm'nin kullanıcı ile türkçe iletişim kurmasını sağlamaktan
> ibaretmiş gibi görünüyorsa da pratikte böyle olmuyor.
> Birçok uygulama bu dosyaya bakıyor anladığım kadarıyla ve yerel 
> ayarını kullanıcı seviyesinde değiştirseniz bile /etc/environment
> dosyasından alınan LANG değerine göre uygulama kendini yapılandırıyor.
> KDE dahil!!!
> 
> Bunun pratikteki etkisini bir uygulamadan --help seçeneği ile
> aldığınız çıktıda görebilirsiniz (iconv --help gibi).
> 
> set-language-env betiği ister root, ister sıradan kullanıcı olarak
> çalıştırılsın /etc/environment dosyasının içeriğinde değişiklik yapmıyor.
> Kurulum sırasında seçilen dile bağlı olarak bu dosyanın içi
> dolduruluyor ve öyle kalıyor. Bizim  için önemli olan LANG değişkeni ve
> bu değişkenin /etc/environment dosyasındaki değeri tr_TR.
> Yani ISO-8859-9 kodlamasını etkinleştiriyor.
> 
> Ben ilk önce bu ayarı Debian usulüyle yapmak istedim ve set-language-env
> betiğini kullanarak yerelimi tr_TR.UTF-8 yaptım.
> 
> KDE'yi yeniden açtığımda, pencere başlıklarında bazı türkçe 
> karakterlerin yerinde bir çift kutu gördüm.
> 
> Bir KDE konsolu açtım. Konsola türkçe karakter yazamadım.
> locale komutunu verdim. Sonuçlar tr_TR.UTF-8'di. iconv --help
> yazdım. Türkçe karakterler UTF-8 karakterlerin dahili değerleriyle
> çıktılandı. Yani uçbirim aslında UTF-8 değil ISO-8859-9'du.
> 
> Böyle birşeyle hiç karşılaşmadığım için tam anlamıyla bir şaşkınlık
> içindeydim. Epey bir aramadan sonra suçlu ortaya çıktı.
> /etc/environment dosyasını kaldırınca bu tuhaflıklar ortadan kalktı.
> 
> Şimdi, gdm için ne yapılabilir diye sorarsak, yanıtım, login
> öncesi yerel ayarı vc/0 seviyesinde açılış betiklerinde yapılsın
> derim. /etc/environment dosyasında değil.  O zaman böyle sorunlar 
> (login öncesi yerel ayarlarının kullanıcı tercihlerini yoksayması)
> ortaya çıkmayacaktır. Tabii burada devreye /etc/sysconfig/
> dizini girecektir. Benim bildiklerim, Knoppix (HD kurulumu), 
> Suse, RH ve Fedora login öncesi yerel ayarını bu şekilde yapıyor.
> Ayrıca bu yöntemle linux konsolu da doğru yapılandırılır. Maalesef
> linux konsolu, klavye dosyasının ctrl+alt+8/9 tuşlarının insafına
> terkedilmiş durumda. Onları iyi ki yazmışım :-) 
> 
> 
> Konu dışı:
> Bu arada belirtmeden geçemeyeceğim. Sanırım libc'de bir debian
> yaması var. Ben yeni para birimini içeren tr_TR dosyası ile
> libc yerellerini derlemek istedim. Uluslararası para birimi
> ISO-4217'ye uygun değil diye yereli derlemedi. Biliyorsunuz,
> para birimimiz bu standartta yayınlandıktan sonra, libc
> yerelinde para birimimizi değiştirdim (libc yerelimizin libc
> seviyesinde sorumlusu benim). Ancak, libc'yi bu denetimi yapacak
> şekilde yamayan standart düşkünleri, nedense standartlarını
> güncellememişler. Benim için para birimimizi dosyada
> değiştirmek sorun değil, TRY'yi TRL yaptım ve yerelleri
> derledim.
> 
> Aynı standartlara uyma duyarlılığını SysV için neden göstermemişler de
> /etc/environment gibi sorunlu bir dosyayla login öncesi yereli 
> ayarlamaya kalkmışlar, anlamak zor.
> 
> 
> Esen kalın,
> Nilgün
> 
> > gdm örneğinde, gdm servisi login olunan bir oturumdan başlatılmadığı 
> > için, /etc/environment dosyasını okuduktan sonra, profile dosyalarını 
> > bakmıyor ve o şekilde açılıyordur. Ancak bir kullanıcı adı ve parolası 
> > girdikten sonra o kullanıcıyla login olma süreci başladığında, profile 
> > dosyaları dikkate alınıyor ve kullanıcının istediği şekliyle açılıyor.
> > 
> > Kmail sorununda ise, LANG olarak tr_TR.UTF-8 seçildiğinde, karakter dönüşüm 
> > problemleri ortadan kalkıyor ancak tr_TR kullanıldığında, küçük harf 
> > dönüşümünde belirtilen problem oluşuyor.
> > 
> > Aslında bu hata, KDE kütüphanelerini kullanan tüm programlarda var ancak küçük 
> > harfe çevirip karşılaştırma yapan uygulama sayısının azlığı nedeniyle biz hep 
> > kmail'i görüyoruz.
> > 
> > Sonuç olarak, KDE'de sorunsuz Türkçe için, tr_TR.UTF-8 seçilmeli. Konu ile 
> > ilgili ayrıntılı bilgiler kde hata veritabanı üzerinde arama yapılarak elde 
> > edilebilir:
> > http://bugs.kde.org/show_bug.cgi?id=101211
> > http://bugs.kde.org/show_bug.cgi?id=93433
> > 
> > 
> > >Bu iki nedenle /etc/environment dosyasını *silin* diyorum.
> > >İhtiyaç olmadığı gibi sorunlara yol açıyor. Savunduğunuz
> > >gibi masum bir dosya değil o. Yerel ayarı bir yerde
> > >tr_TR, başka bir yerde tr_TR.UTF-8 olmaz. Hepsi aynı
> > >olmalıdır.
> > >
> > >Sistem belgelerini okumuşsanız /etc/environment dosyasının
> > >atıl olduğu bir yerlerde yazıyor. O kadar çok belge
> > >okuyorum ki, yerini şu an hatırlamıyorum.
> > 

-- 
Sevgi Saygı GNU/Linux
########################################################################
Our OS who art in CPU, UNIX be thy name.
	Thy programs run, thy syscalls done,
	In kernel as it is in user!
########################################################################
Tonguç Yumruk

Attachment: signature.asc
Description: Digital signature


Reply to: