Turkish-Keyboard-HOWTO

Görkem Çetin, gorkem@gelecek.com.tr

v1.0, 21 September 1999


Bu belge, Linux işletim sistemi altındaki Türkçe sorunlarına çözüm getirmek amacıyla, mevcut Türkçe desteğinin nasıl kullanılabileceğini anlatıyor.

1. Giriş

2. HOWTO belgeleri

3. Klavye ayarları

4. Metin ekran (konsol) yazıtiplerinin yüklenmesi

5. Çeşitli uygulamalarda Türkçe kullanımı

6. Zaman dilimi ayarları

7. X Window desteği

8. Yapılacaklar


1. Giriş

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#64;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.

1.1 Sürüm değişiklikleri

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.


2. HOWTO belgeleri

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.

2.1 Tüm HOWTO belgelerini nerede bulabilirim?

Türkçe-NASIL belgeleri

Bazı HOWTO belgelerinin çevrilmesi sonucu oluşturulan Türkçe Linux-NASIL sayfalarına www.linux.org.tr adresinden ulaşabilirsiniz.

Diğer Türkçe kaynaklar

Haber öbekleri :

Kitaplar :

Türkiye'de Linux ile ilgili çıkmış tüm yayınlara www.gelecek.com.tr adresinden ulaşabilirsiniz.


3. Klavye ayarları

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.

3.1 Klavye tuş takımı yüklenmesi

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.

3.2 Bu tuştakımlarını nerede bulabilirim?

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.


4. Metin ekran (konsol) yazıtiplerinin yüklenmesi

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.

4.1 Son düzeltmeler

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


5. Çeşitli uygulamalarda Türkçe kullanımı

5.1 Pine

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.

5.2 Netscape

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.

5.3 KDE altında Türkçe

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.

5.4 kvt

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.

5.5 GNOME altında Türkçe

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:


6. Zaman dilimi ayarları

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.


7. X Window desteği

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.

7.1 X Window Türkçe yazıtiplerinin yüklenmesi

Ö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.

7.2 X Window altında Türkçe klavye kullanılması

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.


8. Yapılacaklar

Nefesimin yettiği bir noktada, uluslararasılaştırma (i18n - internationalisation) ve yerelleştirme (i10n - 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