24
Ağu

Ahhh bilgisayar ve internet… Artık neredeyse hepimizin bir parçası olmuş durumda… Tabii bunun getirilerinin olmasının yanı sıra götürdüğü şeyleri de göz ardı etmemek gerek. Faydalarını saymakla bitiremeyiz. Ama eğer yeterli güvenlik önlemini almadıysak başımıza örülecek çorap çok büyük olabilir. Bu yazı da  kendinizi güvende hissetmemeniz için elimden geleni yapacağım. Çünkü hiçbir ağ yeterince güvenli değildir. Bunu küçük bir tecrübe ile ben de anladım. Eğer çok şanslı biri değilseniz bilgisayar kullanmaya Microsoft ve kapitalist dayatmalardan ötürü Windows nev’i işletim sistemleri kullanarak başlamışsınızdır. Ben de öyle başladım… Herkes size çevredeki zararlı programlardan, virüslerden, Truva atlarından ve meraklı gözlerden korunmanın yolunun güvenlik duvarını açık tutmanız ve iyi bir virüs programı kullanmanız gerektiğini söyler. Bu konuda herkes uzmandır. Bu işlemleri yaptıysanız artık güvende olduğunuzu varsayarak dahası inanarak, her türlü yere pervasızca girip çıkarsınız. Artık kalelerinize güvenerek, her türlü atı koşturursunuz. Ama işler öyle değildir. Siz dışarıda kendinizden emin dolaşırken. Menhus bir ruh belki de kalenizi içeriden fethetmek için elinden geleni yapıyordur. Bilemezsiniz…  Linux/Unix türü işletim sistemlerinde İnternet’ten gelecek olan tehditlere karşı çok güçlüsünüzdür ama ya yerel ağ? Elbette korunma yolları da mümkündür fakat çoğu kişi bundan habersiz! Önce problemden bahsedelim. Bu yazımızda yerel ağımızda ve girdiğimiz halka açık ağlarda bizi ne gibi tehlikeler bekliyor onlardan bahsedeceğiz. Tabii bunu yaparken en önemli aracımız Ettercap olacak. Peki ama nedir bu Ettercap?

Ettercap çok özellikli bir trafik analiz ve trafik injection programıdır. Ettercap ile basit trafik dinleme işlemlerinden öte switch’li ağlarda birçok geçerli yöntem(apr spoofing, arp poisoning, mac address cloning) kullanarak trafik izleme , trafiğe yön verme işlemleri gerçeklenebilir. SSL bağlantılarında araya girerek sadece trafiği izlemekle yetinmeyip izlenilen trafiğin değiştirilmesini de sağlar(MITM). Ettecap kullanarak özellikle Layer2 üzerinde çalışan protokoller ve işleyiş yapıları iyice öğrenilebilir.(*3)

ARP(Address Resolution Protocol) Poisoning ve MITM(Man In The Middle) atak yöntemlerini basitçe anlatan şema aşağıdaki şekildedir.

ARP Poisoning Şeması

Şema dikkatlice incelenirse Hacker(Kuru Kafa olan PC:)) ethernet protokol mimarisindeki açıktan yararlanarak Router ve istemci arasına girmiş. Herkes öyle söylüyor….(Bir şekilde girdiği aşikar bu konuda benimde bildiklerim okuduklarım kadar. Bu konunun daha iyi anlaşılması için ARP konusu detaylıca araştırılmalı diye düşünüyorum.)  Ama benim anladığım ARP, router ve istemci arasındaki kimlik doğulamasını yapmayı sağlıyor. Sağladıktan sonra veri alışverişini sağlıyor. Buradaki Hacker ise sahte ARP istekleri göndererek kendini istemci olarak  tanıtıp ortaya geçiyor ve artık tüm bilgi alış verişi Hacker’in üzerinden geçiyor. Bu sayede Hacker hangi bilgiyi nasıl göndermek isterse o şekilde süzerek veya değiştirerek gönderiyor…

(Not: Hacker diyorum ama burada bahsedilen Siyah Şapkalı Hacker’dır. Arasındaki farkı görmek için bknz.)

Görüldüğü gibi çok tehlikeli bir durum gelin daha yakından inceleyelim;

Man In The Middle(Ortadaki Adam) atak yöntemi;

Router ve İstemci arasına geçen tüm trafiğe Hacker artık hakim… Alice ve Bob durumu açıklamak için yine yardımımıza koşacak…:)

Figür 1- Hacker ağı dinliyor.

Figür 2- Hacker veriyi süzüyor...

Figür 3- Hacker verileri kaydediyor...

Evet işin teorik kısmı bitti… Sanırım neler olabileceğini ve Ettercap’ın nasıl çalıştığını anladık. Şimdi kuralım ve kendi gözümüzle görelim…

Pardus 2009. 2 için;

Paket Yöneticisinden “ettercap” diye aratın ve kurun.

Figür 4- Ettercap kurulumu

Figür 4- Ettercap Kurulumu

Ubuntu’da Yazılım Merkezi’ni kullanabilirsiniz. BackTrack 4′de ise kendisinde varsayılan olarak kurulu…

Pardus’ta  Alt+F2 kombinasyonunu kullanın ve gelen “Komut Çalıştır” penceresine “ettercap” yazarak çalıştırın. (Ben Pardus’ta menüler arasında bulamadım:) Eklemek için kmenuedit kullanılabilir.)

Evet karşımıza şöyle bir pencere gelecek…

Ettercap

Figür 5- Ettercap

Bundan sonra ekran görüntülerindeki adımları izleyiniz…

İlk Olarak Options sekmesinden  Set netmask (Ağ maskesi’ni) “255.255.255.0” olarak ayarlayınız.
Sniff sekmesinden > Unified Sniffing… ‘ı seçin ve karşınıza gelecek kutucuktan sniff yapacağınız arayüzü seçin…

Figür 6- Ağ Arayüzü

Daha sonra karşımıza daha fazla sekme gelecek. Orada Hosts sekmesinden Scan for Host seçeneğine tıklayınız ve bekleyiniz…

İşlem bittikten sonra Mitm(Man In The Middle) sekmesine geliniz… Arp poisoning… seçeneğine tıklayınız. Karşınıza aşağıdaki gibi bir ekran görüntüsü gelecek.;

Figür 7- MITM

Ekran görüntüsünde olduğu gibi Sniff remote connections. Seçeneğini işaretleyiniz.

Sonra Start sekmesinen “Start Sniffing” diyerek işlemi başlatınız…

Şimdi birkaç ayar yapmaya geldi sıra…  View menüsünden “Visualization method…” seçeneğine tıklayalım ve oradan UTF8‘i seçelim ki sniff edilen veriler Türkçe karakter sorunundan bizi kurtarsın…

Figür 8- Görselleştirme Yordamı UTF8

Şimdi yine View menüsünden “Connections” sekmesine tıklayalım vee sonuç kesinlikle ürkütücü! Router’a gönderilen ve desteklenen portlara cevap verilen isteklerin hepsi burada… Buradan ağınızdaki kişilerin nerelere girdiğini ve neler yaptığını izleyebilirsiniz… Dolayısıyla izlenebilirsiniz…

Figür 9- Connections

Ayrıca ağınıza kimler bağlı görmek için View> Profiles seçeneğini kullanın. Tehlikeyi daha iyi göz önüne sermek için size iki örnek vereceğim… Varsayalım ki ağımızın yöneticisi modemimizin web arayüzüne erişmek istedi ve 192.168.1.1 den web arayüzüne erişti ve kullanıcı adı ve parolasını sizin sniff ettiğiniz sırada girdi… Bakalım ne olacak??

Figür 10- Yakalanan Parola

İşaretli alana dikkat edin! Eğer parolanızın şifrelenerek gönderilmediği bir alana erişim yapıyorsanız, ettercap he zaman kullanıcı ad ve parolanızı yakalayacaktır! Diğer bir çarpıcı örneğimiz ise msn konuşmalarımız… Bunun için diğer makinamdan bir arakadaşımla konuşayım bakalım ettercap ne yapacak?? Bu arada MSN’nin 1863 nolu portu kullandığını unutmayalım. Çünkü ettercap’ta 1863 nolu porttan gelen verileri inceleyeceğiz…

Figür 11 - Port 1863 Sonuçları

Figür 7- Port 1863 Verileri

Benim makinamın ip’sinin olduğu 1863 nolu portta yukarıda görüldüğü gibi bir msn konuşması yakalanmış! Bu korkunç bir şey! Düşünsenize her gün msn de arkadaşlarınızla neler konuşuyorsunuz?? İşte en azından gündelik ağlarımızın ve kamuya açık ağların ne kadar güvensiz olduğunu ve çok basit araçlarla ne gibi bilgilerimizin ele geçirilebileceğine şahit olduk. Ettercap gerçekten işini iyi yapan bir ağ dinleme programı ama benim öğrendiğim ve size aktardığım sadece “E” harfi idi. Bu sadece küçük bir araştırma sonucunda edinilmiş bilgi ve veriler. Tavsiyem şu ki  kesinlikle ağ güvenliği konusunda araştırmalar yapın ve etrafınızdakileri bilinçlendirin. İnternette bu konuda önlem alma yöntemleri mevcuttur. Önlem için ;

Öncelikle;

1- Cüneyt BERGEL Bilişim Güvenliği ve Bilişim Hukuku

2- IT Eğitim

3- Serdar Kocaoğlu

sayfalarında güzel önlemler bulabilirsiniz. Gözünüzü 4 açın!

Saygılarımla…

REFERANSLAR

1- http://openmaniak.com/ettercap.php
2- http://en.wikipedia.org/wiki/ARP_spoofing
3-  http://csirt.ulakbim.gov.tr/dokumanlar/acikkod_guvenlik.pdf
4- http://userpages.umbc.edu/~dgorin1/451/security/dcomm/authentication.htm

14
Ağu
E-posta listelerini uzun süredir takip ediyorsanız arasıra bazı kişilerin e-posta listelerini artık takip etmek istemediklerinden listelerden ayrılmaya çalıştıklarını ama bunu yapmakta zorlandığını görmüşsünüzdür.

Bu gibi durumlarda mantık basittir, bana bu listeden e-posta geliyorsa gelmemesini sağlamak için de buradan istekte bulunmak doğru olandır.

Elbette artık ilgi duymadığınız bir e-posta listesinden mesajlar almamak sizin en doğal hakkınızdır. Ama bunu yapmak için o listeye üyelikten çıkma mesajı atmak doğru yol değildir. Büyük ihtimalle böyle yaparsanız da size doğru yolu gösteren liste sakinleri aracılığıyla amacınıza ulaşabilirsiniz. Bununla birlikte bu tip mesajlar bir bakıma gereksiz e-posta olduğu için tüm liste sakinlerinin zamanını çalacaktır.

E-posta listelerine çok zor alışmış biri olarak e-posta listelerinden ayrılmakta zorluk yaşayanları çok iyi anlıyorum ve onlar için basit bir nasıl belgesi yazmak istedim.

E-posta listesinden size gelen mesajların en altında genelde listeyle ilgili işlemleri gerçekleştirebileceğiniz bağlantılar ve açıklamalar olur. Örneğin Pardus kullanıcıları e-posta listesi'nden ayrılmak istiyorsanız http://liste.pardus.org.tr/mailman/listinfo/pardus-kullanicilari bağlantısını kullanabilirsiniz.


Bu adres size e-posta listesinden gelen tüm mesajlarda bulunur (Bu durum listeden listeye değişebilmekle birlikte çoğu için ortaktır. Farklı listeler için ne gibi yollar izleyebileceğinizi kaynaklar bölümündeki yazılardan öğrenebilirsiniz). Bağlantıyı kopyalayarak ve adres çubuğuna yapıştırarak ya da doğrudan tıklayarak ilgili listeye ait üyelik bilgilerinizi düzenleyebileceğiniz sayfaya ulaşabilirsiniz.



Listeden çık veya seçeneklerimi düzenle düğmesinin işaret ettiği alana listeye üye olduğunuz e-posta adresini giriniz ve bu düğmeye basınız.


Açılan yeni sayfadan Üyelikten çık düğmesine basınız.


E-posta adresinize kısa bir süre içinde onaylama e-postası gelecek, burada üyelikten ayrılmanızı sağlayacak bir bağlantı yer alıyor. Bu bağlantıyı açarak listeden ayrılma işleminizi gerçekleştirebilirsiniz.


Gmail'de var olan bir özellik sayesinde listelerden ayrılma işlemini daha kısa sürede gerçekleştirebilirsiniz. Bunun için e-posta listesinden gelen bir mesajın ayrıntılarına bakabilir ve Bu posta listesinden gelen postalara artık abone olma düğmesini kullanmayı deneyebilirsiniz. Her yerde işe yarayıp yaramayacağını bilmiyorum.

Yanlışlıkla üyelikten ayrıldıysanız ve/veya önceden ayrıldığınız bir e-posta listesini tekrar takip etmek istiyorsanız Pardus E-Posta Listeleri ya da benzeri bir belge size yardımcı olacaktır.

E-posta listelerine üye olmadan önce listenin kurallarına ve etik değerlerine bakmak da sizin ve liste sakinleri için çok güzel olacaktır. Örneğin Liste etiği ve Haberleşme ve Tartışma Listeleri Etiği belgelerini okuyabilirsiniz bunun için.


Kaynaklar:
How To Unsubscribe From Email Lists
How do I leave a list? (unsubscribe)
13
Ağu
IRC toplantılarından sonra bir kişinin kayıtları düzenlemesi ve o toplantıya katılamayanlar ve ileride kaynak gösterilebilmesi için bir yerlere koyması gerekir. Bu da elle yapılması işkence olan bir iştir. Bir kere yaptım oradan biliyorum.

Google'de ve bulduğum ipuçları üzerinde arama yapmama (hatta yapmamıza) rağmen bunun için erişilebilir bir araç bulamadım. İstediğim sadece Konversation kayıtlarını Wiki'ye ekleyebileceğim bir biçime çevirecek bir araçtı. Ama olmayınca olmuyordu.



Önümüzdeki Pardus için önemli iki (1, 2) IRC toplantısı öncesi Ali Erkan İmrek, Özgürlükiçin Yönetim listesine beni epey sevindiren bir mesaj attı: IRC Log kayıtlarını wiki'ye taşımak.

Mesajdan irc2wiki'nin kısa hikayesini ve nasıl kullanılabileceğinizi öğrenebilirsiniz. irc2wiki'nin yaptığı iş kısaca şunu:


şöyle bir şeye çevirmek:

Olması gerektiği gibi olan programlar'dan :)
6
Ağu

OpenSSH_logo

"Don't tell anyone that I'm free"

SSH, Telnet ve rlogin gibi ağ üzerindeki başka bir sunucuya uzakta bulunan bir başka makineden bağlantı sağlayan bir protokoldür. SSH açık haliyle Secure Shell yani güvenli kabuk anlamına gelir. Telnet ve rlogin kullanıcı şifreleri dahil tüm iletişim açık yani şifrelenmeden gerçekleştirilirken, SSH güvensiz makineler arasındaki iletişimi güçlü bir kriptografik yöntemiyle şifreler.i

SSH(Secure Shell) Wikipedia’da yukarıdaki şekilde tanımlanmış. Benim tanımım ise şöyle SSH yani Türkçe’ye çevirecek olursak “güvenli kabuk” iki uzak sunucu arasındaki iletişimi veya istemci-sunucu arasındaki bağlantıyı güvenli bir şekilde sağlayan protokoldür.

Peki ama neden kullanalım?

Başıma gelen bir olaydan örnek vereyim. “Astronomi’de Modelleme” dersinde bir çift yıldız sisteminin fiziksel parametrelerini hepimiz belirtilen süreye kadar çözüp sunum şeklinde sunacaktık. Günler süren çabalar sonucu çözümümüz tamam ve sunumumuz hazırdı. Ben sunmak için çıktığımda sunumum vardı yanımda ama, çözümü yaptığım hesap tabloları ve materyaller yoktu? Maalesef hepsini evde unutmuştum… Neyse ki sunumumda tabloların ekran görüntüsü olduğundan paçayı yırtmıştım… Ama daha kötüsü de olabilirdi. Ya daha kötüsü olsaydı diye düşünelim. Hoca ille de bana hesap tablolarını vereceksin ben anlamam deseydi ne yapacaktık? Okuldan eve mi gidecektik o dakikada? Ya da uçacak mıydık? Elbette hayır. İşte burada yapacağımız şey hocadan ve dinleyicilerden “1 dk izin alıp” eğer evimize daha önceden Open-SSH-Server kurmuşsak, kısa sürede ihtiyacımız olan dosyaları, sunum yapacağımız bilgisayarımıza aktarabileceğiz hemde maksimum güvenlikle!

Evet! SSH’ın nasıl bir şey olduğu anlaşıldı gibi… Şimdi gelin sistemlerimize kuralım;)

Pardus 2009.2 için ;

Paket Yöneticisi’nden “openssh” aratarak kurabilirsiniz. Ya da Terminalde ;

# pisi it openssh

Ubuntu 10.04 ve BackTrack 4 için Terminal’de ;

# sudo apt-get install ssh

komutunu verin o sizin için herşeyi halledecektir…

Evet kurulum tamamlandı. Open SHH Sunucumuzu yeniden başlatalım.

Pardus için Pardus> Sistem> Servis Yöneticisi‘ni kullanabilirsiniz. Ya da Terminalde;

professor-pardus ~ # service openssh  restart

openssh durduruluyor

openssh başlatılıyor

Ubuntu 10.04 ve BackTrack 4 için Terminal’de ;

# sudo /etc/init.d/sshd restart

Şimdi kurulum tamamlandı ama güvenliğimizi had safhada sağlamak için birtakım konfigurasyonlar yapacağız.

Root olunuz;

# nano /etc/ssh/sshd_config

Bu config dosyasının içerisinde SSH’a hangi porttan erişileceğine ve kimlerin nasıl haklarla erişeceğine dair pek çok ayar bulunmakta, düzenleyelim.

  • İlk düzenlememiz gereken SSH’a erişim yapılacak port numarası. Bunu düzenlememiz önemli çünkü SSH’a öntanımlı olarak port 22 üzerinden erişim yapılır. Port numarasını değiştirirsek , bağlantı yapacağımız portu sadece biz bileceğimizden daha güvenli bir erişim sağlamış oluruz.

Bunun için;

#Port 22 satırını bulunuz. Başında “#” olmamasına dikkat ederek istediğiniz bir port numarası yazınız. Örn: Port 1453

  • Root login‘e izin vermeyelim veya kullanım amacımıza göre izin vermek size kalmış… Ben “no” olarak ayarladım. Ama dikkatli olmak gerek, root olarak erişen birisi başımaza hertürlü çorabı örebilir;
# Authentication:

#LoginGraceTime 2m

PermitRootLogin no

#StrictModes yes

#MaxAuthTries 6

#MaxSessions 10
  • Ve ben son olarak SSH ile kimlerin bağlanabileceğini belirttim. Bunun için en son satıra gelip
AllowUsers kullanici

dedim. Bağlantı için SHH hazır. Şimdi Ctrl+X ve E, Enter tuşlarına basarak nano ile dosyayı kaydedelim.

Eveet her şey hazır ama bu konfigürasyonlarla sadece yerel ağ üzerinden erişim sağlayabiliriz. Gerçekten uzaktan nasıl bağlantı kuracağız?

Bildiğimiz üzere çoğumuzun evindeki internet dinamik IP üzerine kurulu… Yani bizim her zaman modemimize servis sağlayıcımız tarafından atanan IP’i yi bilmemiz gerekir ki bağlantıyı sağlayalım. Bunu şu şekilde sağlayabiliriz. Modemimize atanan IP’i takip eden, ücretsiz servis sağlayıcılarla bu sorunu çözebiliriz. DynDNS.com bunlardan biri.. http://www.dyndns.com/ sitesinden bir hesap alıp, ilk etapta “Offline Hostname” olarak bir Hostname(Örn: ornek_baglanti.dyndns.org) alın. Modemimizin web arayüzünden erişim yapıp, orada DDNS veya DynDNS (Dinamik DNS) sekmesinden kullanıcı adınızı, parolanızı ve Hostname’i ekleyiniz… Modemin uzaktan erişim sekmesinden, uzaktan erişimi ve herhangi bir ip’i işaretleyin. Kaydedin… NAT ayarlarının altından, Port yönlendirme seçeneği ile SSH port numarasınızı yazarak bağlanmak istediğiniz bilgisayarınızın YEREL IP adresini giriniz… Kaydediniz… Sürekli bu işlemleri yapmamak için modeminizin sabit IP atama sekmesinden makinanızın MAC adresini yazarak makinanıza istediğiniz yerel sabir IP atamasını mümkün kılabilirsiniz. (Not: Bu işlemlerin görsel olarak nasıl yapıldığını anlatan web üzerinde pek çok döküman bulabilirsiniz.)

Artık her yerden erişim için altyapımızı sağlamış olduk! Ama dikkat.

  • Modeminizi dışarıdan erişime açtığımız için güçlü bir parola koyunuz ve kimse ile paylaşmayınız!
  • Kesinlikle Hostname’inizi kimse ile paylaşmayınız.
  • Port numaranızı değiştiriniz kimseyle paylaşmayınız.
  • SSH’ı uzaktan erişim için, gerekmedikçe root moduna kapatınız.

Yukarıda saydıklarım güvenliğimizi sağlamak için genel şartlar. Daha fazla güvenlik için google size pek çok kaynak sunacaktır.

Peki bütün bu ayarlarımızı yaptık ama nasıl erişeceğiz?

En basit erişim şekli şöyle ;

# ssh kullanici_adi@IP-ADRESI -pPORT-NUMARASI

Yani bizim yukarıda oluşturduğumuz Hostname için şöyle;

#ssh kullanici@ornek_baglanti.dyndns.org -p1453 

Eğer ayarlamalarınız düzgün ise Dünya’nın her yerinden evinizdeki bilgisayara bağlanmanız mümküm;)

Bağlandıktan sonra, bağlandığınız sunucunun Terminal’ine düşeceksiniz. Gerisi size kalmış. Yönetimi nasıl sağlayacağınızı düşünmeyiniz. Linux komutları işinizi yine görecek;) Ama yine de merak ederseniz wiki her zaman ki gibi yardımımıza yetişiyor…

  • wget bulunduğunuz dizine download etmenizi sağlar
  • ls Dizinde bulunan herşeyi listeler.
  • ls -a Gizli dosyalar ve dizinlerle beraber listeler.
  • ls -l Bütün dosyaları boyut ve tarihini göstererek listeler.
  • tar -zxpf Uzantısı tar.gz olan sıkıştırılmış dosyaları açar.
  • tar -xpf Uzantısı .tar olan dosyaları açar.
  • gunzip Uzantısı .gz olan dosları açar.
  • cp Dosyayı kopyalar.
  • mv Bir dosyayı başka bir dizine taşımanızı sağlar ya da dosya adını değiştirir.
  • mkdir Yeni bir dizin oluşturmanızı sağlar.
  • rmdir Belirtilen dizini silmenizi sağlar.
  • rm Dosya silmenizi sağlar.
  • rm -rf Dizin silmenizi sağlar.
  • cd Belirtilen dizine geçmenizi sağlar.
  • cd .. Bir üst dizine geçmenizi sağlar.
  • cd ~ En üst dizine çıkmanızı sağlar.
  • pwd O anda bulunduğunuz dizini görüntüler.
  • pico Belirtilen dosyayı text editör ile düzenlemenizi sağlar.
  • ftp Belirtilen siteye FTP bağlantısı sağlar.
  • lynx Belirtilen siteyi görüntüler.
  • df Harddisk istatistiklerini gösterir.
  • quota Disk kullanımınızı gösterir.
  • uname İşletim sisteiminin durumunu gösterir.
  • whoami Kendi bilgilerinizi gösterir.
  • who Sunucuya bağlı olanları gösterir.
  • last Hesabınıza yapılan en son bağlantıyı gösterir.
  • whereis Belirtilen dosyanın nerede olduğunu gösterir.
  • BitchX IRC programını çalıştırır.
  • mail Postalarınızı kontrol eder.
  • ps -x Sizin çalıştırdığınız işlemleri gösterir.
  • ps -a Sunucuda çalıştırılan tüm işlemleri gösterir.
  • ps -ux Çalıştırılan işlemlerin CPU/RAM kullanımıyla gösterir.
  • kill Pid numarası verilen işlemi durdurur.
  • kill -9 Pid numarası verilen eggdrop işlemini durdurur.
  • killall Belirtilen program türündeki tüm işlemleri durdurur.
  • whatis Belirtilen komutun açıklamasını verir.
  • man Komut hakkında yardım görüntüler
  • passwd Shell hesabınıza girerken kullandığınız şifreyi değiştirmenizi sağlar.
  • vhosts ya da vhost Sistemde bulunan vhostları (virtual host) listeler.(BNC için kullanabilirsiniz)
  • ROOTMAKİNADAN İP ÖĞRENME: ip addr
  • ROOTTA HESAP AÇMAK : adduser login & chown mavigok /home/login & passwd pass1 , passwd pass2
  • reboot: Sunucuya restart atar
  • service mysql restart: mysql restart atar
  • service httpd restart: apache ye restart atar
  • service httpd stop : Sitelere ulaşımı kapatır
  • apf -d ipadresi : verilen ipe ban atar
  • service apf restart : apf ye restart atar
  • netstat -n : sunucuya baglanan ipleri gösterir
  • netstat -a sunucuya baglanan reseller ipleri gösterir(Proxy kullanmanız fark etmez her zaman gercek cıkış ipi görünür)
  • pico : ssh üzerinden text editor ile dosya içeriğini görme ve düzenlemeye yarar.
  • top : Sistem cpu kulalnımını gösterir.
  • uptime : Uptime Durumu ii

Evet, size evimizdeki bir bilgisayara nasıl bağlanacağımız husunda temel düzeyde bilgi vermeye çalıştım. SSH hakkında daha detaylı bilgiyi üstat Çağatay ÇEBİ’nin dökümanından yararlanarak bulabilirsiniz. “http://www.cagataycebi.com/linux/remote_access/remote_access.html” Bu adresten ayrıca Windows nev’i işletim sistemlerinden sunucunuza nasıl bağlanmanız gerektiği de anlatılmış. İncelemenizi öneririm.

Hepinize iyi çalışmalar diliyoum.

Yücel K.

REFERANSLAR:

  1. http://en.wikipedia.org/wiki/Secure_Shell
  2. http://tr.wikipedia.org/wiki/SSH
  3. http://www.cagataycebi.com/linux/remote_access/remote_access.html
  4. https://www.dyndns.com
  5. https://help.ubuntu.com/6.06/ubuntu/serverguide/C/openssh-server.html
  6. http://yamci.com

ihttp://tr.wikipedia.org/wiki/SSH

iihttp://tr.wikipedia.org/wiki/SSH

19
Haz
Bu satırları Konsole'den yazıyorum. Bakalım olacak mı? http://code.google.com/p/googlecl/
25
May

Sitemizde daha önce tarihi ve yerini paylaştığımız “2.Linux ve Açık Kaynak Kod Dünyası” seminer dizisini başarıyla atlattık.
Geleniniz oldu mu bilmem ama size bir kaç şey paylaşmak istiyorum.
İlk Gün:

Devrim Gündüzün’den mükemmel uslubuyla, Linux ile ilgili bir çok bilgi aldık. Bu adamı dinlerken gerçekten çok eğlendim. Bazen bizi gülmekten kırıp geçirdi. Bu anlardan ikisini sizinle paylaşmak istiyorum:

1) Devrim GÜNDÜZ, görünen o ki kendisiyle çoook barışık bir insan. E söz konusu Linux’ta para kazanmak olunca (Sunumun konusu buydu) adamın aklına şöyle bir örnek geliyor:

Devrim GÜNDÜZ

“Bana soruyorlar, Linux’la uğraşan adamlar, nasıl para kazınıyorlar? Her şey ücretsiz. Peki bu adamlar aç mı kalıyor?” dedi ve bize profilini gösterecek şekilde dönerek, baştan aşağıya kendini göstererek, “Aç kalmışa benziyor muyum?” dedi. :D

2) Linux’un maskot olarak TUX‘u lullanmasının hikayesini anlatırken konuşma şöyle devam etti:

“Linux ilk çıktığında logo bulmak için fikirler toplandı. Kimisi güçlü olsun, EJDERHA olsun demiş. Kimisi başka bir şey. Sonra Linus TORVALDS abimizin, “Ben penguenleri çok severim.” sözü üzerine penguen seçilmiş.” dedi. “Bununla ilgili hikayeler çok.” dedi ve devam etti; “Yok bunu penguen ısırmış, yok pengueni varmış kurban bayramında kesmişler …”

Dedi ve biz dinleyenler (Özellikle ben) bu esprinin etkisinde hala gülüyoruz.

Bence bu adamı dinlemelisiniz …

Aynı gün ikinci ve üçüncü oturumları:

360

Bu oturumda ise, Özgürlükİçin.com ekibini dinlemek ile şereflendirildik. Gerçekten çok eğlenceliydi. PARDUS‘un gelişmesi ile ilgili bir çok bilgi edindik.
Pardus geliştiricisi kimdir? Neden Pardus geliştiricisi olunur? Nasıl olunur? Pardus’a yediden yetmişe insanların nasıl emek verdikleri? gibi bir çok bilgi aldık.

Gizem BELEN, Gaye DEMİRTAŞ ve Gökdeniz KARADAĞ’a teşekkür ederiz …

İkinci gün:

İkinci günü ilk oturumunda; Ubuntu Remastering ile nasıl Ubuntu dağıtımı yapılır öğrendik.(En yakın zamanda paylaşacağım :D )
Bu oturumda Artık adı “ORACLE VirtualBox” olan (Eski adıyla “Sun VirtualBox”) yazılımı marifetlerini öğrendik.
Bunun dışında bu linki incelemeniz yararınıza olacaktır. İyi bilgiler var!

360

Mahmut Sedat EROĞUL’a teşekkürler ..

İkinci oturumda ise Ankara Üniversitesi (Benim Üniversitem :D ) Bilgi İşlem Daire Başkanlığından Mehmet Ali ÖKSÜZ’den “Kişisel Bilgi Güvenliği” başlıklı çok önemli bir sunum dinledik.

360

Bu aşamadan sonrası anlatılmaz yaşanır.
Bu etkinliğin gerçekleşmesinde emeği inkar edilemez olan Yücel KILIÇ ve Koray EYİDOĞAN’a da çok teşekkür ederim.

Son olarak FenBit ve Özgürlükİçin hatıra fotoğrafı:)

FenBit&Özgürlükİçin

İçinizi böyle erittiğim iyi oldu. Umarım bundan sonra böyle etkinlikleri kaçırmayı aklınızdan bile geçirmezsiniz. :D

22
May
Sihirli SysRq tuşları Linux çekirdeğinin anlayabileceği çeşitli tuş kombinasyonlarını ifade etmek için kullanılan bir terimdir. SysRq tuşu mu, benim klavyemde yok bile diye düşünebilirsiniz ama PrtSc tuşunun altındaki satırı okuduğunuzda gizlendiği yeri bulacaksınız. Bu tuşları kullanarak sistemin durumuna bakmaksızın çeşitli alt seviye komutlar çalıştırabilirsiniz. Genellikle donmuş bir sistemi güvenli bir şekilde ve dosya sistemine zarar vermeden yeniden başlatmak için kullanılır. Fakat bazı espri anlayışı ilginç kişilerce eğlence amaçlı olarak başkalarına kullandırtılmaya çalışıldığı da görülmemiş bir olay değildir. Bu işlevin kullanılabilmesi için çekirdek derlenirken CONFIG_MAGIC_SYSRQ seçeneğinin açılmış olması gerekmektedir.


Sun Microsystems's Open Firmware (OpenBoot) gibi sistemlerde bu tuş kombinasyonları yazılım geliştirme ve sistem kurtarma için güçlü araçlara erişim imkanı sunar. Bu komutlar sayesinde dosya sistemleri ayrılabilir, işlemler öldürülebilir, klavyenin kontrolü X'ten alınabilir, yazılmamış veriler diske yazılabilir... Ayrıca şaka da yapılabilir, söylemiştim değil mi?

Sihir, sihir deyip duruyorsun ama henüz bir olayını göremedik diye kafanızdan geçerdiğinizi hisseder gibiyim. Yani o kadar aşmış, bilmiş, telapitiyi hatmetmiş biriyim ki anlatamam (çok güzel espri yapabildiğimi ayrıca belirtmeme gerek yok sanırım değil mi?). Sadede geleyim. Bu sihiri ortaya çıkarmak için Alt, SysRq ve diğer herhangi bir tuşa aynı anda basmanız yeterli. Yalnız QWERTY dışında bir klavye düzeni kullanan kullanıcılar kendi klavye düzenleri için olan kısayolları kullanmayı unutmamalıdır. Ayrıca eğer sisteminiz AltGr tuşuna sahipse kullanacağınız komut kombinasyonunun diğer Alt tuşu içeren kısayollarla karışmaması için AltGr tercih edilebilir. QWERTY klavye düzeni için örnek birkaç kısayol aşağıda yer almaktadır:


  • 0'dan 9'a: Konsol kayıt seviyesini ayarla, çekirdekten gelen mesajların ne kadar detaylı olarak görüntüleyeceğini belirler
  • b: Sistemi hemen yeniden başlat, bölümleri ayırmadan ve eşzamanlamadan
  • c: kexec'i yeniden başlat ve bozulma kaydını çıkart
  • e: init (PID 1) hariç tüm işlemlere SIGTERM sinyali gönder
  • i: init hariç tüm işlemlere SIGTERM sinyali gönder
  • k: Açık olan sanal konsoldaki tüm işlemleri kapat (X ve svgalib programlarını kapatmak için kullanılabilir, aslen Secure Access Key'in (Güvenli Erişim Tuşu) bir benzeri olması için tasarlanmıştır)
  • m: Güncel bellek bilgisini konsola bas
  • o: Sistemi kapat
  • p: Güncel kaydedicilerin ve bayrakların durumunu konsola bas
  • q: Tüm aktif yüksek seviyeli zamanlayıcı ve saat kaynaklarını göster
  • r: klavyeyi raw kipinden (X11 ve svgalib gibi uygulamaların kullandığı kiptir) XLATE kipine al
  • s: Tüm bağlı dosya sistemlerini eşzamanla
  • u: Tüm bağlı dosya sistemlerini sadece okunabilir olarak tekrar bağla


Aslen sadece çekirdekte hata ayıklamak için klavye kısayolları olarak tasarlanmış olsa da bu sihiri proc dosya sistemi üzerinden de kullanabilirsiniz. Böylece uzak sistemler için

echo b > /proc/sysrq-trigger

benzeri kullanımlar gerçekleştirilebilir. Bu Alt + SysRq + b kısayolu ile tam olarak aynı işi yapacak ve sistemi yeniden başlatacaktır.

Kilitlenmiş bir sistemi güvenli olarak yeniden başlatmak için yaygın olarak r, e, i, s, u ve b kısayolları sırasıyla kullanılır ve bunları hatırlamayı kolaylaştırıcı çeşitli cümleler oluşturulmuştur: "Raising Elephants Is So Utterly Boring" ve "Reboot Even If System Utterly Broken". Ya da sadece tersten sıralayarak oluşan kelimeyi hatırlamak daha kolay olabilir: "BUSIER", (unRaw, tErminate, kIll, Sync, Unmount, reBoot).

Bu yöntem yeniden başlatma sırasında fcsk'nın kullanılmasına gerek bırakmayabilir ve çeşitli uygulamalara kaydedilmemiş işler için acil yedekler kaydetmesi için şans verebilir. Pratikte, her komut tamamlanması için birkaç saniyeye ihtiyaç duyar, özellikle ekran donması veya bozulmaları gibi geribildirim alınmasını engelleyici durumlar varsa dikkat edilmelidir. Örneğin tamamlanmamış işlemlere gönderilen SIGKILL veri kayıplarına neden olabilir.

Eğer sisteminizde bu kısayolların kullanılmamasını istiyorsanız:

echo 0 > /proc/sys/kernel/sysrq 

komutunu kullanabilirsiniz. Devre dışı bıraktıktan sonra, tüh keşke devre dışı bırakmasaydım, lazım olunca ne yapacağım diyorsanız da

echo 1 > /proc/sys/kernel/sysrq

komutu ile tekrar aktifleştirebilirsiniz.


Lütfen bu yazıdakileri uygulamadan önce detaylı olarak araştırmayı umutmayınız. Güç sizinle olsun.


Kaynaklar:
wikipedia
ekşi sözlük

15
May

2. Linux & Açık Kaynak Kod Dünyası

Ankara Üniversitesi Fen Fakülteliler Bilişim Topluluğu(FenBit) olarak bu yıl  2. sini düzenleyeceğimiz ve iki gün sürecek olan 2. Linux ve Açık Kaynak Kod Dünyası” etkinliğimiz 20 Mayıs 2010 saat 13:30‘da Ankara Üniversitesi Eczacılık Fakültesi‘nde başlıyor.

Linux dünyasına adım atmak, var olan bilgilerinizi geliştirmek için sizleri konusunda uzmanlarla ve ufkunuzu açacak konularla keyifli saatler geçirmeye davet ediyoruz.

Ankara Üniversitesi Fen Fakülteliler Bilişim Topluluğu olarak, Linux Kullanıcıları Derneği Seminer Çalışma Grubu ve Özgürlükİçin.com işbirliğiyle 2. Linux ve Açık Kaynak Kod Dünyası etkinliğini gerçekleştiriyoruz.

Program şu şekilde:

20 Mayıs 2010 Perşembe

13:30 – 14:30 “Linux’dan Nasıl Para Kazanılır?” Devrim GÜNDÜZ
Üniversite öğrencileri için Özgür Yazılım ile para kazanma yolları hakkında detaylı bilgiler.

14:45 – 15:45 “Özgür Yazılım ve Pardus” Ali IŞINGÖR, Gizem BELEN
Pardus topluluk yöneticilerinden Özgür Yazılım ve Pardus hakkındaki son gelişmeler.

16:00 – 17:00 “Özgürlükİçin ve Topluluk Süreçleri” Ali IŞINGÖR, Gizem BELEN
Özgürlükİçin neler yapıyor? Topluluk süreçleri nasıl yönetiliyor?

***

21 Mayıs 2010 Cuma

13:30 – 14:30 “Ubuntu Remastering” Mahmut Sedat EROĞUL
Sadece sana özgü, içinde senin istediğin programlar olan Ubuntu CD’n olsun ister misin? Kendi kişisel Ubuntu CD’ni nasıl yaparsın?

14:45 – 15:45 “Kişisel Bilgi Güvenliği” Mehmet Ali ÖKSÜZ
Bilgilerinizin tehdit altında olduklarını biliyor muydunuz? Tehditleri öğrenip bilgisayarınızı nasıl daha güvenli hale getirebilirsiniz?

İlgilenen herkesi bekliyoruz.

Poster : http://tinyurl.com/fenbit-poster10-05
Harita : http://tinyurl.com/fenbit-linux10-05
İletişim : http://fenbit.ankara.edu.tr http://twitter.com/fenbit

29
Nis
Wine harika bir proje. Bizlere başka bir işletim sistemi için yazılmış yazılımları, oyunları ve aklınıza gelecek diğer şeyleri çalıştırmak için bulunmaz bir şans veriyor. Sevmeyenleri de var, bana ilginç gelir. Konumuz Wine'nin ne kadar harika olduğu veya bazı kişilerin neden Wine'yi sevmediği değil, Wine'nin en önemli eksikliği hakkında. Wine yazılımları çok güzel görünmüyor. KDE veya GNOME'nin renk şemalarını ve yazıtipi tercihlerini kullanmıyor çünkü. Bu gerçekten çok kötü, sadece bir iki yazılım bile kullansanız dayanılacak gibi değil. Wine ile Windows temalarını kullanabilirsiniz ama bu Wine'yi oldukça yavaşlatmaktadır. Ayrıca kullandığınız KDE veya GNOME temasına uygun bir taneyi nereden bulacaksınız? Ama yapılabilecek bir şeyler de yok değil.

Her ne kadar ben sadece KDE için nasıl yapılacağını söyleyecek olsam da aynı işlemleri üç aşağı beş yukarı değişikliğin ardından GNOME için de uygulayabilirsiniz. Hatta diğer masaüstü ortamları için uygulanabilmesi de muhtemel. Yazı KDE için yapılması gerekenlerle ve tüm hızıyla devam ediyor.

Sistem Ayarları'nı açın. Görsel ve İşitsel bölümündeki Görünüm'ü seçin. Görünüm'den Renkleri. Renk Ayarları bölümünden de Renkler sekmesini seçin. Renkler sekmesinde bir pencereyi pencere yapan tüm öğelerin renk değerlerini belirleyebileceğiniz seçenekler vardır.


Şimdi de bir renk seçiciye ihtiyacımız var, burada seçim tamamen ait ama bana sorarsınız KDE ile birlikte gelen Renk Seçici programcığı tam bu iş için. Renk seçiciler fare ile işaret edilen noktanın renk bilgilerini / değerlerini döndüren oldukça kullanışlı yazılımlardır.

Renk Seçici'yi masaüstünüze veya panelinize eklediyseniz şimdi de sıra Wine Ayarları'nda. Wine Ayarları'nın Masaüstü Entegrasyonu bölümüne geçin. Buradaki Item (Öğe)isimli açılır kutu Wine uygulamalarının pencerelerindeki öğeleri seçmenize yaramaktadır. Bir öğeyi seçtiğinizde o öğeye ait renk (eğer destekliyorsa boyut ve yazıtipi) ayarlarını yapabiliyorsunuz.


Basitçe yapmamız gerekenlerin ne olduğu ortaya çıktı zaten: KDE'deki renk değerlerini renk seçici ile öğrenip Wine renk ayarlarındaki öğeler için uygulayacağız. İşte hepsi bu.

Eğer yazıtiplerinden de memnun değilseniz benzer işlemleri onlar için de uygulayabilirsiniz. KDE'de kullanılanların isimlerini Sistem Ayarları'ndan öğrenin ve Wine Ayarları'ndan aynılarını seçin.

Tüm bunlar ne yazık ki Wine uygulamaların tam bir yerliye çevirmeye yetmiyor. Wine uygulamaları hala bir parça turist olarak kalıyor, çünkü KDE'deki tema veya sitillerini tam olarak uygulamak şu an için mümkün değil. Ama en azından bunları yaparak Wine uygulamaların daha az çirkin olmasını sağlayabiliriz.

Buraya kadar sabırla okuyarak ya da yazıyı baştan aşağıya bir süzerken geldiyseniz ve sübhanallah kardeş ibretlik bir paylaşım ama özet geçebilir misin diyorsanız sonraki satırlar sizin için geliyor :)

  • Wine Kayıt Düzenleyici'sini açın: wine regedit
  • HKEY_CURRENT_USER\Control Panel bölümüne geçin ve Colors anahtarını silin.
  • Kate'yi açın ve aşağıdakileri yapıştırın:
[HKEY_CURRENT_USER\Control Panel\Colors]
"ActiveBorder"="239 239 239"
"ActiveTitle"="239 239 239"
"AppWorkSpace"="198 198 191"
"Background"="93 77 52"
"ButtonAlternativeFace"="200 0 0"
"ButtonDkShadow"="85 85 82"
"ButtonFace"="239 239 239"
"ButtonHilight"="255 255 255"
"ButtonLight"="255 255 255"
"ButtonShadow"="198 198 191"
"ButtonText"="0 0 0"
"GradientActiveTitle"="239 239 239"
"GradientInactiveTitle"="239 239 239"
"GrayText"="198 198 191"
"Hilight"="103 141 178"
"HilightText"="0 0 0"
"InactiveBorder"="239 239 239"
"InactiveTitle"="239 239 239"
"InactiveTitleText"="255 255 255"
"InfoText"="0 0 0"
"InfoWindow"="200 0 0"
"Menu"="239 239 239"
"MenuBar"="0 0 0"
"MenuHilight"="179 145 105"
"MenuText"="0 0 0"
"Scrollbar"="239 239 239"
"TitleText"="255 255 255"
"Window"="255 255 255"
"WindowFrame"="0 0 0"
"WindowText"="0 0 0"
  • Dosyayı hede.reg veya daha anlamlı bir isimle kaydedin.
  • Wine Kayıt Düzenleyici'sine geçin. Az önce oluşturduğunuz kayıt dosyasını içeri aktarın: Kayıt> Kayıt Dosyası Al...
  • Renkleri kontrol etmek için Wine ile bir uygulama açın.


öncesi (Windows grisi)

 sonrası (KDE grisi)

Kaynaklar:
1
Nis

Bir teknoloji asla birilerinin tekelinde ve güdümünde olmamalı. Bilim evrenseldir. Teknolojiye bu felsefe ile baktığımızda, bazı şeyleri daha net görmeye başlayacağız. Bunun yanısıra, bazı kişiler algılarını tamamen “özgürlüğe” kapatarak, çevredeki “daha iyi alternatifleri” görememektedirler. Bunun sebebi elbette kısa vadede düşünmeleri ve anlık hesap yapmalarından kaynaklanmaktadır.

Özgür yazılım ve GNU/Linux felsefesi tamamen insanlığı ve insanlığın toplu olarak çıkarını ve rahatını düşünür. Bilimi, bilişimi, teknolojiyi tekele bırakmak istemez. Bu felsefeyi özellikle ülkemizde insanlar, yeni yeni kavramaya başladı. Bu iyi birşey. Bu aşamaya gelmemizde, elbette TUBİTAK/UEKAE‘nin Pardus projesi ile çok emeği var. Fakat gözden kaçırdığımız, benim de dahil, bazı şeyler var. 2. Pardus Tanıtım ve Geliştirme Günleri‘nde Özgürlükİçin topluluk yöneticisi Ali Işıngör “Özgürlükİçin Pardus ve Pardus Topluluk Süreçleri” sunumlarında “Üniversitelerin Bilgisayar Mühendisliği ve Bilişim Bölümleri, Microsoft dershaneleri gibi eğitim veriyor.” derken haksız da değildi. Bu yüzden bilişim insanları üzerinde, birilerinin çıkarı için, belirli bir konuda birikim var. Yani insanlara bazı teknolojiler, bazı platformlara bağımlı şekilde öğretiliyor. Bunun arkasında, kusura bakmasın kimse ama, ben “iyi niyet” arayamam. Mesela bizim bölümümüzde verilen programlama eğitimi yani Bilgisayar Programlama I dersi Microsoft Visual Basic 6.0 idi. Burada şu yanlış anlaşılmasın. Amacım bahsi geçen teknolojileri  kötülemek değildir. Sadece “Kapalı” ve “özgür olmama” konusu ve “tek platforma bağımlı olma” durumu eleştirilmektedir. Normalde bu “kapalı sistemin”, normal bir kullanıcı için yaklaşık $100 olan ve eğitim amacı için $15! olması bizim soyulmadığımız anlamına gelmez. Bunu en iyi eğitimcilerin anlaması gerekir ki; yeni nesiller adam gibi onların eseri oluversin. (Bkz “ 2. Pardus Tanıtım ve Geliştirme Günleri’nde, “Ama kardeşim! Eğitim amaçlı o sistem $15 diyen eğitimciye atıf.) Herneyse biz işimize dönelim. Bu konuda bir kamyon diyecek lafım var. (Bkz Çorum şivesi)

Dediğimiz gibi, insanlara bazı eğitimler tek platformda çalışır düzeyde veriliyor. Bunlardan biriside Visual Basic yani VB. VB programlama dilini bilen birisi Linux’a geçtiğinde, eğer sadece o dili biliyorsa, kendini eli kolu kesilmiş gibi hissedecektir. Doğal olarak karşısında iki seçenek olacaktır. Ya platform bağımsız bir dil öğrenecektir. Ya da Linux’a elveda diyecektir. E canım herkesin amacı da “Vay efendim ben “Özgür” olacağım” demek değil ki. Bazı kişiler de buradan para kazanmak isteyecektir. GNU/Linux ticari amaçla da kullanılabilir. Ama tek bir şartla “kaynak kodları vereceksin” . İstemediğimiz durum şudur. Bu kişinin Linux’u bırakması. Diğer seçenek, yani ilk seçenek ise zamanı olan birisi tarafından tercih edilecektir. Zaman kaybetmeden proje geliştirmek isteyen birisi, o yolu da tercih etmeyip. eski platformunda geliştirme yapacaktır ki; birazcık duygusal değil de mantıksal baktığımızda o şahsa yine hak vereceğiz.

Bu durumun haricinde başka bir güruh var. Bu güruh Linux’un doğru düzgün hiçbir yazılımı çalıştırmadığını zanneder. Sanki suç burada Linux’taymış gibi. “Linux bunu desteklemiyor.” Daha amiyane bir tavırla söylersek “Linux bunu kaldırmıyor!” deyip işkembe-i kübradan atmayı tercih ederler. Oysa ki Linux bir işetim sistemidir ve çok güçlü bir işletim sistemidir. Yazılımcı kişi ya da firma ona destek verirse “kaldıramayacağı!” bir yazılım yoktur.

Gelgelelim Gambas‘a. Wiki’nin söylediğine göre ;

GAMBASGambas Almost Means BASic, Linux altında görsel programlama yapmaya yarayan bir yazılımdır. Windows altında Visual Basic‘le programlama ile uğraşan programcılar ve Linux altında görsel programlamayı öğrenmek isteyen bilgisayar kullanıcıları için iyi bir alternatifdir. Benoit Minisini adlı programcı tarafından Açık Kaynak felsefesi ile geliştirilmektedir.

Gambas’ın kod yazımı her ne kadar Visual Basic’e benzese de ayrı bir dil olma yolundadır. Kod yazımlarındaki farklılıklar kullanıma geçildiğinde farkedilecektir. Visual Basic’te yazılmış olan kodlarınızı Gambas’a çevirmek üzere kullanılan bir betikte Gambas’ın resmi sitesinde yer almaktadır.

Gambas, çok hızlı gelişen bir programlama dilidir. Bir çok grafik kütüphanesine ve MySQL, PostqreSql gibi veritabanına destek vermektedir.

Şu anda programlama dilinin geçerli sürümleri; kararlı sürüm: 1.0.10, geliştirici sürümü: 1.9.20, kararlı sürüm: 2.20.2, geliştirici sürümü: 2.99 .

Gambas(meali İspanyolca’da karides) hakkında wikiden bilgilendirmeyi aldıktan sonra yapmamız gereken iş tabii ki kurmak:)

Gambas Ubuntu 9.10 depolarında deb paketi olarak mevcut. Ubuntu Yazılım Merkezi’nden “gambas” diye aratın ve kurun.

Pardus 2009.1 için ise birazcık yapmamız gerekenler var.

Adım 1: Gambas2 ve Gambas3 kodlarını yapılandırabilmek için aşağıdaki komutları sıra ile terminalde veriniz. Bunun için ;

Sistem> Konsole(Uç Birim) açalım ya da Alt+f2 tuşlarına basalım karşımıza gelen kutucuğa “Yakuake” yazalım karşımıza bir terminal gelecektir.(Bu terminali dilediğiniz zaman f12 ile çalıştırabilir ve kapatabilirsiniz.

$ sudo pisi install -c system.devel
$ mkdir trunk
$ svn checkout https://gambas.svn.sourceforge.net/svnroot/gambas/gambas/trunk/
$ cd trunk
$ ./reconf-all
$ ./configure

Adım 2: ./configure komutunu verdikten sonra karşımıza eksik paketler listelenecek. (qt , sdl, sqlite2, firebird, bz2lib) gibi.

Ben sqlite2, bz2lib haricindeki paketleri Paket Yöneticisi’nden kurdum. Kurulacak paketler, “firebird-client”, “sdl-sound” (eğer yine hata verirse tüm sdl kütüphanelerini kurmanızı öneririm:), “sqlite”, “qt” . Bu işlemleri yaptıktan sonra sadece “sqlite” ve “bz2lib” bileşenleri eksik kalacak ama siz yine de aşağıdaki komutları sıra veriniz:)

$ make
$ make install 

İşlem bitene kadar bekleyelim…

Herşey Tamam!

Adım 3: Çalıştırma; Terminalde ;

$ gambas3

…ve açılıyor!

Burada dikkatinizi birşeye çekmek isterim. Gambas‘ı her açmak istediğinizde Terminal’e “gambas3” komutunu vermeniz gerekecek. Bunu böyle yapmaktansa menüye ekleyelim. Şöyle ki;

$ kmenuedit

komutunu verelim. Karşımza KDE Menu Düzenleyici gelecek. Burada “Geliştirme” sekmesinin altına “Yeni Öğe” diyerek Gambas‘ı aşağıdaki ekran görüntüsünde olduğu gibi ekleyelim.

Görüntü 1 KDE Menü Editör

Menümüze Gambas‘ı ekledikten sonra projemize başlayabiliriz. Yalnız eğer sistemi ilgilendiren betikler yazacaksak. Gambas‘ı da yönetici hakkı ile çalıştırmamız gerebilir. Bunun için Kde Menü Düzenleyici “komut” bölümüne “kdesu gambas3” yazmamız gerekecek. Yalnız yönetici hakları ile çalıştırdığımız Gambas‘ta yazacağımız kodlara çok dikkat etmek gerecektir. Çünkü sorumsuzca yazdığımız her komut sistemizin çökmesine ve doğal olarak olası veri kaybına yol açacaktır.

Bu uyarımızı da yaptıktan sonra aşağıdaki ekran görüntüleri size yardımcı olacaktır. Artık proje oluşturabiliriz:))) Şöyleki;

Ekran görüntüleri sırayla aşağıda verilmiştir…


Görüntü 2 Gambas Açılışı

Yukarıdaki ekran görüntüsü Gambas 3‘ü açtığımızda karşımıza gelecek ilk ekran. Eğer daha önce oluşturduğunuz bir projeniz varsa Gambas size yukarıda olduğu gibi listeleyecektir. Benim önceden oluşturduğum network-manager isimli bir proje idi örneğin.

Gambas’ta “Yeni Proje” sekmesine tıkladığınızda aşağıdaki pencere ile karşılaşacaksınız. GTK+ ve QT başta olmak üzere, komut-satırı, SDL, CGI Web uygulamaları gibi pek çok seçenekle görsel programlama yapma olanağınız mümkün.

Görüntü 3 QT grafik uygulaması

Görüntü 4 Yeni Proje Oluşturma

Görüntü 5 Yeni Proje Yolu

Görüntü 6 Çalışma Mekanı:)

Artık iş tamamen size kalmış ben bir tane örnek programcık yazdım. Program çevredeki ağları buluyor.  Formun üzerine bir buton ve Listbox ekleyin. Butona çift tıkladıktan sonra içerisine; Buradaki kodu yapıştırınız. Sonra “Çalıştır” butonuna basınız.

Görüntü 7 Basit bir Programcık Örneği

Gambas’ta Proje> Oluştur> Kurulum Paketi yolunu izleyerek; Debian, Fedora, Mandriva Linux, OpenSuse, Slackware , Ubuntu, Autotools gibi dağıtımların hazır paketlerini ve kaynak kodlarını oluşturabilirsiniz. Yalnız, ben burada sayılan rpm tabanlı dağıtımlarda “rpmbuild mevcut değil” uyarısı aldım. Deb tabanlı olanlarda ise “debhelper mevcut değil” uyarısını aldım. Bunu belirteyim. Ubuntu‘da ise iki sayıyı toplayan programı deneme adına .deb paketi haline çok başarılı şekilde getirdi. İstenilen menü kategorisine de kısa yolunu attı. Pardus 2009.1 de de sorunsuz paket oluşturmak için çalışmalara başyacağım.  Belki inceleyen olur diye yukarıda yapılan programın kaynak kodunu veriyorum. Aşağıdaki linkten indirebilirsiniz.

Umarım yararlı bir çalışma sunabilmişimdir. VB’ciler sizleri Pardus’a bekliyoruz. Linux’a bekliyoruz ;)

Saygılarımla…

Yücel KILIÇ

http://yamci.com

Kaynak Kod:

İndirmek İçin Tıklayınız.

REFERANSLAR

1- http://gambas.sourceforge.net/en/main.html

2- http://en.wikipedia.org/wiki/Gambas

3-  http://tr.wikipedia.org/wiki/Gambas

4- http://www.ozgurlukicin.com/

22
Mar

“KDE Dialogs” ile Kabuk Programlama Mucizesi -1 için tıklayınız…

Dosyaların Görüntülenmesi

Kabuk programlama da ortak bir gereksinim de dosyaları listeleme ve görüntüleme kabiliyetidir. Kdialog bunu –textbox diyaloğu ile destekler. –textbox diyaloğunun zorunlu tek bir parametresi vardır. Bu da görüntülenecek dosyanın ismidir. Ayrıca iki adette tercihe bağlı parametresi vardır. Bunlar –textbox diyaloğunun boyutlarının kaç pixel olacağını ayarlamamıza olanak sağlar. Örneğin;

Örnek 21: –textbox diyalog kutusu

Öncelikle bir metin belgesi içerisine birşeyler yazın… Ben “pardus” isimli bir belge oluşturdum.

$ kdialog --textbox pardus

Figür 16 –textbox Diyalog Kutusu

Örnek 22: boyutları ile –textbox diyaloğu

$ kdialog --textbox pardus 400 400

Figure 17 Boyutları ile –textbox Diyaloğu

Menü ve Seçim Diyalogları

Bu bölüm basit menüleri kapsamaktadır. Kontrol listeleri, radyo butonlar ve çoklu kutular (checklists, radio buttons, combo-boxes). Bu menüler bir seçenek yelpazesi sunar. Her seçenek iki argüman gerektirir. İlki seçilmesi düşünülen bilginin anahtarı, ikincisi etiketi. Şöyle ki;

Örnek 23 –menu diyalog kutusu

$ kdialog --menu "Select a language:" a "American English" b French c "Oz' English" d "Türkçe"

Figür 18 –menu Diyalog Kutusu

Eğer Figür 18 de görüldüğü gibi “Türkçe” yi seçerseniz. Kdialog “Türkçe” için belirtilen değeri çıktı olarak gönderecektir. Yani “d” yi. Küçük harf veya harf kullanmak zorunda değilsiniz. Büyük harf veya sayılar da kullanabilirsiniz. Hatta değişken niteliği taşıyan sözcükler de kullanabilirsiniz.

Eğer örneğimiz de “Tamam” butonuna tıklarsak dönen değer “0” “İptal” butonunu seçersek dönen değer “1” olacaktır.

Kontrol listesi (checklist) diyaloğu da menü seçeneği ile benzerdir. Bu seçeneğin farkı ise kullanıcı birden fazla seçim yapabilir. –checklist diyaloğu üç argümana gereksinim duyar. İlki gönderilecek değer /değişken, ikincisi etiket ve sonuncusu ise varsayılan seçim. Şöyle ki;

Örnek 24 –checklist diyalog kutusu

$ kdialog --checklist "Select a language:" 1 "American English" off 2 "French" off 3 "English" off 4 "Türkçe" on

Figür 19 –checklist Diyalog Kutusu

Sonuç olarak kullanıcı bu diyalog ile birden fazla seçim yapabilecektir. Eğer bu durumda birden fazla seçim yapılırsa, gönderilen çıktı tek satır üzerinde bitişik değerlerle olacaktır. Bu seçili değerleri ayırmamız için –separate-output parametresini kullanmamız gerekecektir. Şöyleki ;

Örnek 25: –checklist diyalog kutusu
İlk durum için ;

$ kdialog --checklist "Select a language:" 1 "American English" off 2 "French" off 3 "English" off 4 "Türkçe" on

Çıktı;

"1" "2" "3" "4"

2. durum için;

$ kdialog --separate-output --checklist "Select a language:" 1 "American English" off 2 "French" off 3 "English" off 4 "Türkçe" on

Çıktı;

1
2
3
4

Menu diyaloğunda da olduğu gibi. Eğer örneğimiz de “Tamam” butonuna tıklarsak dönen değer “0” “İptal” butonunu seçersek dönen değer “1” olacaktır.

–radiolist diyaloğu kontrol listesi diyaloğu ile çok benzerdir. Fakat bu diyalogda kullanıcı yalnızca bir seçenek seçebilir. Şöyle ki;

Örnek 26: –radiolist diyalog kutusu

$ kdialog --radiolist "Select a language:" 1 "American English" off 2 "French" off 3 "English" off 4 "Türkçe" on

Figür 20. –radiolist Diyalog Kutusu

Not: Eğer birden fazla seçeneği seçili tutmak istediğiniz zaman, sadece son seçenekte seçili olan değer seçili gelecektir. Eğer hiçbir seçeneği seçili ayarlamadığınız taktirde kullanıcı “Tamam” a tıklarsa ilk değer varsayılan olarak seçilmiş olacaktır. Lütfen bu tür durumlara dikkat ediniz ve bu şekilde kullanmaktan kaçınınız.

Combo-box diğer menü diyaloglardan biraz farklıdır. Bu seçeneği kullanabilmek için seçimin yerini tutan değişken veya değerler kullanmayız, sadece metini yazmamız yeterlidir. Şöyle ki;

Örnek 27: –combobox diyalog kutusu

$ kdialog --combobox "Neli pasta seversiniz?" "Vanilyalı" "Kremalı" "Çikolatalı" "Çilekli" "Sade" "Pasta Sevmem" "Diğer"

Figür 21 –combobox Diyalog Kutusu

Dosya Seçim Diyalogları

Bu bölüm kdialog ile “dosya seçmek”, “açmak” ve “kaydetmek” konularını kapsamaktadır. KDE dialogs bize ileri filtreleme teknikleri ile dosya yollarına ve URL’ lere erişim konusunda büyük kolaylıklar sağlayacaktır.

Dosya seçim diyaloğu ile dosya açmak --getopenfilename veya –getopenurl komutları ile yapılmaktadır. Bu iki komut da aynı amaç için kullanılır. Sadece çıktının formatı değişir. Her iki komutta burada örneklendirilecektir. Dosya taramak için özel bir klasör seçebilirsiniz. Ve bir filtreleme kullanabilirsiniz. Burada bulunulan klasörde ,filtreleme kullanmadan basit bir örnek verecek olursak;

Örnek 28: –getopenfilename diyalog kutusu

kdialog --getopenfilename ./

Figür 22 –getopenfilename Diyaloğu

Önceki örneklerde olduğu gibi. Eğer örneğimiz de “Tamam” butonuna tıklarsak dönen değer “0” “İptal” butonunu seçersek dönen değer “1” olacaktır.

Bahsettiğimiz üzere, –getopenfilename ve –getopenurl komutları arasındaki çıktı formatları şu şekilde farklılık gösterir.

Örnek 29: –getopenfilename diyalog kutusu

$ kdialog --getopenfilename ./ 

Çıktı;

/home/professor/Belgeler/aegron.jpg

Komut ;

$ kdialog --getopenurl ./

Çıktı;

file:///home/professor/Belgeler/aegron.jpg

Basit görünümden sonra filtre seçeneklerine bakalım. Bunlardan en iyi bileni MIME tipi filtrelemedir. Şöyle ki;

Örnek 30: MIME filtresi ile –getopenfilename diyalog kutusu


$ kdialog --getopenfilename ~/Masaüstü/ "image/png text/html text/plain"

Figür 23 MIME filtresi ile –getopenfilename Diyalog Kutusu

Eğer MIME ile istediğiniz tür mümkün olmaz ise. Filtrelemeyi wildcards ile yaparak,  yeni etiket ekleyebilirsiniz. Şöyle ki;

Örnek 31: wildcard filtresi ile –getopenfilename diyalog kutusu

kdialog --getopenfilename ~/Masaüstü/ "*.cpp *.cc *.c |C ve C++ Kaynak Dosyaları"

Figür 24 wildcard filtresi ile –getopenfilename Diyalog Kutusu

–getsavefilename ve –getsaveurl komutları dosya açım komutları ile benzerdir. Şöyle ki;

Örnek 34. –getsavefilename diyalog kutusu

$ kdialog --getsavefilename .

Figür 25 –getsavefilename Diyalog Kutusu

Kullanıcı kaydedilecek dosyanın türünü MIME ve wildcards filtreleme seçeneklerinde olduğu gibi belirleyebilir. Şöyle ki;

Örnek 33: filtre ile –getsavefilename diyalog kutusu

$ kdialog --getsavefilename :label1  "*.cpp *.cc *.c |C ve C++ Kaynak Dosyaları"

Figür 26 Filtre ile –getsavefilename Diyalog Kutusu

Bazen dosya ismini özelleştirmek istemeyiz fakat, özel bir klasöre ihtiyaç duyarız. Bunun için getexistingdirectory komutu bizim için kullanışlı olabilir. Şöyle ki;

Örnek 34 –getexistingdirectory diyalog kutusu

$ kdialog --getexistingdirectory .

Figür 26. –getexistingdirectory diyalog kutusu

Not: –getexistingdirectory filtreleme seçeneği sunmaz .

İlerleme(Progress) Diyaloğu

İlerleme çubuğu diyaloğu bir işlem uzun süre alacağı zaman kullanışlı bir GUI bileşenidir. Ve bu sayede, kullanıcıya ne olup bittiği hakkında bilgi sunmamıza da olanak sağlar. Böylece kullanıcıyı da makinanın donup kalmış olma ihtimalini düşündürmek zorunda bırakmayız. Eğer yapılan işlem hakkında yazacak bir şey bulamıyorsanız şunu yazmanızı öneririz. “Bu işlem uzun sürebilir…”. Eğer böyle bir durumla karşılaşırsanız, ilerleme çubuğu sizin için biçilmiş kaftandır diyebiliriz…

–progressbar komutunun basit bir kullanım şekli aşağıda ki gibidir.

Örnek 35: –progressbar diyalog kutusu

Terminalde ;

$ nano ilerleme_cubugu.sh

komutunu veriniz ve karşınıza gelen editörde aşağıdaki satırları yapıştırınız.


#!/bin/bash

dcopRef=`kdialog --progressbar "Kuruluyor..." 4`

dcop $dcopRef setProgress 1

dcop $dcopRef setLabel "Düşünmek gerçekten zor..."

sleep 2

dcop $dcopRef setProgress 2

sleep 2

dcop $dcopRef setLabel "Biraz daha düşünelim"

dcop $dcopRef setProgress 3

sleep 2

dcop $dcopRef setProgress 4

sleep 2

dcop $dcopRef close

Sonra ;

$ chmod +x ilerleme_cubugu.sh
$ ./ilerleme_cubugu.sh

komutunu veriniz. Çalışması gerekiyor ama ben de çalışmadı. Pardus 2009.1 de ilerleme çubuğu geldi fakat ilerlemedi:) “dcop: command not found” hatası aldım. Dcop komutu bulunamadı. Bunu araştıracağım. Geçelim…(YK)

Örnek 36: İptal ile –progressbar diyalog kutusu

Örnek 36 D-Bus kullanılarak ;

Terminalde;

$ nano ilerleme_cubugu_dbus.sh 

Karşınıza gelen nano editöre aşağıdaki satırları yapıştırınız.


#!/bin/bash

dbusRef=`kdialog --progressbar "Dilediğiniz zaman İptal butonuna tıklayınız" 10`

qdbus $dbusRef showCancelButton true

until test "true" = `qdbus $dbusRef wasCancelled`; do

sleep 1

inc=$((`qdbus $dbusRef Get "" "value"` + 1))

qdbus $dbusRef Set "" "value" $inc;

done

qdbus $dbusRef close 
$ chmod +x  ilerleme_cubugu_dbus.sh

$ ./ilerleme_cubugu_dbus.sh

Figür 27 İptal ile –progressbar Diyalog Kutusu

Burada görüldüğü gibi sadece dbus’lı ilerleme çubuğu çalıştı. Benim tercihim de muhtemelen İptal seçeneği olduğu için bu olacak. Aşağıdaki betikte de “dcop” komutu olduğu için Pardus 2009.1 de çalışmayacaktır. Bu yüzden “Örnek 36 D-Bus kullanılarak” betiğini tercih ediniz.(YK)

Örnek 36 eski DCOP  kullanarak;

#!/bin/bash

dcopRef=`kdialog --progressbar "Press Cancel at Any time" 10`
dcop $dcopRef showCancelButton true
until test "true" = `dcop $dcopRef wasCancelled`; do
	sleep 1
	inc=$((`dcop $dcopRef progress` + 1))
	dcop $dcopRef setProgress $inc;
done
dcop $dcopRef close

Bu doküman ile artık KDE ortamında kabuk programlama daha zevkli hale gelecektir. Daha fazlası için aşağıda ki komutu veriniz.

$ kdialog --help

Kullanım: kdialog [Qt-seçenekleri] [KDE-seçenekleri] [seçenekler] [arg]

KDialog, kabuk betikleri kullanarak güzel görünümlü pencereler oluşturmanızı sağlar.

Genel seçenekler:

  --help                    Seçeneklerle ilgili yardım göster

  --help-qt                 Qt ile ilgili seçenekleri göster

  --help-kde                KDE ile ilgili seçenekleri göster

  --help-all                Tüm seçenekleri göster

  --author                  Yazar bilgisini göster

  -v, --version             Sürüm bilgisini göster

  --license                 Lisans bilgisini göster

  --                        Seçeneklerin sonu

Seçenekler:

  --yesno <text>            Evet/hayır düğmeleri içeren soru penceresi

  --yesnocancel <text>      Evet/hayır/iptal düğmeleri içeren soru penceresi

  --warningyesno <text>     Evet/hayır düğmeleri içeren uyarı penceresi

  --warningcontinuecancel <text> Devam/iptal düğmelerini içeren uyarı penceresi

  --warningyesnocancel <text> Evet/hayır/iptal düğmelerini içeren uyarı penceresi

  --sorry <text>            'Üzgünüm' mesaj kutusu

  --error <text>            'Hata' mesaj kutusu

  --msgbox <text>           Mesaj Kutusu penceresi

  --inputbox <text> <init>  Girdi Kutusu penceresi

  --password <text>         Parola penceresi

  --textbox <file> [width] [height] Metin Kutusu penceresi

  --textinputbox <text> <init> [width] [height] Metin Girdi Kutusu penceresi

  --combobox <text> item [item] [item] ... Açılır Kutu penceresi

  --menu <text> [tag item] [tag item] ... Menü penceresi

  --checklist <text> [tag item status] ... Onay Listesi penceresi

  --radiolist <text> [tag item status] ... Radyo Listesi penceresi

  --passivepopup <text> <timeout> Pasif Açılabilir Pencere

  --getopenfilename [startDir] [filter] Mevcut bir dosyayı açmak için dosya penceresi

  --getsavefilename [startDir] [filter] Bir dosyayı kaydetmek için kaydet penceresi

  --getexistingdirectory [startDir] Mevcut bir dizini seçmek için dosya penceresi

  --getopenurl [startDir] [filter] Mevcut bir URL açmak için dosya penceresi

  --getsaveurl [startDir] [filter] Bir URL kaydetmek için dosya penceresi

  --geticon [group] [context] Simge seçme penceresi

  --progressbar <text> [totalsteps] İlerleme çubuğu penceresi, iletişim için bir D-Bus referansı döndürür

  --getcolor                Renk seçmek için renk penceresi

  --title <text>            Pencere başlığı

  --default <text>          Çoklu kutucuk, menü ve renk için öntanımlı girdi

  --multiple                Birden fazla dosya için  --getopenurl ve --getopenfilename seçeneklerine izin verir

  --separate-output         Liste ögelerini ayrı satırlarda döndür (işaretleme listesi seçeneği ve --multiple ile dosya açmak için)

  --print-winid             Her pencerenin pencere numarasını çıkartır

  --dontagain <file:entry>  "bir daha gösterme/sorma"  durumunu kaydetmek için yapılandırma dosyası ve seçenek adı

  --slider <text> [minvalue] [maxvalue] [step] Ayırıcı kutu penceresi, seçilen değeri döndürür

  --calendar <text>         Takvim kutu penceresi, seçilen günü döndürür

  --attach <winid>          Pencereyi, pencere numarası belirtilen X uygulaması için geçici yapar

Argümanlar:

  arg                       Argümanlar

Görüldüğü gibi artık önümüzde hiçbir engel kalmadı. Bu çalışma umarım gelecekte bu alanda çalışma yapacak herkese fayda sağlar. Kdialogs ile hepinize iyi çalışmalar diliyorum.

Çeviren ve Derleyen: Yücel KILIÇ

http://yamci.com

Telif Hakkı ve Lisans

Bu dökümanın telif hakkı Brad Hards’a aittir. 2003, 2004.

Bu doküman GNU Ücretsiz Dökümantasyon Sürüm 1.1 Lisansı ile lisanlanmıştır.

KAYNAK

http://techbase.kde.org/Development/Tutorials/Shell_Scripting_with_KDE_Dialogs

kdialog –getopenfilename ./
/home/professor/Belgeler/aegron.jpg
kdialog –getopenurl ./
file:///home/professor/Belgeler/aegron.jpg

Sunuş

Bu çalışma ile KDE kullanıcıları için kabuk programlama, daha ilgi çekici ve renkli  hale gelecektir diye düşünüyorum. Daha önce Gnome Masaüstü ortamında “Zenity” ile neler yapılabileceğini ayrıntılı olarak anlatmıştık. Bu çalışma elbette buranın çevirisi niteliğinde fakat tüm örnekler bizatihi denenerek anlatılacaktır. Neden bu çalışma peki? Doğrusunu söylemek gerekirse Ulusal İşletim Sistemimiz Pardusu daha ileriye götürebilmek adına bir şeyler yapabilmek. Hepimize yararlı olacağını umuyorum. Çeviri esnasında elbette hatalar yapmışımdır. Orijinal metinden örnekler geliştirilerek yazılmıştır. Fakat çalışmanın bütünlüğü açısından sözel kısımların küçük bir bölümü çıkarılmış veya tekrar düzenlenmiştir.

Giriş ve Kapsam

Ortalıkta KDE’nin sadece grafiksel bir ortam sağladığı husunda yanlış bir kanı var. Fakat gerçek olan şu ki KDE dikkatleri üzerine çeken inanılmaz bir masaüstü ortamı. Unix’in mirası komut satırı ve kabuk programlama(scripting daha doğru) KDE tarafından oldukça iyi desteklenmektedir. Belirli KDE uygulamaları komut satırı tarafından kontrol edilir ve kabuk programları, KDE bileşenlerinin ayarlarını düzenler.

Bu kılavuzu kullanmak için bazı temel unix/linux komutlarını bilmeniz ve ne yaptığınızı biliyor olmanız gerekmektedir. -Çok zor değildir çok rahat bir şekilde öğrenebilirsiniz. Aksi taktirde direk kabuk>çekirdek ile muhatap olduğunuz için işletim sisteminize ve verilerinize ciddi zararlar verebilirsiniz.(Y.K)- Diğer programlama dillerinde olduğu gibi, etkili kabuk programlama da sağlam bilgi gerektirir. Ancak, verilen örnekleri gerekli önemi vererek incelediğiniz taktirde anlamamanız için hiçbir neden yok. Fakat eğer kabuk programlama konusunda bilginiz var ise çoğu açıklama size lüzumsuz gelecektir.:)

Bu kılavuz GNU bash kabuğunu ve benzer türevlerini kullandığınız farz edilerek hazırlanmıştır. Diğer kabuk kullanıcıları (özellikle csh ve türevleri) verilen örnekleri değiştirmek durumunda kalabilirler.

Kabuk programlama teknikleri ve kullanım çeşidi pek çoktur. Bazen bir betik sadece sistem tarafından çalıştırıldığında bir şey ifade eder.(cron job gibi) Bazen ise betikler, uygulamalar olarak kullanıcılar tarafından çalıştırılır. KDE bazı içeriklerini kabuk betikleri ile kullanmanıza izin verir. Bu bazı uygulamaların içerisine entegre edilerek güvenli çalışma ve ferah bir ortam sunmanıza olanak tanır.

Örnek verecek olursak, parola diyaloğunu göz önüne alalım. Eğer kullanıcının betiğinizde parola girmesi gerekiyorsa, kolayca aşağıdaki diyaloğu oluşturabilirsiniz. ;

Figür 1 Parola Diyaloğu

“kdialog” Kullanımı

Örnek 1: Parola Diyaloğu

Kabuk betikleri içerisinde KDE diyaloğu araçlarını kullanmamızı sağlayan anahtarlar ve kodlar kdialog olarak adlandırılırlar. Parola diyaloğu oluşturmak için aşağıdaki komutları komut satırında kullanabilirsiniz.;

$ kdialog --password "Lütfen sunucu erişim kodunu giriniz:"

Verilen koda biraz daha detaylı bakalım. Kullanılan parametreler kdialog kutusunun yapısını belirliyor. Örneğin –password argumanını kullanarak kdialog’u özelleştiriyoruz. Devam eden parametre ise diyaloğun içerisindeki metinin ne olacağını belirliyor.

Örnek 2: Kabuk Betiğinin Döndürdüğü Değerler

Kdialog’u çalıştırdığınız zaman tıpkı diğer uygulamar gibi komutun sonucu bir değer döndürür. Bu sonuç bazen beklenilen bazen de umulmadık şekilde olur. Geriye dönen değere şu şekilde ulaşabilirsiniz.

$ kdialog --password "Buraya şifre girilecek"

parolacokgizli

$ echo $?

0

  • Not – $? değişkeni verilen her komut sontasında güncellenir. Bu değişkenin o anki sakladığı değere sonra erişebilmek için kaydetmeniz gerekir.

Bu örnekte, geriye dönen değer “0” dır. Eğer “Cancel” veya “OK” butonuna basılırsa bu değer de değişecektir. “Cancel” butonuna tıklandığında dönen değer “1” olacaktır.

  • Not- Bu bileşenler farklı bir yaklaşımla oluşturulmuştur. Eğer Qt bileşenlerine aşina iseniz bu yöntem ve kullanış sizin için biraz tuhaf olabilir. Fakat burada önemli olan  “standart kabuk programlama(shell scripting)” yaklaşımıdır.

Örnek 3: Kabuk Betiğinde Dönen Hatalar

Bu durum sonucunda dönen değer negatiftir, fakat kabuk dönen negatif sayıyı 256 ile toplar. Şöyleki eğer gereken özel bir argümanın eksikliği durumunda sistem -2 değerini döndürür fakat “$?” değişkeninin döndereceği değer 254 olacaktır.

$ kdialog --password "<text>" bulunamadı.

kdialog: Komut satırı seçeneklerine ulaşmak için –help kullanın.

$ echo $?
254

Örnek 4: Parola diyaloğunda Kontrol Değeri Döndürmek

Bu komut betiği ile dönecek değeri kontrol etme imkanınız olacaktır.

Yapacağınız işlem sırası şu şekilde olacaktır;

$ nano kdialogs.sh

/ /Buradan sonra gelecek editöre aşağıdaki betiği yazınız.

#!/bin/bash
kdialog --password "Bu bir deneme betiğidir!"
if [ $? = 0 ]; then
   echo " Tamam butonuna tıkladınız."
else
   echo " İptal butonuna tıkladınız."
fi

Terminalde ;

$ chmod +x kdialogs.sh
$ ./kdialogs.sh
cokgizliparola

Tamam butonuna tıkladınız.

Dikkat ettiğiniz üzere “Tamam” butonuna tıkladığıma “cokgizliparola” da göründü. Çünkü kdialog parola diyaloğuna o değeri girmiştim. Görüldüğü üzere dönen değerler bir şekilde kullanılabilir.

Örnek 5: Parola Diyaloğuna Değeri Yönlendirme

Aslında bu örnekte anlatılan için girilen değerleri bir bir dosyaya çıktı olarak gönderme olarak genellebilir. Şöyleki “>” karakteri ile girilen değeri standar bir çıktı olarak kaydedebiliriz. Örneğe dönecek olursak;

$ kdialog --password "Parola Gir" > parola.dosya
$ cat parola.dosya

Görüldüğü üzere çıktı olarak terminalde cevap almadık. “parola.dosya” içerisine parolamızı göndermiş olduk ve “cat” komutu ile dosyanın içini görüntüledik veee parolamız orada!:)

Örnek 6: Kabuk Değişkeni Kullanarak Parola Diyaloğu

Aslında burada anlatılanlar tamamen kabuk programlama ile alakalı kdialogs sadece arayüz sonuçlarını kullanacağımız bir ortam sağlamaktadır. Yukarıda $? değişkeninden bahsetmiştik ve ileride kullanacağımız zaman kaydetmemiz gerektiğinden bahsetmiştik fakat kabuk değişkenleri kullanarak değerleri betik çalıştığı sürece koruyabilirsiniz.

$ parola=$(kdialog --password "Parola Gir")
$ echo $parola

Komut satırında komutları sıra ile vermektense betik yazacak olursak;

#!/bin/bash
parola=$(kdialog --password "Parola Gir")
echo $parola

Çıktı ;

cokgizliparola

Örnek 7: Parola Diyaloğu Başlık Oluşturmak

Buraya kadar yapmış olduğumuz örneklerin hiçbirinde başlık derdinde olmadık. Fakat –title seçeneği ile diyalog kutusuna başlık ekleyebiliriz. Örneğin;

$ kdialog --title "Bakın Burası Başlık:D" --password "Parola Gir"

Kdialog Diyalog Tipleri

Parola diyaloğu kdialog’u anlayabilmemiz için sunulmuş bir örnekti. Bu bölümde diğer kdialog tipleri argümanları ile birlikte incelenecektir.

Temel Mesaj Kutusu

Temel mesaj kutusu işlev sırasında durum hakkında bilgi vermek için kullanılır. Çeşitli durumlarda, durumun önemine göre (bilgi, uyarı, hata) şeklinde formlar halinde kullanıcıyı yönlendiren önemli temel iletişim diyaloglarıdır. Aşağıdaki örnekler bunu daha iyi açıklayacaktır;

Örnek 8: Bilgi Diyaloğu

$ kdialog --msgbox "Dosya kaydedildi.\n Çalışmanızdan güvenle çıkabilirsiniz."

Figür 2 Bilgi Mesajı Diyaloğu

Örnek 9: Üzgünüm Diyaloğu

$ kdialog --sorry "Parola Hatalı.\n Sunucuya bağlanılamadı."

Figür 3 Üzgünüm Diyaloğu

Örnek 10: Hata Mesajı Diyaloğu

kdialog -error "Sunucuya bağlanılamadı."

Figür 4 Hata Mesajı Diyaloğu

Dönen değerin “0” olma durumudur diyedebiliriz. Bu diyaloğa diğer kdialog tiplerinde olduğu gibi hatanın türüne göre başlık eklemek için –title parametresini de kullanabilirsiniz.

Bunun yanı sıra tutaç(attach) diyaloğunu da kullanabilirsiniz. Bu çalışılan pencerenin en üstüne diyalog bilgisi göndermenize olanak sağlayacaktır. Şöyle ki;

$ kdialog ${WINDOWID:+--attach $WINDOWID} --msgbox "Ben en üst pencerenin de üstündeyim."

Figür 5 Tutaç Diyaloğu

Non-Interrupting Bildirimler

Kdialog pencere olmadan bildirimsel popup diyaloğları kullanılmasını da destekler. Bu özelliğe etkisiz popup(passive popup) denilir.

–pasivepopup belirli bir zaman sürecinde ekranda bir metin kutusu gösterir. Otomatik olarak gösterilen bu bildirim. Belirtilen süre dolduğunda veya kullanıcı üzerine tıkladığında kaybolur.

Örnek 11: –passivepopup diyalog kutusu

$ kdialog --title "passivepopup örneği" --passivepopup "Bu bildirim 10 saniye gösterilecek." 10 

Figür 6 passive popup Diyaloğu

Daha Fazla Mesaj Diyalogları

Bazen temel mesaj diyaloğlarından daha fazlasına ihtiyaç duyarsınız. Belki potansiyel tehlike arzeden bir durum söz konusudur ve kullanıcıya ikinci bir şans vermeniz gerekebilir. Ya da belki onay komutundan daha fazla bilgiye ihtiyacınız olabilir. Kdialog bu tarzda ihtiyacınız olan bir takım araçlar sunar.

–yesno diyaloğu aşağıda görüldüğü gibi muhtemelen bahsettiklerimiz içerisinde en basit olanıdır, tıpkı daha önce bahsedilen basit mesaj diyaloğu gibi. –yesno diyaloğu sadece amaca göre bir metin gerektirir. Şöyleki;

Örnek:12: –yesno Mesaj Diyaloğu

$ kdialog --title "EvetHayır Diyaloğu Örneği" --yesno "Ağa şu an bağlanılamadı.\n Tekrar denemek ister misiniz?"

Figür 7 EvetHayır Diyaloğu

Bu diyaloğun bir diğer varyasyonu ise –warningyesno diyaloğudur ve biraz değiştirilmiş versiyonudur.

Örnek 13: –warningyesno(Uyarı EvetHayır) Mesaj Diyaloğu

$ kdialog --title "Uyarı EvetHayır Diyaloğu Örneği" --warningyesno "Bütün çalışmayı silmek istediğinizden emin misiniz?"

Figür 8 –warningyesno Diyaloğu

Bir başka varyasyonu ise –warningcontinuecancel diyaloğu. Bu diyaloğu da aynı şekilde kullabilirsiniz. Fakat farklılığı şudur ki; kullanım yeri farklı durumlar için daha iyi olabilir.  Şöyle ki;

Örnek 14:  –warningcontinuecancel Mesaj Diyaloğu

$ kdialog --title "Örnek Devam et İptal Diyaloğu" --warningcontinuecancel "Bu işlem çok uzun sürebilir devam etmek istiyor musunuz?"

Figür 9 –warningcontinuecancel diyaloğu

–yesno diyaloğunun bir diğer çeşidi ise butonlara üçüncü seçeneğin eklenmesi ile oluşturulmuş –yesnocancel diyaloğu.

Örnek 15: –yesnocancel Mesaj Diyaloğu

$ kdialog --title "Örnek EvetHayırİptal Diyaloğu" --yesnocancel "Çıkış yapıyorsunuz. \n Öncelikle çalışmanızı kaydetmek ister misiniz?"

Figür 10 –yesnocancel Diyaloğu

Bir de –warningyesnocancel diyaloğunu inceleyelim;

Örnek 16: –warningyesnocancel

$ kdialog --title "Örnek UyarıEvetHayırİptal Diyaloğu" --warningyesnocancel "Çıkış yapıyorsunuz. \n Öncelikle çalışmanızı kaydetmek ister misiniz?"

Figür 11 –warningyesnocancel Mesaj Diyaloğu

Bütün diyaloglarda “$?” değişkeninden dönen değerler şu şekildedir. “Evet”, “Tamam” , “Devam et” istemlerinden dönen değer “0” dır. “Hayır” istemi “1” değerini döndürür. “İptal” istemi “2” değerini döndürür.

Diyalogların Tekrarlanmaması

Bazen diyalogların sürekli bir döngü içerisinde gösterilmesi gerekebilir. Yani diyaloğun tekrar etmesi gerekebilir. Örneğin uygulama her çalıştığında uyarı vermek isteyebilirsiniz. Veya birtakım dosyaların listesini kullanıcıya vermek isteyebilirsiniz. Fakat her dosya için yetki sınırlandırması ile karşılaşabilrsiniz. Yani sürekli tekrar eden bir hata diyaloğu dizisi… Bu kullanıcı için çok kötü bir deneyimdir. Çünkü hata sürekli tekrar edecektir.

KDE’nin normal düzeni ise tekrar eden diyaloğu ileride tekrar gösterip göstermemek için kullanıcı ile anlaşma imkanı sunar. Bunu kontol kutucuğu ve –dontagain seçeneği ile yapar. Bu seçenek bir dosya ismi ve girdi ismi alır ve eğer kullanıcı kontrol kutucuğunu işaretlerse, girdi ve ismi bir dosyaya yazılır.

Bir örnekle ifade edecek olursak; gerekli bir dosyanın bulunaması durumunu varsayalım. Bu durumu Bilgi Diyaloğu Mesajı ile gösterelim.

Örnek 17: –dontagain ile Bilgi Diyaloğu Mesajı

$ kdialog --dontagain myscript:nofilemsg --msgbox "Dosya Bulunamadı."

Figür 12 –dontagain Diyaloğu

Şunu not edin ki, kullanıcı kontol kutucuğunu işaretlediğinde bu bilgi bir dosyaya yazılır. Örneğin;

Örnek 18: –dontagain dosya listeleme

cat ~/.kde4/share/config/myscript
[Notification Messages]
nofilemsg=false

nofilemsg=false ibaresi artık o diyaloğun gösterilmeyeceğini ifade etmekdedir. Gerçekten de ben kontrol kutucuğunu işaretlediğimde komutu tekrar vermeme rağmen ileti gösterilmedi.(YK)

Yukarıda verilen örnekte myscript:nofilemsg ibaresi kullanıldı ve diyalog tekrar gösterilmedi. Bu bütün KDE uygulamalarını etkileyebilir. Bu yüzden dosya ismi verilirken çok dikkatli olunmalıdır..

Kullanıcı Input Diyaloğu

Kullanıcı input diyaloğunun iki temel tipi vardır. Bunlardan biri –inputbox tipi diğeri ise daha önce görmüştük –password tipi. Bakınız “Örnek 1: Parola Diyaloğu”.

–inputbox diyaloğu en az bir parametreye gereksinim duyar, metin diyalog kutusunda olduğu gibi. Örneğin;

Örnek 19: –inputbox diyaloğu

$ kdialog --title "Input Diyaloğu" --inputbox "Kullanıcı adınızı giriniz. "

Figür 13 –inputbox Diyalog Kutusu

Bazen –inputbox diyalog kutusunun varsayılan metinle beraber gelmesini isteyebilirsiniz. Bunun için ikinci bir parametreye ihtiyacınız olacak. Şöyle ki;

Örnek 20: varsayılan metin ile –inputbox diyalog kutusu

$ kdialog --title "Input Diyaloğu" --inputbox "Ne isim kullanmak isterseniz. " "Varsayılan isim "

Figür 14 –inputbox Diyalog Kutusu

Dönen değer “Tamam” seçildiğinde “0” , “İptal” seçildiğinde “1” dir.

Varsayılan olarak gelen bilgi değiştirilmezse standart çıktı olarak gönderilir. Fakat kullanıcı kendi bilgisini girerse, standat çıktı olarak o değer gönderilir. Eğer kullanıcı “İptal” i seçerse hiçbir çıktı gönderilmez. Sadece dönen değer “1” olur.

Yazının Devamı için

“KDE Dialogs” ile Kabuk Programlama Mucizesi -2 linkine tıklayınız.


cokgizliparola
16
Mar

Aslında klasik konularda yazı yazmaktan nefret ederim ama inanın buna mecbur kaldığımdan yazıyorum. Apache ve MySQL ve PHP kurmak çok basittir Linux’ta fakat insanlar buna rağmen Windows’u tercih ederler ve bin bir türlü zahmete girerler. Linux’u da öyle zannederek “Ulan bunun kurulumu Windows’ta bu kadar zorsa Linux’ta kim bilir nasıldır?” diyerek Linux’tan çekinirler.

Kuruluma ilk olarak Pardus 2009.1 ile başlayalım.

Adım 1: İlk olarak Paket Yöneticisi‘ni açalım ve ilk olarak “apache” , “mod_php” ve “php-cli” paketlerini kuralım.

Ya da Terminalde ;


 pisi it apache

 pisi it mod_php

 pisi it php-cli

komutlarını veriniz.

Adım 2: Bu aşama en kolayı ; Sistem> Konsole(Uç Birim) açalım ya da Alt+f2 tuşlarına basalım karşımıza gelen kutucuğa “Yakuake” yazalım karşımıza bir terminal gelecektir.(Bu terminali dilediğiniz zaman f12 ile çalıştırabilir ve kapatabilirsiniz.)

Karşımıza gelen terminalde sıra ile aşağıda verilen komutları yazınız;

Terminalde;


su -

Parola:

# service apache restart

apache durduruluyor

apache başlatılıyor

# service mysql-server start

mysql_server başlatılıyor

Apache’yi kontrol etmek için web tarayıcımızda ;

http://localhost

adresine gidelim.

Görüntü 1

Görüldüğü gibi Apache sorunsuzca çalışıyor.

Apache web server’i yeniden başlattık ve MySQL‘i çalıştırdık. Şimdi sırada MySQL ve PHP çalışıyor mu ona bakalım. İlk olarak MySQL e bakalım.

Terminalde;


# mysql -h localhost -u root -p

Enter password:

Welcome to the MySQL monitor.  Commands end with ; or \g.

Your MySQL connection id is 1

Server version: 5.1.41 Pardus Linux

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql>

Görüldüğü gibi MySQL‘imiz sorunsuz çalışıyor yalnız burada dikkat edilmesi gerken bir husus var. MySQL Pardus 2009.1‘e kurulu geldiğinden dolayı parola henüz hiçlik yani parola yazmadan direk “Enter” tuşuna basınız. MySQL‘in sürümünü öğrenmek için terminalde “mysql –version” komutunu PHP sürümünü öğrenmek içinde “php -v” komutunu veriniz. Şimdi PHP‘mize bakalım

Terminalde ;


# nano /var/www/localhost/htdocs/bilgi.php

Komutunu verin size nano editörü açılacak. Karşınıza çıkacak konsolvari ekrana aşağıdaki kodları yapıştırın.

<?

phpinfo();

?>

Sonra Ctrl+X kombinasyonu ile kaydedin çıkın.

PHP, Apache ile uyumlu ise bize sistemimizde Apache, MySQL ve PHP nin uyumluluğunu gösteren bilgi ile karşılacağız. Bunun için web tarayıcısını tekrar açın ve aşağıdaki linki açınız.

http://localhost/bilgi.php

Görüntü 2

Görüldüğü gibi her şey yolunda LAMP Pardus 2009.1 de sorunsuzca çalıştı. Küçük bir işimiz kaldı. MySQL‘e elimizde olan eski veri tabanını ekleyelim yani Dump File ekleyeceğiz.

Öncelikle MySQL’e ekran görüntüsünde olduğu gibi bağlanalım. Not ben burada örnek olması bakımından “ogrenci” veritabanı oluşturup eski verileri içe aktaracağım.;

Görüntü 3

Şimdi eski verileri eklemek için aşağıdaki komuta ihtiyacımız var daha detaylı bilgi için şu sayfayı inceleyebilirsiniz.


# mysql -u kullanici_ismi -p -h localhost veritabani_ismi < dosya.sql

Oluşturulan veritabanına eklenen verileri incelemek için ekran görüntülerini inceleyiniz.

Görüntü 4

Görüntü 5

Pardus 2009.1 ile işimiz bitti artık:) Şimdi Ubuntu için ne yapacağız ona bakalım.

UBUNTU >=9.04

Aslında benim anlatacaklarımda bu sayfada anlatılanlardan farkı olamayacak ve Pardus 2009.1 deki aşamaların aynısını yapacağız fakat kısaca özetleyelim

Adım 1: Terminalde root olalım;


# sudo -i

Password:

# aptitude install mysql-server mysql-client

komutunu verelim; yalnız dikkat edelim kurulum sırasında bizden MySQL için “root” parolası girmenizi iseteyecek burada bir parola oluşturun. Çünkü Ubuntu size MySQL erişimi sırasında tekrar bu parolayı isteyecektir. Pardus için de MySQL “root” parolası oluşturmanızı öneririm. Bu yüzden http://ossi.yamci.com a bir göz atın derim. Evet MySQL kuruldu.

Adım 2: Apache kurulumu;


# aptitude install apache2

komutunu verelim kuralım. Sınamak için Pardus’da olduğu gibi bir web sayfası açalım.

http://localhost

adresine gidelim. Apache çalışıyorsa eğer “It Works!” bilgisi ile karşılaşacaksınız.

Apache‘in öntanımlı dökümanları /var/www/ klasörü altında bulunur. Ayrıntılı bilgi için buradan faydalanabilirsiniz.

Adım 3: PHP kurulumu;


# aptitude install php5 libapache2-mod-php5

paketlerini kuralım.


#  /etc/init.d/apache2 restart

Apache‘yi yeniden başlatalım.
Her şey hazır! Şimdi deneyelim.
Aslında buradan sonrası tamamen Pardus‘la aynı şimdi PHP, MySQL ve Apache uyumuna bakacağız.

Adım 4:
Pardus‘dan farklı olarak ;


# nano /var/www/bilgi.php

Komutunu veriyoruz. Karşımıza gelen nano editör’e ;


<?

phpinfo();

?>

kodlarını yapıştıralım. Web tarayıcımızda http://localhost/bilgi.php adresine gidelim ve şekil bilgi ekranı gibi bir bilgi ile karşılaşacaksınız. Bu demektirki her şey yolunda!

Ellerinize sağlık iş bitmiştir.

İşte bu kadar. Görüldüğü gibi her şey çok basit. Bu yüzden korkmayalım Linux‘tan bırakın sadece biraz araştırma ile her şey çok kolaylaşacak. Hepinize iyi çalışmalar diliyorum.

Saygılarımla…

Yücel K.

http://yamci.com

2
Mar

Ubuntu 9.04′den Ubuntu 9.10′a geçmeden kısa bir süre önce GRUB (GNU GRand Unified Bootloader) i enine boyuna anlatan bir makale hazırlıyordum. Sonra Ubuntu 9.10′a geçtikten sonra bir baktım bizim GRUB’a birşeyler olmuş GRUB-2 olarak işler biraz “bizim” için karışmış. O günden sonra nasıl olsa GRUB-2 çıktı GRUB-1 i kullanan dağıtım olmaz bundan sonra diyerek yazıdan vazgeçip GRUB-2′yi çözmeye çalışıyordum. Geçenlerde okulumuzda Pardus göçüne önderlik etme sebebi ve ulusal işletim sistemimizi  geliştirmek adına ben de Pardus’a geçtim. Yani kurdum:) Öntanımlı olarak Ubuntu yerine Pardus’u belirledim. Fakat kurulum sonrası bir baktım. Ubuntu yok?! Olamaz dedim. Ubuntu benim vazgeçilmezim. Pardus’u kullanacaktım ama Ubuntu da duracaktı canım… Ama GRUB listesinde yoktu. Aklıma hemen GRUB versiyonlarının uyuşmaması geldi. GRUB-1 , GRUB-2 yi algılayamasın??…Mantıklı… Baktım ve hakkaten öyle imiş. Pardus GRUB-1 kullanıyor. Ubuntu GRUB-2 haydaaaaaaa “Ayıkla pirincin taşını şimdi…” Neyse çözümü basitti. En kötü ihtimalle Ubuntu’nun bulunduğu patition’u ve çekirdeği menu.lst’e ekleyecektim. Bunu uzun uzun yapmaya kalkışacakken. İnternette bir arayım bakalım benimle beraber kimler yaşamış bu sorunu diyerek aradım. Bu blog’da tam da benim sorunun aynısını buldum. Burada herşey ayrıntılı anlatıldığı için size burada anlatmayacağım. Lakin ben oradan farklı olarak  Linux 2.6.31-19-generic çekirdeğini ekledim doğal olarakta UUID de değişecektir.. Bunları linkini verdiğim arkadaş çok güzel anlatmış. İncelemenizi tavsiye ederim. Ayrıca menu.lst ‘i elle düzenleme devri KGrubEditor ile bitmişti. Ama Pardus’un Açılış Yöneticisi bu işi hakkıyla yerine getiriyor. Lakin bu bana gösterdiki  GRUB yazıma devam etmeliyim ve ardından GRUB-2′ye… Çünkü şuan Pardus(2009.1) GRUB-1 kullanıyor ama GRUB-2 ye eminim bir sonraki sürümünde geçecektir.

çekirdeğini kullandım.http://en.wikipedia.org/wiki/GNU_GRUB
1
Mar
Pardus için paket yaparken bazen arşiv dosyası olmayan uygulamalarla karşılaşıyorum. Bunları kullandıkları sürüm takip sistemleri üzerinden ilgili komutları kullanarak bilgisayarıma çekiyorum ve içlerindeki sürüm takip sistemlerine ait dosyaları / bilgileri sildikten sonra arşivliyorum.

Küçük uygulamalar için birkaç .svn veya CVS dizinini (veya diğer sürüm kontrol yazılımlarının kullandığı dizinleri) silmek elle bile yapılsa zor olmayacaktır ama yazılımın boyutu büyüdükçe ve dizin sayısı arttıkça bu işi elle yapmak işkenceleşecektir. Bu durumun önüne geçebilmek için birkaç konsol komutundan yararlanabiliriz.

GIT için bu işlemin nasıl yapıldığını öğrenmek için hayır sever bir okuyucumdan bir yorum bekliyorum henüz ihtiyaç duymadığım için araştırma merakına gark olmadım. CVS için nasıl yapıldığını ise sağ olsun Doruk söyledi, geçen konusu açılınca:

find . -type d -name CVS -exec rm -rf {} \;

Bugün de tekrar SVN için benzer bir silme işlemi yaparken bunu anlatan Türkçe bir yazı var mı diye merak ettim, eğer aramaya inanma yeteneğim beni yanıltmıyorsa böyle bir yazı yokmuş. Aslında çok basit bir şey olduğu için normal de olmaması ama olsa da fena olmaz diyerek yazmaya başladım bir tane. Tek bir yöntem verip daha önceki bazı yazılarımda yaptığım gibi tek tek ayrıntılarını açıklamak yerine sadece farklı yöntemlerden kısaca bahsetmek ise tam bu satırları yazarken aldığım bir karar oldu :)


1. find ve rm komutlarından faydalanılabilir (rm'nin aldığı -f parametresi zorlama (force) yapmak, -r ise işlemin özyinelemeli olarak yapılması için kullanılmıştır):

$ rm -rf `find . -type d -name .svn`

2. find ve rm komutlarından biraz daha farklı bir şekilde de faydalanılabilir:

$ find . -name ".svn" -exec rm -rf {} \;

3. xargs, find ve rm ile şu şekilde bir kullanım gerçekleştirilebilir:

$ find . -name .svn -print0 | xargs -0 rm -rf

ya da

$ find . -type d -name '.svn' -print0 | xargs -0 rm -rdf

4. KDE'deki SVN için olan içerik menülerine şimdi bir baktım ama bu işi doğrudan menüden gerçekleştirmek için bir kısayol gözüme çarpmadı. Fakat ya vardır ya da var olacaktır gerçeğinden yola çıkarak alternatifler arasına ekliyorum. İşte şöyle bir şey.

5. svn expot komutu kullanılabilir:

svn export ~/frogatto-svn ~/frogatto-0.0


Kaynaklar:
1. Recursively delete .svn directories
2. Remove all .svn folders in a directory tree
3. Recursively remove all .svn directories
4. command line script to delete .svn files / folders
5. Unix Command To Remove Subversion .svn Directories
6. How do you remove subversion control for a folder?
7. How to delete all .svn folder in Linux / Mac?
22
Şub
GNU/Linux terminallerinde (terminal emülatörlerinde) renkli karakterler kullanmak için birkaç farklı yöntem bulunmaktadır. Bunlardan en bilineni NCurses ve türevleri olsa gerek. Diğer bir yaygın yöntem de terminale onun için anlamlı çeşitli özel kodlar göndermektir (rastlantıya bakın ki bu yazının konusu da bu özel kodlardır). Terminal ekranlarında renkli çıktılar almak sadece filmlerde güzel bir sahne çekmek için değil aynı zamanda çıktıların daha kolay okunması için de önemlidir. Örneğin bir derleme işleminin çıktısında tamamlanan işlemler yeşil, uyarılar sarı ve hatalar kırmızı olarak renklendirilse takibi daha kolay olacaktır (bkz: colorgcc).

Şimdi basit bir örnekle kaçış karakterlerini renkli karakterler oluşturmak için nasıl kullanacağımıza bakalım:



echo -e "\033[44;37;5m Merhaba \033[0m Dünya"

  • echo Ekrana herhangi bir karakter dizisi basmak için kullanılabilir.
  • -e echo komutunun kaçış karakterlerini aktifleştirmeye yarayan parametresi.
  • \033 kaçış karakterlerini kullanmaya başladığımızı söylemek için kullanıyoruz.
  • [ terminale gönderdiğimiz mesajın parametrelerini girmeye başladığımızı bildiriyoruz.
  • ; Parametreleri birbirinden ayırmak için kullanıyoruz.
  • 44;37;5m yazıların rengi, özellikleri ve arkaplan rengini ayarlamak için kullanılan örnek değerlerdir. Renk kodları belli bir sıraya bağlı kalınmadan kullanılabilir yani önce arkaplan rengini veya yazı rengini ayarlamış olmanız bir farklılık göstermeyecektir çünkü renk kodları farklıdır. m ile ise yazıya çeşitli ek özellikler kazandırılabilir, ayrıca terminale gönderdiğimiz özel mesajın sonlandığını da bildirmektedir. Kullanılabilecek kodların bir kısmını aşağıdaki listelerden görebilirsiniz:


Yazı renkleri

30  Siyah
31  Kırmızı
32  Yeşil
33  Sarı
34  Mavi
35  Mor
36  Camgöbeği
37  Beyaz


Arkaplan renkleri

40 Siyah
41 Kırmızı
42 Yeşil
43 Sarı
44 Mavi
45 Mor
46 Camgöbeği
47 Beyaz


Yazı özellikleri

0 Tüm özellikleri öntanımlılara döndür
1 Kalın yaz
4 Altıçizili yaz
5 Yanıp söndürerek yaz
7 Video renklerini tersine çevir

Yukarıdaki listelerden yararlanarak ve deneme yaparak, bundan sonra yazacağınız BASH betiklerini renklendirebilirsiniz (örnek bir kullanımı identi.ca göndergeci'nde görebilirsiniz).

Elbette terminale kaçış karakterleri göndererek yapabilecekleriniz sadece çıktıları renklendirmekle sınırlı değil. Yazılacakların terminal ekranının tam olarak neresinde görünmesini istiyorsanız oraya da yazdırabilirsiniz. Yalnız bu tip imlecin veya çıktıların yerini değiştiren kodları kullanmadan/kullandıktan önce/sonra ekranı temizlemek iyi olacaktır. Ekranı temizlemek için şu iki (veya sizin keşfettiğiniz başka bir) komuttan yararlanabilirsiniz:

clear
echo -e "\033[2J"

Terminalde çıktıyı konumlandırmak için gerekenleri yine basit bir örnek üzerinde inceleyelim, aşağıdaki komut terminalin onuncu satırının beşinci sütunundan başlayarak Merhaba Dünya yazacaktır:

echo -e "\033[10;5H Merhaba Dünya \033[0m"



Eğer daha fazlasını istiyorsanız aşağıdaki anahtar ifadelere ve komutlara bakabilirsiniz:




tr -c "[:digit:]" " " < /dev/urandom | dd cbs=$COLUMNS conv=unblock | GREP_COLOR="1;32" grep --color "[^ ]"

yes "$(seq 232 255;seq 254 -1 233)" | while read i; do printf "\x1b[48;5;${i}m\n"; sleep .01; done

// renkli-merhaba.cpp
// g++ renkli-merhaba.cpp -o renkli-merhaba
// ./renkli-merhaba

#include >iostream<
#include >cstdlib<

int main()
    {
    system("clear");
    std::cout << "\033[32;1mRenkli Merhaba\033[0m" << std::endl;
    }



Kaynaklar:

  1. Terminal colour highlights
  2. Colour on text terminal
  3. Konsol Programlarında Çıktı Renklendirme ve GotoXY


24
Oca

Ben bilgisayarımda yeni sistemleri denemeyi seven biriyim. Sırf bu yüzden bilgisayarımda çöken, değişen ve bozulan sistemlerin haddi hesabı yok. Her sorulduğunda bilgisayarıma Format atıyor olmam, arkadaşlarım arasında “FORMAT SAPIĞI” olarak ün salmama neden oldu. Bunu anlatmamın sebebi ise, şuan bu yazıyı yazdığım, ve daha önce abartılı milyon kez kurmuş olduğum PARDUS’u kura bilmek için 3 CD, 1 DVD ve yaklaşım 4 saat harcamış olmamdır. Yani bu benim bu siteye bu güne kadar yazdığım en uğraşılmış yazılarımdandır. Özellikle “Ö” tuşunun düşmüş olduğunu göz önüne alırsak.

PlayOnLinux nedir?

Daha önce ki yazıları takip eden arkadaşlar bunun ne olduğunu bilirler zaten, ben bilmeyenler için değinmeyi uygun görüyorum.

PlayOnLinux, Linux ortamında, Windows için hazırlanan oyunları oynayabilmemizi sağlayan yazılımlardan en önemlisidir. Çünkü şimdilik ücretsiz olan yegane yazılımdır.

Update:

Başlamadan önce, sistemimizi güncellemek işleri kolaylaştırabilir. Bunun için konsola aşağıdaki komutları yazınız:,

#su -

(Şifrenizi giriniz.)

#pisi up

Not:Bu işlem İnternet hızı ve sistem kaynaklarınıza bağlı olarak bir az zaman alabilir.

3 Boyut desteği:

PlayOnLinux’u kurmaya çalışıyorsak, oyun oynamak istiyoruz demektir. Oyun oynamak istiyorsak, 3 Boyut desteğini alabilmek için, ekran kartı sürücüsünü yüklememiz gerekir. Bunun için Tasma’yı açalım.

Burada “Sistem Seçenekleri”nden “Görüntü Yöneticisi” seçeneğine tıklıyoruz. Bunu ilk defa yapıyorsak, Pardus bizim için en iyi sürücüyü tespit edip, kullanmak isteyip istemediğimizi soracaktır. Bu durumda, önerilen sürücünün içerisinde bulunduğu paketi (Benim ki “ati-drivers”mış.) pisi ile kuralım.(Tasmayı kapatalım).

Bunun için, pisi (Paket Yöneticisini) açalım. Arama motoruna, önerilen sürücünün dahil olduğu paketin adını yazalım.

Artık “Paket(leri) Kur” diyebiliriz.

Not:Bu işlem İnternet hızı ve sistem kaynaklarınıza bağlı olarak bir az zaman alabilir.

Bu işlemler bittikten sonra kurulan bu sürücünün kullanılmasını sağlamalıyız.

Haydi bakalım, şimdi kapattığımız Tasmayı tekrar açalım. Yine “Sistem Seçenekleri” -> “Görüntü Yöneticisi” kısmına tıklıyoruz. Pardus yine engin tavsiyeleriyle karşımıza çıkıyor. Şimdide en iyi performansı alabilmek için bir sürücü önerecektir. Bu öneriyi dikkate alıp “EVET” dedikten sonra, sistemimizin yeniden başlaması gerektiği mesajı alıyoruz. Yüzdük yüzdük, kuyruğuna geldik, pes etmeden, sistemimizi yeniden başlatıyoruz.

Şimdide 3 Boyut desteğine sahip olup olmadığımızı kontrol etmek adına, masaüstünden “Sistem” kısa yoluna tıklıyoruz. Karşımıza çıkan pencerenin sağ alt tarafında, (3B desteği var) yazısını görüyorsak, hepimize hayırlı olsun. Yoksa, sürücü hatalı seçilmiştir. Tasma->Sistem Seçenekleri->Görüntü Yöneticisi’ne tıklayıp, DOĞRU SÜRÜCÜYÜ BULUYORUZ.

PlayOnLinux kurulumu:

PlayOnLinux WINE(Wine Is Not an Emulator) üzerinde çalışan bir yazılım olduğundan, öncelikle wine’ın kurulması gerekmektedir. Konsola:

#su -

(Şifreniz)

#pisi it wine

Yazdıktan sonra; pisiyi açıp arama motoruna, PlayOnLinux yazıp çıkan paketi işaretleyip kuralım. İşimiz bitti sayılır. Artık her şey hazır.

Şimdi elimizdeki oyun CD/DVD’sini sürücüye yerleştirelim. Pardu->Sistem->Yardımcı Programlar->PlayOnLinux’a tıklayalım. Güncellemelerine bakmak isteyecektir. İzin verirseniz daha iyi olur.

İşlemler bittikten sonra, Kur seçeneğine tıklıyoruz. Çıkan pencereden, oyunlar sekmesini sonra da istenen oyuna tıklıyoruz. Ben “Call Of Duty2” oyununu kurmayı planlıyorum. Uygula dedikten sonra oyun kurulum sihirbazı açılır.

İleri dedikten sonra oyunun bulunduğu sürücü sorulacaktır, onuda PlayOnLinux’a gösterip devam ediyoruz.

Bundan sonrasında pek bir şey söylemek gerekmez diye dşünüyorum.

Eğlence Başlasın:

Kolay gelsin:

3
Oca
Windows ve GNU/Linux arasındaki temel farklardan biri de yazılımların nasıl elde edildiğidir. Windows kullandığım zamanlar her yeni kurulumdan sonra (birkaç ayda bir) kullandığım yazılımların sitelerini ziyaret eder ve son sürümlerini indirerek bilgisayarıma kurardım. Pardus ve diğer GNU/Linux dağıtımlarında ise işler daha kolaydır. Sisteminizi yeniden kurduğunuzda halihazırda pek çok kullanıcının tüm ihtiyaçlarını karşılayan yazılımlar dağıtımının kurulum medyasında yer alır ve ek bir çaba harcamadan sisteminize kurulur. Kurmak istediğiniz diğer yazılımları ise her dağıtımın kendine has özellikleri olmakla birlikte benzer bir yapıya sahip paket yöneticileri aracılığıyla dağıtımınızın depolarından çekerek sisteminize kurabilirsiniz.

Paket yöneticileri son kullanıcı için oldukça konforlu bir çalışma ortamı sunsa da gelişmiş kullanıcılar konsol kullanmak isteyebilirler. Paket yöneticisini konsol üzerinden kullanmak için dağıtımınızın wiki sayfalarını kontrol edebilirsiniz. Örneğin Pardus'ta konsol üzerinden paket işlemleri yapmak için PardusWiki'deki ilgili maddeyi okuyabilir veya

pisi help

komutunu kullanabilirsiniz. Pisi'yi konsol üzerinden kullanarak paket kurmak, paket aramak, paket inşa etmek gibi pek çok işlemi kolayca gerçekleştirebilirsiniz. Örneğin sisteminize hede isimli harika bir oyun yüklemek istiyorsanız vermeniz gereken tek komut şudur:

sudo pisi it hede

Eğer oyun oynamayı çok seven bir çocuğunuz varsa depodaki tüm oyunları tek bir komutla yükleyebilirsiniz de:

sudo pisi it -c game

Yukarıdaki -c parametresi aracılığıyla Pardus depolarındaki oyun bileşenin altındaki tüm paketleri seçimini sağladık. Diğer bileşenlerin neler olduğunu öğrenmek içinse:

pisi lc

komutunu kullanabilirsiniz. Aynı şekilde bu listedeki bileşen ve alt bileşenleri de sisteminize tek seferde kurabilirsiniz. Eğer paket kurarken veya kaldırırken kullandığınız komutun tam olarak ne yapacağından emin değilseniz -n (yaparmış gibi) parametresini kullanabilirsiniz:

sudo pisi rm -c game -n

Sisteminizden tek bir paketi kaldırmak içinse

sudo pisi rm hebele

komutunu kullanabilirsiniz. Bu komut aracılığıyla hem hebele ismindeki paket hem de çalışmak için hebele'ye bağımlı paketler sisteminizden kaldırılır çünkü bu bağımlı paketler bağımlı oldukları paket olmadan ya çalışmayacaklardır ya da eksik çalışacaklardır. Eğer ne yaptığınızı biliyor ve hebele'yi kaldırmak bununla birlikte hebele'ye bağımlı olan paketleri kaldırmamak istiyorsanız bağımlılık bilgilerini dikkate alma parametresini kullanabilirsiniz:

sudo pisi rm hebele --ignore-dependency

Pardus depolarında binlerce yazılım olmasına rağmen kullanmak istediğiniz paket depolarda olmayabilir, eğer olmayan bu paketi kendiniz oluşturmak ister ve ilgili kaynaklardan yararlanarak paket dosyalarını oluşturursanız şu komutu kullanarak Pisi paketini yapabilirsiniz:

sudo pisi bi /home/kullanıcı-adı/heyohey/paket/pspec.xml

Elbette yapabilecekleriniz bunlarla sınırlı değil pek çok farklı parametre aracılığıyla tüm ihtiyaçlarınızı giderebilirsiniz. Eğer yapmak istediklerinizi doğrudan Pisi parametreleriyle halledemiyorsanız GNU araçlarından da yararlanabilirsiniz.

Örneğin yerel dizinlerdeki paketler şu şekilde kolayca kurulabiliyor (kendi yaptığınız çoklu paketleri denerken çok işe yarıyor :)

sudo pisi it heygidihede*.pisi

Fakat aynı işlemi doğrudan depolar üzerinde gerçekleştirmek şu an için mümkün değil sanırım. Fakat konsolun gücünden yararlanarak bir şeyler yapabiliriz:

pisi sr latex -vN | cut -f1 -d' ' -d'-' -d' '

komutuyla (son tırnak arasında pek belli olmasa da boşluk vardır). Sistemde tanımlı olan depolardaki içinde latex geçen tüm paketlerin sadece isimleri ekrana yazdırabilir:

  • texlive-latexrecommended
  • python-sphinx
  • hevea
  • latex-feynmf
  • latex-gbrief
  • texlive-latex
  • latex-mh
  • texlive-latexextra
  • latex-svninfo
  • latex-beamer
  • chktex
  • latex-xmltex
  • latex-maltese
  • kile
  • latex-xcolor
  • latex-currvita
  • latex-leaflet
  • lyx
  • latex-europecv
  • dvipost
  • docutils
  • latex-envlab
  • wv
  • latex-glossaries
  • latex-passivetex
  • texlive-latex3texmaker
  • geany

Sadece isminde latex geçen paketler içinse şu komut kullanılabilir:

pisi sr latex -vN --name | cut -f1 -d' ' -d'-' -d' '

Bu komutun çıktısı ise şu şekilde:

  • texlive-latexrecommended
  • latex-feynmf
  • latex-gbrief
  • texlive-latex
  • latex-mh
  • texlive-latexextra
  • latex-svninfo
  • latex-beamer
  • latex-xmltex
  • latex-maltese
  • latex-xcolor
  • latex-currvita
  • latex-leaflet
  • latex-europecv
  • latex-envlab
  • latex-glossaries
  • latex-passivetex
  • texlive-latex3

Bu çıktılarla sudo pisi it'i beslemek için de:

pisi sr latex -vN | cut -f1 -d' ' -d'-' -d' ' > kurulacaklar
sudo pisi it -n `cat kurulacaklar`

komutları kullanılabilir.

Aşağıdaki paket(ler) zaten kurulu ve yeniden kurulmayacak:
wv texlive-latex texlive-latexrecommended

Bağımlılıkları sağlamak için bu paketler verilen sırada kurulacaktır:
python-Jinja2 texlive-fontsrecommended texlive-latexextra latex-europecv texlive-xetex dvipost aiksaurus libXp openmotif t1lib xdvik lyx texlive-latex3 latex-glossaries dvipng kile docutils Pygments python-sphinx latex-svninfo geany hevea texmaker latex-maltese latex-currvita latex-envlab latex-beamer texlive-metapost latex-feynmf latex-xmltex latex-xcolor latex-mh latex-gbrief latex-passivetex chktex latex-leaflet
Paket(ler)in toplam boyu: 216.19 MB

Kurulumu gerçekten yapmak istiyorsanız -n parametresini kaldırabilirsiniz. Yukarıdaki komutlarda geçen tırnağı ve her ne kadar yukarıda geçmese de kalbimizde yaşayan diğerini aşağıdaki tuş komboları aracılığıyla çizebilirsiniz:
  • ALT GR + ş ´
  • ALT GR + , `

Son olarak yukarıdaki paket kurma senaryosuna benzer bir paket kaldırma senaryosunu canlandırarak huzurlarınıza veda ediyorum (Bu arada katil uşak, uzaylı da uzaylıları yerinden etmeye çalışan görevli. Eee etme bulma dünyası, o değil film komedi gibi başlıyordu dram, macera, bilim kurgu karışımına döndü, neyse).

pisi li | grep PackageKit

PackageKit - Yazılım kurmayı ve güncelleştirmeyi basitleştirmek için tasarlanmış bir sistem
PackageKit-docs - PackageKit reference documents
PackageKit-glib - PackageKit Glib and Gtk+ libraries
PackageKit-qt - PackageKit Qt Libraries

pisi li | grep PackageKit | cut -f1 -d' ' -d'-' -d' '

PackageKit
PackageKit-docs
PackageKit-glib
PackageKit-qt

pisi li | grep PackageKit | cut -f1 -d' ' -d'-' -d' ' > kaldirilacaklar
sudo pisi rm -n `cat kaldirilacaklar`

Bağımlılıkları sağlamak için bu paketler verilen sırada kaldırılacaktır:
PackageKit-qt PackageKit PackageKit-glib PackageKit-docs

Ne Tıklarsan 1 TL Bağlantıları:


27
Ara

Ne zaman birileri Linux’tan bahsetse, kulağa gelen sözler çok karmaşık ve sanki Linux kullanıcıları ve geliştiricileri eğlenceden yoksun insanlar gibi görünürler. Aslında “Bilgisayarı önemli çalışmalar için kullanmalı.” düşüncesini beğenen biri değilimdir. Bu nedenle Linux eğlence ve zaman geçirme konusunda bana neler sunabilmekte onu araştırırken çok ilginç şeyler ile karşılaştım. Bu yazıda bunların ikisini ele alacağım.

  1. Compiz Fusion
  2. PlayOnLinux

Öncelikle Compiz Fusion ile başlamak istiyorum.

1)

Compiz Fusion nedir?

Windows’un Vista ile geliştirdiği “aero” denetimini bilmeyenimiz yoktur. İşte bu olay Linux’ta compiz ile daha farklı olacaktır. Uçan, kaçan, konan ve hatta takla atan pencereleri gördüğünüzde şaşıracaksınız. Pardus soru ve çözümleri için açılan en önemli web sayfalarından olan www.ozgurlukicin.com bu konuyu bu şekilde anlatıyor:

“Hiç Hollywood filmlerindeki bilgisayar sahnelerini izleyip güldüğünüz oldu mu? Oradan buradan kayan pencereleri, yanıp sönen tuşları, dönen, hoplayan zıplayan arayüzleri ile bir şenlik havasındadır bu filmlerin bilgisayar ekranları! :) Yok böyle bişey, yok böyle bir işletim sistemi, arayüz der durur, kendinizi yersiniz. Ama artık durum biraz farklı…

Her ne kadar bu filmlerdekiler uydurma, bir grafikerin elinden çıkmış animasyonlar olsalar da, gerçek hayatta onları hiç aratmayacak ve hatta bazı noktalarda nal toplatacak bir yazılım var; Compiz Fusion!

http://www.ozgurlukicin.com/paket/compiz-fusion/

Compizin geçmişi:

Önceden “Compiz” adlı yazılımla karşımıza çıkmıştır. Daha sonra “Compiz” ve “Berly-Project” olarak ikiye ayrıldığını görürüz. Fakat ayrılan bu ikili tekrar birleşerek “Compiz_Fusion” ailesini oluşturdular. Şuan ki sürümlere bakıldığında “Bu adamlar daha acemi.” denebilir, ama geçmişe baktığımızda aslında bu işte usta oldukları görülür.

Compiz Fusion’un kurulumu:

Compiz Fusion (CF) Türkçe dil desteği tamamlanmamış yazılımlardandır. Bu nedenle Pardus Katkı Deposu’nda bulunmaktadır. Pardus Katkı Deposu (PKD) Pardusun deposundan bu nedenlerle ayrılır. Bu depoda bulunan yazılımlar düzenlenmek için sizleri bekliyor.

Pardus 3B özelliği:

CF 3 boyutlu efektlere sahip olduğundan kullanabilmek için grafik kartımızın sürücüleri bilgisayarımıza kurulmuş olmalıdır. Bunun için, Pardus “Tasma”’dan sistem seçenekleri sekmesine geçip “Görüntü Yöneticisi”ne tıklıyoruz. Burada daha önce Hiçbir işlem yapmadıysak karşımıza çıkan uyarı penceresine dikkat edelim. Burada daha iyi performans almak için kullanmamız gereken sürücüyü Pardus algılayabilir. Pardusun önerisini dikkate alıp sürücümüzü kuralım.

Daha sonra tekrar “Tasma—Görüntü Yöneticisi”ne dönüyoruz. Bu seferde kurulan sürücü paketinden önerilen sürücü seçiminde yardımcı oluyor Pardus. Kendisine teşekkür ediyoruz ve önerisini kabul ettikten sonra sistemimini yeniden başlatıyoruz.

Artık 3B desteğini almış olmalıyız. Denetlemek için masaüstünde bulunan sistem kısayoluna tıklayalım.

Gördüklerimiz yukarıdaki resime benziyorsa bir ohh diyip devam edelim.

Pardus Katkı Deposu:

Her şeyden önce “Depo nedir?” sorusunun cevabına bakalım. Depo; Linux işletim sistemlerinin kendileri için oluşturdukları veritabanlarıdır. Örneğin Pardus bu veri tabanında günlük kullanımın yanısıra, bilimsel çalışmalar için kullanılan yazılımlar tutar. Bizim yapmamız gereken tek şey, gidip beğendiğimiz yazılımı bulup kurmak olacaktır. Tabi bunu yaparkende de büyük bir karmaşa ile karşılaşmayız. “Yahu ben nerden bulacağım programı, onca programın arasından?” demeyin. Geliştiriciler PİSİ adlı yazılımı oluşturmuş. Bu yazılım Depo’yu karıştırıp işinize yarayan yazılımı bulacaktır. Daha fazla anlatmaya gerek yok. Pisi’yi açın ne demek istediğimi anlarsınız.

Şimdi Pisi arkadaşımız PKD’nu bilmiyor. Onu böyle bir deponun varlığından haberdar edelim. “Pisi—Araçlar—Paket Yöneticisi Ayarları”na gidelim. Burada depolar sekmesine baktığımızda katkı deposunu görüyorsak Hiçbir şey yapmamıza gerek yok. Yok göremiyorsak aşağıdaki resimde görüldüğü gibi:

Ekle butonuna tıklayalım, sonra depo adına istediğinizi yazın, depo adresi ise:

http://paketler.pardus.org.tr/contrib-2008/pisi-index.xml.bz2

Yazalım.

İşimiz bitti sayılır.

CF kurulumu:

Pisi adlı yazılım açalım arama motoruna “Compiz” yazalım. Çıkan bütün parketleri seçip Paket(leri) kur. Butonuna tıklayalım.

Bu işlem bittikten sonra yapmamız gereken, “Pardus—Sistem”den compizi başlatmak olacaktır.

2)

PlayOnLinux:

Bu yazılımın gelmişini-geçmişini araştırma fırsatım olmadı fakat şöyle bilgi verebilirim:

Linux üzerinde win yazılımları çalıştırmak için Wine ( Wine Is Not Emulator ) yazılımı kullanılabilir. O denli iyi çalışmaktadır ki, PhotoShop’u bile çalıştırabilir. Bu yazılımın yanısıra “CrossOver”, “sedega” ve “PlayOnLinux” gibi yazlımlar vardır. Unutmayalım, “CrossOver” ve “sedega” ücretli yazılımlardır. Fakat “PlayOnLinux” Wine üzerinde çalışan ücretsiz bir yazılımdır. (Wine da ücretsizdir.)

Wine’ın kurulu olduğu bir Linux’a Paket yöneticiden (Pardus için Pisi) PlayOnLinux’u kurabiliriz. Eğer paket yöneticide yoksa aşağıdaki linkten gerekli paketleri indirip kurulumu yapa bilirsiniz.

http://www.playonlinux.com/download/

Ben Pardus’ta COD2 oynayabildim. Fakat bilgisayarım güçlü olmadığından ekran görüntüsü alamadım.

Yukarıdaki resimde gördüğünüz gibi oyunlar sekmesinden istediğiniz oyunu seçip ‘ileri’ dedikten sonra PlayOnLinux sizden oyun cd’sinin takılı olduğu sürücüyü soracaktır. Eğer elinizdeki oyun kalıp halinde ise aşaığıdakileri komut satırına yazınız:

mount -o loop [disk1.iso yolu] [klasör yolu]

Unutmayın [klasör yolu] daha önceden oluşturduğunuz bir dizin olmalıdır. Bu komut olmayan dizini oluşturamaz.

Not: Bu işi yapabilen yazılımlar bulunmaktadır. Yazılımları kullanırsanız daha rahat olursunuz.

İşlem bittikten sonra oyunun kısa yolunu masaüstüne atın. PlayOnLinux bunu size soracaktır. Evet demeyi unutmayın.

Hazırlayan : MSH

Takıldığınız her mesele hakkında iletişime geçebilirsiniz. Size mutlaka cevap verilecektir.

If you need help in English for this topic, please send an e-mail or add a comment . We will  immediately return to you!
24
Ara
Uzun zamandır öntanımlı oynatıcı olarak VLC kullanıyorum. Bu sadece video dosyaları için geçerli olmasına rağmen Amarok'u MP3 çalmaya ikna edemediğim günlerde VLC'nin müzik için de ideal bir oynatıcı olduğunu gördüm. Noel arifesine girdiğimiz şu günlerde kulaklarımıza hala nasıl olur da yeni yıl melodileri çalınmadı diye merak ediyordum ta ki (her yerde bu ikiliyi kullanmak istiyorum deli gibi) VLC'nin başındaki şapkayı görene kadar. Söylediğim gibi VLC esprili olmasının yanı sıra çok yetenekli bir medya çalışma ortamı sunuyor, hem video hem de ses dosyaları için. Geliştirilmeye yeni başlanan VLMC ile bizleri nelerin bekleyeceğini ise zaman gösterecek.

Konumuza dönmeden (daha doğrusu başlamadan) önce geçmişe bir sıçrayış gerçekleştirelim (Dexter'laşamıyoruz bari Lost'layalım). GNU/Linux'a ilk geçtiğim günlerde Amarok ile MIDI çalamadığım için şaşırmıştım çünkü Winamp ile bu biçimi ek bir işlem yapmadan çalabiliyordum (hatırladığım kadarıyla) Windows kullandığım günlerde. GNU/Linux'ta ise MIDI için ayrı bir oynatıcı gerekiyordu. KMid sayesinde elime geçen her MIDI'yi çalabildim TiMidity++'nin de desteğiyle (Şimdiye dönme efekti...). Öİ'de bir kullanıcının MIDI dosyalarını çalamadığını okuyunca KMid'i tavsiye edecektim ama KDE4'e geçişte geride kalanlardan biri olmuş KMid de. Fakat üzülmeye gerek KDE 4 için sıfırdan KMid2 yazılmaya başlanmış ve şu an oldukça erken geliştirilme aşamasında olmasına rağmen güzelce çalışıyor (Pardus kullanıcıları şuradaki henüz bitmemiş kaynak paketi deneyebilirler).

Ne yani koskoca Pardus'ta bir MIDI çalmak için kaynak dosyalardan paket mi kurmak zorundayız? Elbete hayır (nerden alıştıysam bu duyar gibi oluyorum kalıplarına bilmiyorum peder). VLC sayesinde pek çok medyayı olduğu gibi MIDI'leri de sorunsuzca çalabilirsiniz. O değil benim hiç kaliteli (ama öyle böyle değil) bir ses kartım olmadı ki donanımsal olarak sentezlesin hedeyi hüdeyi. Neyse benim gibi sadece ses çıkarabilecek kadar kaliteli ses kartlarına sahip kullanıcılar için yazılımsal sentezleme çözümleri var imdadımıza yetişen. VLC de yazılımsal sentezleme yazılımlarından biri olan FluidSynth'den ve ses izlerinden yararlanarak MIDI'leri çalabilmektedir. İlk önce VLC'nin FluidSynth desteği ile birlikte gelip gelmediğini kontrol edin, eğer bu özellik yoksa dağıtımınızdaki paketçisiyle iletişime geçebilirsiniz, Pardus 2009'da bu özelliklik öntanımlı olarak gelmektedir, ayrıca bir işlem yapmanıza gerek yoktur. Daha sonra ise internet üzerinden ücretli veya ücretsiz olarak sunulmakta olan ses izlerini bilgisayara indirmeniz gerekmektedir. Son olarak da bu ses izlerinin yerini VLC> Araçlar> Tercihler (Gelişmiş)> Girdi/Kodekler> Ses Kodekleri> FluidSynth bölümü aracığıyla belirtmeniz gerekmektedir. Bütün bunlardan sonra istediğiniz her MIDI'yi VLC ile açabilirsiniz. Bitti mi? Evet bitti. Eee ekran görüntüsü yok bu yazıda hiç. Ses bu ya.?!

Sonraki yazılarda Özgür Müzik ile ilgili de bir kaç kelime etmek istiyorum, o zamana kadar bildiğinizi okuyabilir ve Jamendo'daki gıdalardan besilenebilirsiniz.


(Bu yazı Streams of Fear'ın MIDI'si dinlenerek ve noter huzurunda yazılmıştır. Hatta diş hekimleri de bütün bu olan biteni onaylamıştır.)