Re: Kmail ve liste sorunu - /etc/environment hakkında
Merhaba,
* Nilgün Belma Bugüner [2005-06-18 06:55:46+0300]
> 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.
Bu dogru degil, hatta GDM'in /etc/environment'i goz ardi ederek kendi
kafasina gore yereli ayarlamasi gibi bir hatasi var(di). Arsivleri
inceleyin, bu konu cok tartisildi.
> 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!!!
Olagan sartlarda uygulamalar bu dosyaya bakmiyor, calistiklari ortama
bakiyor, LANG'in nerede ayarlandigiyla da ugrasmiyorlar.
> 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.
Havanda su dovuyoruz, bir kere olsun tavsiyemi dikkate alip Google'dan
bunu bularak okusaydiniz. "Why Not 'Global' Setting?":
http://www.debian.or.jp/~kubota/language-env.html
> 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.
Evet, kurulumda oyle secilmis cunku. Turkce Sarge kurulumunda ontanimli
yerel tr_TR'dir, Etch'de bu yereli tr_TR.UTF-8 yapmayi dusunuyoruz. Bu
kararlari alirken kafamiza gore davranmadik; debian-l10n-turkish ve
kismen bu listede konuyu tartistik, acar arsivleri incelersiniz. Debian
GNU/Linux'da yerel secimini KDE'yi daha saglikli calistirmasi kriterine
gore belirlemiyoruz; kaldi ki KDE, ISO yereli altinda da bal gibi
calisir, calismiyorsa kendi hatasidir.
> Ben ilk önce bu ayarı Debian usulüyle yapmak istedim ve
> set-language-env betiğini kullanarak yerelimi tr_TR.UTF-8 yaptım.
language-env'e Debian usulu demek dogru degil, ne dememiz gerekecegini
bir kac defa anlattim. Sistem yoneticisi tarafindan calistirilabilen,
tercihen Debian Policy'de refere edilen or. 'update-locale-environment'
gibi _sihirli_ bir alt yapi betigi olsaydi bunu diyebilirdik belki.
Sistem genelini tr_TR.UTF-8'e cevirmek icin iki-uc hareket yeterli
olabilirdi. Test etmeden yaziyorum bunlari, gelecekte boyle bir
receteyi language-env/README.tr'ye ekleyebilirim:
echo "tr_TR.UTF-8 UTF-8" >>/etc/locale.gen
locale-gen
perl -i -pe "s/^LANG=tr_TR/LANG=tr_TR\.UTF-8/" /etc/environment
# Konsol icin opsiyonel.
perl -i -pe "s/^(APP_CHARSET_MAP.*)/# \1/" /etc/console-tools/config
install-keymap trqu
> 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.
Ustunkoru yaptigim testlerde boyle bir durum gozlemedim, yani ISO
yerelinde KDE'yi birkac kere denedim, gozume carpan bir problem olmadi.
Sizdeki problem pek muhtemelen language-env'in olusturdugu ortamin yan
etkileri veya X'e giris yapma yonteminiz olabilir. 'startx' onerilen
bir yontem degil. Yaptiginiz fazladan ayarlar var mi bilmiyorum,
onlarla ilgili bir problem de olabilir. Language-env'i kullananlarin
dikkat etmesi gereken bazi muhim noktalari paketle gelen Turkce belgede
acikladim. /usr/share/doc/language-env/README.tr.gz'den alinti:
* Genisletilmis ayarlarda sorun olmasi muhtemel bir alan X ekran
yoneticisidir (gdm, kdm, wdm, xdm vb.). Kullandiginiz ekran
yoneticisinin Debian'in geleneksel X oturum ilklendirme semasina uygun
calismasi halinde sorun olusma ihtimali dusuktur. Bu konuda her
yonuyle Debian standartlarina uygun olan program X paketleriyle
birlikte gelen xdm'dir. Diger ekran yoneticileri kullanilan surume
bagli olarak farkli davranislar sergileyebilmektedir. Problem esas
itibariyla ekran yoneticisinin genisletilmis ayarlar sonucunda ev
dizininde olusturulan ~/.xsession oturum betigini atlamasindan veya
sistem yerelini kendine gore degistirmesinden kaynaklanmaktadir.
Mesela gdm'in bazi surumlerinde ontanimli oturum tipi boyledir.
Ozelden sordugunuz bir soruya da yanit olarak yazmistim bunu. Butun
ekran yoneticilerini kapsayan ortak bir cozum gelistirmek kolay degil.
Burada en kritik nokta betigin olusturdugu ~/.xsession oturum dosyasinin
ekran yoneticisi tarafindan 'honor' edilerek okunmasi. Sizin profile
ile saglamak istediginiz sartlari (ki X programlari icin o dosyanin ise
yaramayacagini izah etmistim) iste bu dosya sagliyor. Yerellestirmeyi
language-env uzerinden cozecekseniz (tecrubeli bir kullaniciya onermem)
~/.xsession'in okunduguna emin olmalisiniz. En azindan XDM'le bunu
garanti ederim, diger ekran yoneticilerini teker teker test etmek lazim.
Zamaninda cok ustunkoru olarak bu denemeleri yaptim, ama degisen seyler
oldu. Tekrar denemek lazim ve buna simdilik vaktim yok.
> 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ı.
Peki, bir an icin bu sorunun bir ust paragrafta ifade ettigim oneriler
cercevesinde degil de sistem genelinde cozulmesini arzulayalim. Madem
hatanin yerini tespit ettiniz neden ama neden /etc/environment dosyasina
girip LANG=tr_TR.UTF-8 olarak ayarlamadiniz? Hadi bunu yapmadiniz neden
baskalarina da (ustelik yogurt yiyis seklini dogru durust bilmediginiz
bir dagitimda) sizin gibi yapmalarini hatta bununla da yetinmeyip
dosyayi silmelerini oneriyorsunuz?
> Ş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.
Bu makul bir oneri, debian-devel + debian-i18n listelerine
yazabilirsiniz.
> 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 :-)
Linux konsolunun _bilinen_ sorunlari disinda Debian'a ozel ne sorunu
var?
[...]
> 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.
Sizin bu konudaki israrinizi anlamak da zor, hem de cok zor.
--
roktas
Reply to: