gorkem@gelecek.com.tr
Bu belge, Linux ve bazı özel durumlarda UNIX işletim sisteminde Türkçe kullanabilmek için gereken eklemeler hakkında okuyucuyu bilgilendirmek için yazıldı. Türkçe'ye ait olan latin5, bir başka adıyla ISO8859-9 standardının, Amerika ve bazı Avrupa ülkelerince kullanılan latin1 standardı ile aynı olmaması nedeniyle sadece Linux değil, hemen hemen tüm işletim sistemlerinde bu sorunu fazlasıyla yaşıyor olmalısınız. İleride ele alınacak konular ile bu sıkıntıların pek çoğunu atlatacağınızı ümit ediyorum. Eğer metin ekranda, X Window altında Türkçe yazamıyor ve okuyamıyorsanız, pine ve Netscape gibi uygulamalarda Türkçe karakterleri göremiyorsanız bizi izlemeye devam edin.
Bu belgedeki çözüm denemelerimi Red Hat Linux ile yaptım. Çalışmayan, eksik bilgi içeren ya da eklenmesinde fayda gördüğünüz bir bölüm gördüğünüzde gorkem@gelecek.com.tr adresine bir ileti yollamanız yeterlidir. Özellikle diğer Linux dağıtımlarında yapılacak işlemler farklı olabilir, bu nedenle çeşitli Linux dağıtımlarında karşılaştığınız çözümleri bana gönderebilirsiniz.
Sürüm 1.0 : Turkish-HOWTO'nun yazılması. Hala belirli alanlarda Türkçe sorunları yaşadığımdan dolayı bu belgenin 1.0 sürümde kalmayacağını ümit ediyorum. Dosya, birtakım alanlarda eksiklikler içerebilir. Burada görmek istediğiniz ne varsa bana bir ileti gönderin. Tüm mektuplarınıza cevap vermeye çalışacağım.
Linux'un HOWTO belgeleri, Linux meraklıları tarafından biraraya getirilmiş ve hepsi belirli bir konuyu ele alan inceleme yazılarından oluşuyor. Hem teorik, hem de pratik çözümler içeren bu belgeleri tüm Linux kullanıcılarının okumalarını tavsiye ederim.
/usr/doc
dizininden erişebilirsiniz. Buradaki
HOWTO dizini altında ise tahmin edebileceğiniz gibi HOWTO
belgelerini bulabilirsiniz.
Bazı HOWTO belgelerinin çevrilmesi sonucu oluşturulan Türkçe Linux-NASIL sayfalarına www.linux.org.tr adresinden ulaşabilirsiniz.
Haber öbekleri :
Kitaplar :
Türkiye'de Linux ile ilgili çıkmış tüm yayınlara www.gelecek.com.tr adresinden ulaşabilirsiniz.
Bu bölümde, metin ekranda Türkçe yazmak için gerekli programları
inceleyeceğiniz. Bunlardan ilki, bilgisayara Türkçe klavye tuş takımı
haritasını gösterecek olan loadkeys
komutudur. loadkeys
komutu ve uygun bir Türkçe klavye dağılımı haritası yardımıyla istediğimiz
bir Türkçe klavyeyi (Q Türkçe, F Türkçe gibi) yükleyebiliriz.
loadkeys
komutunun kullanımı çok basittir. Dağıtımınızda bulunan ve
/usr/lib/kbd/keymaps/i386
dizini altına yerleştirilmiş olan klavye
haritalarından bir tanesini seçin. Aslında klavye haritalarının adını
bilmek zorunda değilsiniz, burada kullanabileceğiniz dosyaları ve ne
tip bir klavyeyi yüklediklerini görebilirsiniz:
Şimdi loadkeys
komutunu birkaç örnekte kullanalım:
$ loadkeys trq.map (Türkçe Q klavye haritasını yükle)
$ loadkeys trf.map (Türkçe F klavye haritasını yükle)
$ loadkeys tralt.map (Türkçe F klavye haritasını yükle)
Eğer normal US klavye haritasına dönmek isterseniz, defkeymap klavye eşlem dosyasını kullanın.
$ loadkeys defkeymap
Yapılan tüm işlemler tüm sistemde etkin olacaktır. Bir kullanıcı çalışma yaptıktan sonra sistem kapanıncaya, ya da başka bir klavye dağılımı yüklenince değin klavye düzeni aynı kalır.
Not: Çoğu Linux dağıtımlarında bulunan kbd paketi sistemde kullanılabilecek
klavye eşlem (dağılım) dosyalarını ve yazıtiplerini içerir. Son
zamanlarda, diskten tasarruf sağlamak amacıyla hem yazıtipi, hem de
klavye eşlem dosyaları sıkıştırılarak kullanılmaktadır. Bu tip sıkıştırılmış
dosyaların sonu .gz ile biter (örneğin trq.map.gz
).
loadkeys
ve setfont
komutları herhangi bir sorunla
karşılaşmadan bu dosyaları okuyabilecek ve gerekli işlemleri yapacaktır.
Eğer kullandığınız dağıtımda trq.map, trf.map ya da tralt.map klavye eşlem dosyalarını bulamıyorsanız ve yukarıdaki komutları işlerken hata mesajı alıyorsanız, ftp.gelecek.com.tr adresinden bu dosyaları indirmeniz mümkündür.
Dilediğiniz klavye düzenini, Red Hat dağıtımında yeralan /etc/sysconfig/keyboard dosyasına ekleyebilirsiniz. Kullanabileceğiniz dosya isimlerinden bazıları trq, trf ve tralt'tır.
Metin ekranda Türkçe görebilmek için birkaç işleme daha ihtiyacımız
var. Bunlardan ilki Türkçe karakterleri içeren yazıtiplerinin
yüklenmesi. Bir yazıtipini yüklemek için setfont
komutunu kullanıyoruz.
$ setfont latin5u-16.psf.gz
Yukarıdaki komut /usr/lib/kbd/consolefonts
dizini altındaki
latin5u-16.psf.gz yazıtipi dosyasını yükledi. Bu dizin altında yeralan, ya
da yukarıda belirttiğim ftp adresinden indirdiğiniz ve adı
latin5 ile başlayan tüm yazıtipleri Türkçe karakterler içerir. Birkaç
deneme de siz yapın. Özellikle latin5u-12 ve latin5u-14 dosyaları daha
küçük yazıtipi içerir ve ekranda aynı anda daha çok karakter görüntüleyerek
çalışma alanınızı genişletir.
Metin ekranda kullanabileceğiniz tüm Türkçe yazıtiplerini ftp.gelecek.com.tr dizini altında bulabilirsiniz.
Atılması gereken birkaç adım daha kaldı. Önce /etc/inputrc dosyası içine aşağıdaki satırları ekleyin. Eğer dosya yoksa kendiniz oluşturun.
set input-meta on
set convert-meta off
set output-meta on
Ardından /etc/profile dosyasının sonuna, aşağıdaki satırları ekleyin.
export INPUTRC=/etc/inputrc
Artık rahatlıkla bash komut satırı altında Türkçe yazabilir ve okuyabilirsiniz. Yukarıda yapılan işlemleri eğer /etc/rc.d/rc.local dosyasına eklerseniz, herkes için tanımlı bir klavye eşlem dosyası ve yazıtipi yaratmış olursunuz:
setfont latin5u-16.psf
loadkeys trq.map.gz
Pine ile Türkçe ileti göndermek ve almak istiyorsanız, .pinerc dosyasında, character-set değişkeninin karşısında, aşağıdaki değişikliği yapmanız gerekiyor:
# Reflects capabilities of the display you have. Default: US-ASCII.
# Typical alternatives include ISO-8859-x, (x is a number between 1 and 9).
character-set=ISO-8859-9
Yukarıdaki değişiklikleri yaptıktan sonra, pine ile kolayca Türkçe karakterler içeren e-posta yollayabilirsiniz.
Netscape'te yazıtipi seçimi için, Edit - Preferences - Appearance - Fonts - For the Encoding menüsüne gidin ve buradan ``Turkish (iso-8859-9)'' seçeneğini işaretleyin. Daha aşağıda yeralan ``Use my default fonts, overriding document-specified fonts'' seçeneğini işaretlemeniz halinde ise Netscape, sadece sizin belirttiğiniz yazıtiplerini ekranda gösterecektir. Yine de Netscape ile Türkçe yazıtiplerini görmekte sıkıntı çekerseniz View -> Encoding -> Turkish (ISO-8859-9) seçeneğini işaretlemelisiniz.
Genel kural olarak yazıtipini seçmenize izin veren tüm yazılımlarda Türkçe yazıtiplerini kullanabilirsiniz.
KDE pencere arayüzünün büyük bir kısmı Türkçeye çevrildi. 1.0 sürümünden itibaren gelen Türkçe desteği ile pek çok uygulama yazılımını Türkçe çalıştırabiliyorsunuz.
KDE altında, programların Türkçe çalışması ve mesajların Türkçe çıkması için kcontrol programını çalıştırın. Sol tarafta yeralan Desktop - Language menüsü içinde ilk dil olarak Turkish'i seçin. Bundan sonra açacağınız her KDE programı, eğer destekleniyorsa Türkçe çalışacaktır.
kvt, KDE ile birlikte gelen bir terminal emülasyon programıdır. kvt'de kullanacağınız yazıtipini seçmek için, sırasıyla
Artık kvt altında Türkçe yazabilirsiniz. Ancak X Window'da henüz Türkçe karakterlerinizi tanıtmadıysanız yukarıda yazılanları yapmak mümkün olmaz. Bunun için önce ``X Window Türkçe yazıtiplerinin yüklenmesi'' başlığı altında yeralan yönergeleri izleyin.
kvt'nin yeni bir sürümünü kullanmanız halinde, önce kvt'yi çalıştırın, ardından farenin sağ tuşuyla kvt üzerinde herhangi bir noktaya basın. Yukarıdaki maddeleri sırasıyla takip edin.
GNOME masaüstü altında, özellikle gnome terminal altında yaşayabilmeniz muhtemel Türkçe karakter sorununa çözüm için, aşağıdaki maddeleri uygulayın:
Türkiye, Greenwich'ten 2 saat ileride yeralan zaman dilimi kuşağı içindedir. Bunu, bir e-posta aldığınız zaman iletinin en üst kısmında yeralan +02:00 işaretinden de anlayabilirsiniz. Eğer hatalı bir zaman diliminde yeralıyorsanız, yapılması gereken işlemler aşağıdadır. Alternatif olarak, Red Hat ve Mandrake dağıtımlarıyla gelen timeconfig paketi zaman dilimini ayarlamanız konusunda yardımcı olacaktır.
Önce /etc/localtime saat ayarı dosyasını silin:
# rm /etc/localtime
Ardından, bu dosyayı bir sembolik bağ ile, /usr/share/zoneinfo/Europe/Istanbul dosyasına bağlayın.
# ln -s /usr/share/zoneinfo/Europe/Istanbul /etc/timeconfig
timeconfig paketinde ise sadece ``Turkey'' seçeneğini işaretleyin ve çıkın.
Eğer /etc/localtime dosyası yoksa, başta sendmail olmak üzere pek çok programda hoş olmayan hata mesajları alırsınız.
Metin tabanlı bir ekran altında Türkçe yazdıktan ve uygulamalarımızı Türkçe yazıtipleriyle kullanmaya başladıktan sonra X Window altında nasıl Türkçe yazılır ve okunur, görelim.
Öncelikle yapmamız gereken, Türkçe yazıtiplerinin X Window'a
tanıtılmasıdır. X Window açılırken, hangi yazıtiplerini yükleyeceğini
belirlemek amacıyla bazı öntanımlı dizinlere bakar. Bu dizinler,
/usr/X11R6/lib/X11/XF86Config
dosyasında belirtilmiştir.
RPM paketlerini kurabileceğiniz bir dağıtım kullanmanız halinde, Türkçe yazıtiplerini ve klavye harita ek dosyasını yüklemişseniz, işiniz çok kolay. Bu dosyaları yükleyip yüklemediğinizi bilmiyorsanız aşağıdaki komutu çalıştırın.
# rpm -qa | grep ISO8859-9
XFree86-ISO8859-9-75dpi-fonts-2.1.2-1
XFree86-ISO8859-9-2.1.2-1
XFree86-ISO8859-9-100dpi-fonts-2.1.2-1
Yukarıdaki satırlara benzer bir çıktı almış olmanız gerekiyor (sürüm numaraları farklı olabilir). Eğer almadıysanız Türkçe yazıtiplerini kurmamışsınız demektir. Eğer Red Hat Linux kullanıyorsanız, CD'yi sürücüye yerleştirip sırayla şu işlemleri yapın:
# mount /dev/cdrom
# cd /mnt/cdrom/RedHat/RPMS/
# rpm -i XFree86-ISO8859-9-75dpi-fonts-2.1.2-1
# rpm -i XFree86-ISO8859-9-2.1.2-1
# rpm -i XFree86-ISO8859-9-100dpi-fonts-2.1.2-1
Yazıtiplerini ve klavye eşlem dosyasını sisteminize kurduktan sonra bir sonraki adıma geçin.
Şimdi, daha önce yarım bıraktığımız noktaya geri dönelim. X Window'un
yükleyeceği yazıtiplerinin bulunduğu dizinler /usr/X11R6/lib/X11/XF86Config
dosyasında belirtiliyordu.
Bu dosya içinde, aşağıdakine
FontPath "/usr/X11R6/lib/X11/fonts/misc/"
FontPath "/usr/X11R6/lib/X11/fonts/75dpi/:unscaled"
FontPath "/usr/X11R6/lib/X11/fonts/100dpi/:unscaled"
FontPath "/usr/X11R6/lib/X11/fonts/Type1/"
FontPath "/usr/X11R6/lib/X11/fonts/Speedo/"
ya da buna
FontPath unix/-1
benzer satırlar göreceksiniz.
Bu satırların en başına, kurduğumuz Türkçe yazıtipleri neredeyse o
dizinin adını yazıyoruz. Red Hat Linux 6.0'dan itibaren Türkçe yazıtipleri
/usr/share/fonts/ISO8859-9
dizinine kuruluyor. Bu dizin patikasını
XF86Config dosyasının en üstüne ekleyelim. Tüm Türkçe yazıtipleri kurulmuşsa
/usr/share/fonts/ISO8859-9
dizini altında aşağıdaki dosyaları
görebilirsiniz:
# ls -al /usr/share/fonts/ISO8859-9/
total 17
drwxr-xr-x 5 root root 1024 Feb 13 19:04 .
drwxr-xr-x 11 root root 1024 Feb 15 18:46 ..
drwxr-xr-x 2 root root 6144 Feb 13 19:04 100dpi
drwxr-xr-x 2 root root 6144 Feb 13 19:04 75dpi
drwxr-xr-x 2 root root 1024 Feb 13 19:04 misc
Şimdi ISO8859-9 dizininde Türkçe yazıtiplerimizin bulunduğunu
/usr/X11/lib/X11/XF86Config
dosyasında belirtelim.
FontPath "/usr/X11R6/lib/X11/fonts/ISO8859-9/misc"
FontPath "/usr/X11R6/lib/X11/fonts/ISO8859-9/75dpi"
FontPath "/usr/X11R6/lib/X11/fonts/ISO8859-9/100dpi"
FontPath "/usr/X11R6/lib/X11/fonts/misc/"
FontPath "/usr/X11R6/lib/X11/fonts/75dpi/:unscaled"
FontPath "/usr/X11R6/lib/X11/fonts/100dpi/:unscaled"
FontPath "/usr/X11R6/lib/X11/fonts/Type1/"
FontPath "/usr/X11R6/lib/X11/fonts/Speedo/"
Tabi, bu dosyada "FontPath unix/:-1" satırı varsa, ekleme yapacağınız üç satırı da "FontPath unix/:-1" satırının başına koymanız gerekiyor.
Şu anda yazıtiplerimizi sisteme tanıtmış durumdayız. X Window açılırken önce en üstteki FontPath bilgileri okunacaktır.
Şimdi X Window'a girin. Netscape ile herhangi bir Türkçe dosyayı görüntüleyebilirsiniz.
Sıra geldi klavye ayarlarının yapılmasına. Red Hat ile birlikte, Türkçe
klavye eşlem dosyaları da geliyor. Bu dosyalar, /usr/X11R6/lib/X11/etc
dizininde yeralıyorlar:
# cd /usr/X11R6/lib/X11/etc/
# ls -al xmodmap.*
-r--r--r-- 1 root root 4988 Oct 10 10:53 xmodmap.std
-rw-r--r-- 1 root root 2764 Oct 6 1998 xmodmap.tralt
-rw-r--r-- 1 root root 2316 Oct 6 1998 xmodmap.trf
-rw-r--r-- 1 root root 2316 Oct 6 1998 xmodmap.trq
Yukarıdaki dosyalar sırasıyla standart Amerikan klavye, alt Türkçe klavye, F
klavye ve Q Türkçe klavyeye karşılık geliyor. X Window'a girerken bu
klavyelerden bir tanesini aktif hale getirmemiz gerekiyor. Örnek olarak, Q
Türkçe klavyenin, X Window açılırken etkin olması için,
/home/kullanıcı-adı/.xinitrc
dosyasına aşağıdaki satırı eklemelisiniz.
xmodmap /usr/X11R6/lib/X11/etc/xmodmap.trq
.xinitrc
dosyasına, kullandığınız pencere yönetecisini
çalıştıracak şekilde bir eklenti de yapmanız gerekecektir. Bu eklentiyi
de yaptıktan sonra dosyanın son hali aşağıdakine benzer bir hal alır:
xmodmap /usr/X11R6/lib/X11/etc/xmodmap.trq
startkde
Tabi siz startkde yerine istediğiniz pencere yöneticisini çalıştıracak şekilde bir komut yazabilirsiniz.
X Window'a girdikten sonra da klavye haritasını değiştirmek mümkündür. Bunun
için yukarıda örneği bulunan xmodmap
komutunu doğrudan xterm altında
çalıştırabilirsiniz.
X Window altında kullanılan klavye eşlem dosyalarından xmodmap.tralt, konsol ekranda kullanılan tr.alt dosyasından biraz farklılık gösteriyor. Konsol altında, herhangi bir Türkçe karakteri bastırmak için ALT tuşunu kullanırken, X Window altında ALT-GR tuşunu kullanmalısınız.
XFree86'daki güzel bir özellik de, konsolda kullanılan klavye eşlem
dosyasının aynısının, X Window açılırken de kullanılabilmesi. Bunun için,
/usr/X11R6/lib/X11/XF86Config
dosyasında,
XkbDisable
şeklinde bir satırın bulunması gerekir.
Nefesimin yettiği bir noktada, uluslararasılaştırma (i18n - internationalizaton) ve yerelleştirme (l10n - localization) konularına da girmek istiyorum. Bu sayede örneğin aynı kaynak kodu derleyerek, farklı diller için farklı tarih gösterimleri sunabilirsiniz. Bir dosya içinde sıralama yaparken "ç" karakterinin, "c"den hemen sonra gelmesini sağlayabilirsiniz. i18n sayesinde bir yazılımın kullanışlığı çok artar. KDE gibi güzel bir masaüstü paketini şimdi Türkçe kullanabiliyorsanız bunu i18n desteğine borçlusunuz.
Bunların yanında, sırada Star Office'in Türkçe ayarlarının yapılması var. Sağolsun Sun Microsystems, Star Office'i serbest bırakarak Linux kullanıcılarının çok gelişmiş bir ofis paketine sahip olmalarına yardım etti. Bize de bu nimetten yararlanmak kaldı.
Sevgi, saygı, Linux