Yaklaşık 2 yıldır seminer vermiyordum, bu perşembe günü -bir aksilik olmazsa- geleneksel Linux seminerlerime bir yenisini katacağım. İşletim Sistemi, Linux, Çekirdek, Dağıtım, Pardus gibi kavramları tanıtmaya çalışacağım.
Mekan: Kadir Has Üniversitesi Cibali Kampüsü – Fener Salonu
Zaman: 14 Ekim 2010 Perşembe, 12.30 – 13.30
=====================================
Bu seminerden sonra bir de Python eğitimi vermek istiyorum. Tarih/saat henüz belli değil. Duyurusu yapılacak. Bu eğitimde hızlı gidebilmek için katılımcıların programlama bilgisi olduğunu varsayacağım. Ek olarak derse gelmeden önce vereceğim denemeleri yapmalarını isteyeceğim. Eğitime başlamadan önce aşağıdaki adımlar gerçekleştirilirse anlama süreci bir hayli kolaylaşacaktır.
Bilgisayar-cep telefonu iletişimini sağlayan gnokii uygulamasının smsd adlı yan programcığı varmış, bugün keşfettim. Nasıl mı keşfettim? gnokii ile çok sayıda SMS göndermeye kalktığınızda her bir gönderim için cep telefonundan izin vermek zorundasınız. Bu ise insanı çıldırtıyor. Bir kere izin versem, hepsini gönderse diyordum ki freenode #gnokii IRC kanalında pkot adlı gnokii geliştiricisi imdadıma yetişti ve smsd programını yahut gnokii’nin –shell parametresini kullanabileceğimi söyledi.
Bu smsd programcığı bir sms sunucusu görevi görüyor. Çalıştırdığınız zaman cep telefonunuzdaki mesajları alıyor, bilgisayara aktarıyor, gönderilecek mesaj varsa cep telefonu vasıtasıyla gönderiyor.Öncelikle sisteminizde gnokii kurulu ve ayarları yapılı olmalı. Ardından boş bir klasöre geçip aşağıdaki komudu vermeniz yeterli olacak:
smsd -m file -c .
Cep telefonunuzun gelen kutusunun içi temizlenecek, olduğu gibi bilgisayarınıza aktarılacak, aman dikkat! Bundan sonra gelen mesajlar doğrudan bilgisayar ekranında görüntülenecek. Ekrana basmak yerine -u parametresiyle başka bir programa da yönlendirebilirsiniz.
Bu komutu çalıştırdığınız klasörün içerisine herhangi bir dosya girdiği anda o dosyanın içeriğini sms olarak göndermeye çalışıyor. Dosyanın biçemi ise şöyle olmalı (iki satır arasında boşluk olup olmadığından emin değilim):
05*********
Bu bir mesajdır
Bu şekilde göndereceğiniz her bir mesajı ayrı bir dosyaya koyun. Dosya adı önemli değil. Dosyalar konduğu anda sunucu bunu fark edecek ve göndermeye teşebbüs edecektir. Benim karşılaştığım bir sorun Segfault hatası idi. Dosyaların sonuna yeni satır koymadığım için olduğunu düşünüyorum. Ama bazı dosyaları yeni satır olmasına rağmen göndermedi. Kullandığım sürüm 0.6.27 ve oldukça eski bir sürümmüş. Ondan olabilir.
Ben kolay olsun diye dosya bazlı yaptım ancak MySQL, PostgreSQL gibi veritabanlarını da kullanabiliyor. Daha detaylı bilgilere buradan ve şuradan ulaşabilirsiniz.
Bu yazımda Pardus 2009.2 ile nasıl GPRS bağlantısı kurduğumu anlatacağım. Birçok detayı atlıyorum, ileride eklemeye çalışacağım. İhtiyacımız olan şeyler:
- Bluetooth ve GPRS destekli cep telefonu
- Bluetooth adaptörü
- blueman ve kppp adlı programlar.
Öncelikle blueman programı ile cep telefonunuzu eşlemeniz gerekmekte. Bunu nasıl yapacağınızı şu anda anlatmayacağım, belki ileride eklerim. Eşleme gerçekleştikten sonra
sudo cp /etc/bluetooth/rfcomm.conf /etc/bluetooth/rfcomm0.conf
komutu ile bir kopyalama yapıyoruz. Blueman üzerinden (devices kısmında telefonumuza sağ tıklayıp Serial Ports->Dialup Networking ile DUN bağlantısı kuruyoruz. Cep telefonundan onay verdikten sonra kppp programını açıyoruz. Yeni modem oluşturuyor, modem olarak /dev/rfcomm0′u seçiyoruz. Kullanıcı adı/parola için rastgele bir şeyler girip telefon numarası olarak (Turkcell için) *99# giriyoruz. Bağlan diyoruz ve nete giriyoruz. Ayrıntılar’a basarak kaç byte harcadığınızı görebilirsiniz.
Elimdeki Nokia 6230 telefona bluetooth üzerinden Java uygulamaları kurmak istiyorum ancak uzun zamandır bunu başaramamıştım. Uygulamanın jad/jar dosyalarını telefona dosya olarak gönderip bu dosyaları açınca “Dosya biçimi desteklenmiyor.” hatası veriyordu. Windows’taki Nokia Suite da kendi yazdığım uygulamaları tanımadı ilginç bir şekilde. Ben de Pardus Linux üzerinde Gammu programı ile bu işi yapmayı denedim. Öncelikle gammu’yu kurdum:
sudo pisi it gammu
Sonra hcitool scan komutu ile cep telefonumun ID’sini tespit ettim (xx:xx:xx:xx:xx:xx şeklinde yazıyorum, siz kendinizinkini yazın)
Ardından kwrite ~/.gammurc komutu ile gammu yapılandırma dosyasını oluşturdum:
[gammu]
port = xx:xx:xx:xx:xx:xx
model = NAUTO
connection = bluerfphonet
synchronizetime = yes
use_locking = no
startinfo = yes
gammuloc = locfile
gammucoding = utf8
Dosyayı kaydettim ve çıktım. Bu ayarlar diğer telefonlar için de çalışabilir yahut ufak değişiklikler yapmak gerekebilir. Ardından Telefonu eşlemek için bir defaya mahsus olma üzere aşağıdaki komutu verdim, telefonumda bir pin kodu belirleyip bilgisayarda da aynı pin kodunu girdim. Eşleme tamamdı:
gammu --getsecuritystatus
Şimdi yapmam gereken jad/jar dosyalarının bulunduğu klasöre giderek aşağıdaki komutu vermek oldu:
gammu --nokiaaddfile Application JIstanbulMobile
O anda bulunduğunuz klasörde JIstanbulMobile.jar ve .jad dosyalarının bulunması gerekli bu komutu vermek için. Fark ettiğiniz üzere uzantı kullanmadan sadece ismini veriyoruz. Siz de kendi uygulamanızın ismini verebilirsiniz. İşlem tamamlanınca Uygulamalar->Kolleksiyon kısmında programınızı görebilirsiniz. İleride başka program yüklemek isterseniz son komutu tekrar tekrar kullanabilirsiniz. Tekrar eşlemeye gerek olmamalı.
Tatile Giriş
Dönemi kapattım ve tatile girdik. Tatile girdiysem de TÜBİTAK projemiz devam ediyor tabii ki. Haftada 1-2 gün toplantılarımız olacak yaz boyu. Şu ara Robinviz’i geliştirme çalışmalarına başladık. Tasarladığım sistemi biraz modüler ve soyut hale getirip genişletilebilir yapmaya çalışıyorum. Böylelikle sistemin işlevselliğini bir hayli arttırma imkanına sahip olacağım. Bir yandan da biyolojik araştırmalar var tabii. Pek bir şey anladığım söylenemez ama anladığım kadarıyla artık. Geçen hafta hocam Computational Cell Biology adlı kitabı okumam için bana verdi. Cümledeki 10 kelimenin 7′si yabancı (latince) olunca kafayı yememek elde değil. Zaten moleküler biyoloji önbilgisi istiyormuş kitap. Sanırım sıfırdan bir biyoloji öğrenmeye başlasam iyi olacak.
Yazılım dersinde yazdığım JIstanbul projesinin basit bir halini sundum. Proje 3 parçadan oluşmakta: Temel, Masaüstü, Cep. Temel modülde verilen bir WML(wap) dosyasını parçalayarak onu hat nesnelerine dönüştürüyorum. Masaüstü modülünde Internet bağlantısı kurarak WML dosyasını indirme, temel modüle bunu parçalatma ve Swing GUI’si ile bunu ekranda tablo olarak gösterme işini yapıyorum. Cep modülünde ise, bir hattın o günkü gidiş/dönüş saatlerini indirip temel modüle parçalatıp cep telefonu ekranında gösterme işini yapıyorum. Şu anda saatleri depolama imkanı yok ancak ileride olacak, zaten programın asıl özelliği bu. Yoksa wap.iett.gov.tr adresine girip de pekala öğrenebilirsiniz. Ekran görüntüleri burada.
Derslerin bitmesiyle bir yandan da hasret giderme / gezme etkinliklerine az da olsa, projeden kalan zamanlarda başlamış bulunmaktayım. Geçen pazar Işık’ta mezunlar günü vardı ancak havanın kötü olması sebebiyle katılım azdı. Arkadaşlarla görüştükten sonra bir süre kampüsteki denizi gören tepeye çıktım. Çok rüzgar esiyordu ama biraz orada, biraz da aşağılarda oturdum. Dalgaların, rüzgarın, yaprak hışırtılarının sesini dinledim, doğanın tadını çıkardım. Öğrenciyken yapamadım ya ona yanıyorum. Ne güzel kampüs varmış ama yoğunluktan kendimize vakit ayıramamışız. Kanada’daki komşum Burak’la da görüştük, bir süre İngilizce konuştuk, sonuç hiç fena değildi. Gayet rahat konuşabiliyorduk. Tabaklarımızı alan garson bize tuhaf tuhaf baktıysa da güzel eğlence oldu
Kiraz Diyeti/Detoksu
3 gündür de kiraz detoksu denen uygulamayı yapıyorum. Geçen sene yapmış ve 3 günde 7 kilo vermiştim. Sonunda detoksun faydasını hissetsem de aşırı hızlı kilo vermenin ardından mineral kaybının da etkisiyle bir süre kalp çarpıntısı yapmıştı. Bu sefer bunu bildiğim için vitamin/mineral takviyesi aldım ve 2. ve 3. günün akşamında azar azar normal yemekler de yedim. Sonucunda 3 günde 2 kilo verebildim. Bunda zaten son 3 ayda 6 kilo vermemin, geçen seneki detoksun vücudumdan toksinleri zaten atmış olmasının etkisi vardı. Bir de günde 3 kilo kiraz yemem gerekirken 500 gramı zor yiyor olmam da etkili oldu tabi
Çok başarılı olduğum söylenemez bu konuda. Tok tutuyor, ne yapayım. Yapacak olanlar bu ani kilo verme / çarpıntı olayına dikkat etsinler. Özellikle kilosu çok olanların yüzde hesabına vurulduğunda daha çok kilo verdiğini düşünecek olursak.
Atheros AR928X kablosuz bağlantı kopma sorunu
Birkaç aydır kablosuz bağlantım ara ara (1-2 saatte bir 5 dakikalığına) kopup geri geliyor. İlk başlarda sorun modemden sansam da kendi dizüstü bilgisayarımda olduğunu fark ettim. Sorunun kaynağı Linux kernel 2.6.30′dan 2.6.31′e geçerken yapılan bir değişiklikmiş. Dolayısıyla sorunu çözmek isteyenlerin 2.6.30 yahut 2.6.32 sürümünü kullanmaları tavsiye ediliyor. Pardus depomuzda henüz 2.6.32 olmadığı için beklemekten başka çare yok sanırım. Sorunu nasıl tespit ettim derseniz, dmesg komutunu verip sürekli aşağıdaki mesajların loglandığını fark ettim:
[ 3938.916039] wlan0: no probe response from AP xx:xx:xx:xx:xx:xx – disassociating
[ 3956.347711] wlan0: authenticate with AP xx:xx:xx:xx:xx:xx
[ 3956.362374] wlan0: authenticated(xx:xx:xx:xx:xx:xx yerinde bir MAC adresi olacak, güvenlik paranoyam sebebiyle modemimin MAC adresini deşifre etmek istemedim
)
Kimileri güç koruma seçeneğini kapatın demiş ama bende işe yaramadı:
sudo iwconfig wlan0 power off
Dosya indirirken yahut skype görüşmesi yaparken küt diye kesilen bir bağlantı hiç de hoş değil.
Güncelleme: GRUB dosyasına girip mevcut 2.6.31 çekirdeği için yazılmış satırların kopyasını alıp 2.6.31 yerine 2.6.30_rc8-120 yazdım ve sistemimi 2.6.30 çekirdeğiyle çalıştırdım. Sorun kalmadı. Amma velakin bu çekirdek varken bir USB disk takarsanız X (oturum) zaman zaman çöküyor. 2.6.30_rc8-120 çekirdeğinin olup olmadığını ls /boot komutunun çıktılarına bakarak anlayabilirsiniz.