Kylix
Önceki Delphi'nin Linux'taki Kardeşi Sonraki

Kylix İpuçları V1.1 Ağustos 2003
Tanju Taşçılar - tanju@elektronist.com
Registered Linux User #283274

Kylix Programlarını IDE Dışında Çalıştırmak.

Kylix'i sistemine kurup da çalıştıranlar yazdıkları programı Delphi'de olduğu gibi IDE dışında çalıştırmak istediklerinde ilk şaşkınlığı yaşarlar. Genellikle Konqueror kullanılır ve program üzerine tıklanır. Sonuç? Hiçbirşey! Sonra konsola geçilir, çeşitli denemeler yapılır, hatalar, hatalar.

Aslında bu durumun ipuçları Kylix kurulduktan sonra ısrarla 'startkylix' scriptinin çalıştırılmasının istenmesinde vardır. Bu script incelendiğinde çeşitli şeylerin yanında 'kylixpath' isimli scripti çalıştırarak Kylix için gerekli 'path' ayarlarını bulup ayarladığı görülür. Bir script çalıştırıldığında mevcut sistem değişkenleri ile yeni bir shell-kabuk açılır. Yapılan değişiklikler bu kabuk içinde geçerlidir.

Kylix programları genellikle grafik ortam için yazılmışlardır ve Kylix ile birlikte gelen bazı 'library'lere ihtiyaç duyarlar. Bunlar .so uzantılı dosyalardır. Windows'taki .dll dosyalarına benzerler. Linux'ta bu dosyaların nerede bulunacağı /etc/ld.so.config dosyası ve LD_LIBRARY_PATH değişkeni ile belirtilir. Programımıza ihtiyaç duyduğu library dosyalarının nerede bulunduğunu bildirdiğimiz zaman sorun kalmayacak, programımız çalışacaktır.

Kylix kurulu bir sistemde bu dosyalar, Kylix'in kurulu bulunduğu klasörün altındaki /bin klasöründe yer alırlar. Kylix user olarak kurulmuş ise bu

    /home/user_name/Kylix/bin
	

gibi bir değer alır. Yapmamız gereken LD_LIBRARY_PATH değişkenini bu değeri de kapsayacak şekilde değiştirmek olacaktır. Bu değişikliği aşağıdaki komut ile yaparız.

    export LD_LIBRARY_PATH=/home/user_name/Kylix/bin:$LD_LIBRARY_PATH
	

Bu komutu üç şekilde kullanabiliriz.

1 - Bir shell terminalinden. Bu durumda yapacağımız değişiklikler terminal kapatılıncaya kadar geçerli olacaktır.

2 - Bir shell scripti içinden. Bu script çalıştırıldığında gerekli değişiklikler yapıldıktan sonra programımızı çalıştırırız.

3 - /etc/bashrc dosyasına yazarak. Bu durumda bütün sistem ve programlar için geçerli bir giriş yapmış oluruz. Yukardaki satır /etc/bachrc dosyasının sonuna eklenir. Uyarı! Bu yöntemi seçerseniz eklediğiniz satırın sonunda 'enter'e basmayı unutmayın.

Son seçeneği kullandığımızda Kylix yüklü bulunan sistemlerde yazdığımız programları ek olarak bir şey yapmadan çalıştırma kolaylığımız olsa da, ilerde göreceğimiz gibi yazdığımız programları dağıtım için denerken yapılacak hataları göremeyiz. Bu nedenle benim tercihim ikinci durumdur. Bunun için aşağıdaki gibi bir scripti bir text editöründe yazarız.

    #!/bin/bash

    export LD_LIBRARY_PATH=/home/user_name/Kylix/bin:$LD_LIBRARY_PATH
    /home/user_name/KylixProjeleri/dnm/dnmP
	

'dnmP' yazdığımız programın adıdır, son satırda çalıştırılmaktadır. Bu scripti

    /home/user_name/KylixProjeleri/dnm/dnm
	

Olarak kaydederiz. Son bir iş olarak yazdığımız scriptin kullanıcı izinlerini çalıştırılabilir olarak değiştirmemiz gerekecektir. Bundan sonra programımızı çalıştırmak için bu scripti kullanırız. Konqueror'da bu script üzerine tıkladığımızda programımız çalışacaktır.

İpucuİpucu

Kylix Open Edition kullanılarak yazılan programlar çalıştırıldığında GPL lisansı ile ilgili bir pencere açılır ve üç saniye sonra veya üzerine tıklayınca kapanır. Bu pencerenin açılmaması için programı -ns parametresi ile çalıştırmamız yeterlidir. Yukarda yazdığımız scripti aşağıdaki gibi değiştirirsek bu pencere açılmayacaktır.

    #!/bin/bash

    export LD_LIBRARY_PATH=/home/user_name/Kylix/bin:$LD_LIBRARY_PATH
    /home/user_name/KylixProjeleri/dnm/dnmP -ns
	

Önceki Ön sayfa Sonraki
Kylix. Kylix programlarını dağıtmak.

Bu ve ilişkilendirilmiş yazılar GPL lisansına göre yayınlanmaktadır. Bütün hakları yazarına aittir. Yazarının ismi belirtilerek serbestçe dağıtılabilir ve kullanılabilir. Ancak bunların hiçbiri, hiçbir şekilde ve şartta GPL lisansı haricinde kullanılamaz. Burada yer alanları bulundurmaktan, kullanmaktan veya alıntı yapmaktan dolayı hiçbir sunucu, servis veya protokol, yazı veya içeriği üzerinde hak iddia edemez. info@elektronist.com