Archive

Posts Tagged ‘Linux’

Genius!

November 24th, 2010 4 comments

Scp ile sembolik linkleri takip etmeden indirme işlemi yapmak için araştırma yaptığımda, aşağıdaki kodu buldum. Böyle bir kullanım 40 yıl düşünsem aklıma gelmezdi.

cd /destination/directory
ssh [email protected] "cd /original/directory; tar cf - ./" | tar xvf -

Kaynak

Categories: Gezegen, Linux Tags: , , , ,

Gtk <= 2.18.9 Pencere Gizleme Sorunu

April 8th, 2010 No comments

GtkGece gece uyku tutmadı var olan bir programı kurcalamaya başladım. Amacım programın sitem çekmecesinden çalışabilir hale getirmekti.

Her şeyi yaptım fakat bir türlü pencereyi gizleyemiyordum 🙂 Doküman gtk_window_get_mnemonics_visible () fonksiyonunu kullanmamı söylüyordu, fakat kullandığım gtk sürümünde bu fonksiyon tanımlı değildi(2.18.7). Eski sürüm için olan dokümanı incelediğimde bu işi yapan bir fonksiyon yoktu.
Sistemde kurulu gtk ve python ile bu işi yapabiliyordum. Normal olarak c ile de yapabilmem lazımdı:)
Biraz inceledikten sonra, önce pencereyi gizleyen, ardından boyutunu eski haline getirip sonra tekrar gösteren bir fonksiyon olduğunu fark ettim. Benim istediğim işi yapıyor fakat yanında birde fazlalığı vardı.(gtk_window_reshow_with_initial_size)
İnternette biraz daha araştırıp umudumu kaybedince mecburen kaynak koda baktım.

grep -rHn gtk_window_reshow_with_initial_size *

bu komut bana gtk_window_reshow_with_initial_size fonksiyonun nerelerde olduğunu gösterdi.
Bu fonksiyonunun içine bakınca istediğim kodu hemen buldum 🙂

gtk_window_reshow_with_initial_size (GtkWindow *window)
{
  GtkWidget *widget;
  
  g_return_if_fail (GTK_IS_WINDOW (window));

  widget = GTK_WIDGET (window);
  
  gtk_widget_hide (widget);
  gtk_widget_unrealize (widget);
  gtk_widget_show (widget);
}

Önce pencereyi widgeta çevirebilme imkanım varmış, böyle basit bir şeyi nasıl bulamadım bilemiyorum.

Categories: Gezegen, Programlama Tags: , , , ,

Bahar Temizliği

April 7th, 2010 No comments

Blogda temizliğe gitmeye karar verdim. Şimdilik gereksiz kategorileri sildim. Zamanında tag nedir bilmezken birçok kategori eklemiştim. Şimdi gereksizliğinin farkındayım 🙂
Blogun ilk zamanlarından kalma alıntı yazıları da uçuracağım. Gerçi hepsine kaynak göstermiştim, ama benim olmayan yazıların burada ne işi var değil mi?
Blog ağırlıklı olarak linux ve programlama üzerine olacak. Belki bu günden sonra daha çok yazı yazarım 🙂

Categories: Günlük Tags: , , , ,

Pardus ile Eduroam ağına bağlanma

December 5th, 2009 No comments

EduroamPardusun ağ yöneticisi gayet şık bir arayüze sahip, fakat bize Eduroam ağına bağlanma özelliği sunmuyor.
Ancak Pardus kurulumu ile birlikte gelen 2 araç bizim bu ağa bağlanmamız için yeterli. Bu araçlar wpa_supplicant ve dhcpcd. Wpa_supplicant ağda kimlik denetimini sağlamak için, dhcpcd ise ağdan ip almamız için gerekli.

Öncelikle wpa_supplicant için ayar dosyası oluşturmamız gerekiyor.

network={
        ssid="eduroam"
        key_mgmt=WPA-EAP
        pairwise=TKIP
        group=TKIP
        eap=TTLS
        phase2="auth=PAP"
        anonymous_identity="[email protected]"
        identity="[email protected]"
        password="sifre"
}

Bu ayarlar Dokuz Eylül Üniversitesi için. Kendi okulunuza göre düzenlemeniz gerekiyor. Sadece ogr.deu.edu.tr adresi yerine kendi okulunuzun adresini yazmalısınız.

Bu dosyayı /etc/wpa_supplicant.con adıyla kaydediyoruz.

Sıra geldi wpa_supplicantı çalıştırmaya.

wpa_supplicant -Dwext -iwlan0 -c/etc/wpa_supplicant.conf

-D parametresi hangi sürücüyü kullanacağımızı belirtiyor. Wpa_supplicantın man dosyalarına bakarak kendinize uygun bir sürücü seçebilirsiniz.
-i hangi arayüzü kullanacağınızı belirtiyor. Genellikle wlan0 dır. iwconfig komutunun çıktısı size kablosuz ağ kartlarını gösterecektir.
-c ile ayar dosyamızın yerini belirtiyoruz.

Eğer bu komut başarılı olursa artık ip alabiliriz.

dhcpcd wlan0

Eğer bu komutta başarılı olduysa artık internete bağlanabilirsiniz hayırlı olsun 🙂

Bu işlemi kolaylaştırmak için pem adında bi script yazdım.

git clone git://github.com/askin/pem.git

Bu komutla pem’e ulaşabilirsiniz.
Bu aracı daha fazla geliştirecektim fakat ağ yöneticisiyle bu işleri nasıl yapabileceğimi öğrendim. Bugün oturup biraz network-managerın kodlarıyla uğraştım. Sanırım pazartesi günü bu işi ağ yöneticisiyle kolayca yapılabilecek bir hale getirebilirim. Şimdilik en güzel yöntem bu gibi 🙂

Ayrıca sevgili dostum Mete bu işin wicd kullanarak nasıl yapıldığını daha önce yazmış buradan o yazıya ulaşabilirsiniz.