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