Linux Distribution Chooser

http://www.zegeniestudios.net/ldc/, seçtiğiniz kriterlere göre size uygun dağıtımları gösteren çok güzel bir sayfa. genel olarak bir dağıtımda neler aradığınızı(dağıtım nedir bilip bilmediğinizi), hangi masaüstü yöneticisini tercih ettiğinizi, kararlılık tercihlerinizi vs. sorarak size uygun Linux dağıtımlarını sıralıyor.

Bana yaptığı tavsiyeler, %100 Ubuntu, Fedora, Mandriva, Mint, openSUSE, daha sonra da %95 olarak Debian, Kubuntu ve Mepis. Kubuntu, Debian ve Mepis yeni başlayanlar için iyi olmayabilirmiş(%5 ordan kırılmış sanırım). Nedense sonuçlara hiç şaşırmadım :) . Masaüstü bilgisayarıma ilk ulaştığımda(yazın?!) openSUSE kuracağım.

Firefox’u yedeklemek için tek yöntem

Yeni sisteme taşınmak için tüm Firefox’umun yedeğini almak istedim, tüm eklentiler, yer imleri, kayıtlı şifreler, vs. Biraz araştırmayla bir sürü eklenti buldum, fakat sonra farkettim ki eğer platformlar arası taşımayacaksanız(sanırım eklentiler buna yarıyor), en kısa, kolay ve etkili yöntem, kullanıcı adınızın klasöründeki gizli .mozilla klasörünü yeni sisteme kopyalamak. Hatta geçmiş bile geliyor. Duruma göre içinde Thunderbird ile alakalı dosyalar da olabilir, bu durumda içinden ayıklayabilirsiniz.

Python ile Linux ortamında DNS değiştirme

Tek tıkla kullandığınız DNS’i Google ya da openDNS’e ayarlayan bir program yazmak çok kolay aslında. Linux ortamında(ve sanırım tüm UNIX ailesinde) o an için kullandığınız DNS adresleri /etc/resolv.conf dosyasında, “# Generated by NetworkManager” satırının altında tutuluyor. Kısaca orayı değiştirerek yapıyoruz.

Gayet basit bir şekilde open fonksiyonu ile dosyayı “w” modunda açıp, içine DNSleri yazdırıyoruz, bu arada eğer ağı kopartıp bir daha bağlanmamız gerekirse, komutlarımız “ifconfig ağ_adı down/up”. Bunu terminalden yazmak gerekiyor ama os.system kütüphanesini kullanarak bu işi programımıza yaptırabiliriz.

Kısaca şöyle oluyor:

import os.system

DNS = {
    "google" : ["8.8.8.8", "8.8.4.4"]
    "opendns" : [] #buraya opendns ekle
    }

open("etc/resolv.conf", "w")
open.writelines(DNS["google"]) #ya da opendns
open.close()

#bağlantıyı koparmak
os.system("ifconfig ag_adi down")
#yeniden bağlanmak
os.system("ifconfig ag_adı up")

Bsod arşiv düzenleyici

İlk işe yarar Python programımı tamamladım, bir sürü gerekli gereksiz problemler çözdüm Python’da fakat bu seferki gerçekten bir ihtiyacımı karşıladı.

Bsod arşiv düzenleyici; birkaç kb büyüklüğünde mp3, ogg ve flac formatlarından oluşan müzik arşivinizi başka bir klasöre artist adı/albüm/şarkı adı şeklinde taşımaktadır. Bu formatlara uymayan diğer dosyalar da _OTHERS klasörüne kopyalanmaktadır. Bir arayüzü olmadığından ekran görüntüsü koyamıyorum.

Program hakkında bazı notlar:

  • Tek bağımlılığı Python2.6 veya daha üst bir Python2.x sürümüdür. Aslında bir de Mutagen kütüphanelerine ihtiyaç duyuyor fakat zaten birkaç kb olduklarından ben onları paketin içine attım.
  • Tüm arşivi kopyalayacaktır, formatları desteklemese yada müzik dosyalarının etiketleri olmasa bile _OTHERS klasörüne kopyalanacaklar, herhangi bir kayıp olmayacak yani.
  • Eski arşivinizde kesinlikle değişiklik yapılmayacaktır.
  • Ogg formatında ve Windows ortamında test edilememiştir. Fakat kaynak koda bakıldığında bir sorun çıkmayacakmış gibi geldi bana. Test edip yorum yaparsanız menun olurum :) .
  • Arayüzü olmadığından terminal veya komut satırından çalıştırmanız gerekiyor.

Eğer geliştirebilirsem ileriki versionlarda albüm kapağı ve şarkı sözleri indirme özellikleri ekleyebilirim. Fakat önce bunları indirebileceğim sunuculara ihtiyacım var(Media Player falan nereden indiriyor bir çözübilsem :P). Etiket düzenleyicisi de eklenebilir kolayca, ama amacımın dışına çıkmış olurum.

Bu arada unutmadan, buradan indirebilirsiniz.

EKLEME: Windows ortamında çalışmadığı haberlerini aldıktan sonra birkaç değişiklik yaptım. Kendi kopyala/yapıştır fonksiyonum yerine shutil kütüphanesini, kopyalayacağım dosyanın varlığını kontrol etmek için os.path kütüphanesini kullandım, bağlantıları kurarken elle “/” koymak yerine os.sep kullandım, ve sanırım bu sefer, Windows ortamında da sorunsuz çalışacaktır :) . Denendi; Windows ortamında çalışıyor.

Ubuntu’da gconf-editor aracılığıyla kısayol tuşu atamak

Aslında sadece Ubuntu değil, sanırım Gnome kullanan tüm dağıtımlarda kullanılabilir. Kısayol tuşu atamada bazı sorunlar yaşıyordum bir süredir, örneğin yön tuşlarını ve super tuşunu kısayollara atayamıyordum. gconf-editor aracılığıyla hallettim.

gconf-editor sanırım kurulumda gelen bir program(en azından ben ayrıca kurduğumu hatırlamıyorum, eğer gelmiyorsa paket yöneticisinden yükleyebilirsiniz). Bilgisayarımızda yüklü olan programlarımızın ayar dosyalarını rahatça düzenlememizi sağlıyor. Benim kısayol tuşu atamak istediğim program gnome-do’ydu, gconf-editor’den Gnome-do adresini, oradan CoreKeyBindings’i buldum ve atamak istediğim özelliğe gelip “Right” yazdım. Programda bunu yapamıyordum, nedense yön tuşlarını ve super tuşunu kısayol olarak atamaya izin vermiyordu(halbuki default olarak yön tuşu geliyor zaten o kısayol için).Bir diğer yöntem de programı tüm ayar dosyalarıyla temizlemek, onu da konsoldan “sudo aptitude purge gnome-do” komutuyla yapabilirsiniz. Daha sonra yeniden kurduğunuzda tüm ayarlarınız sıfırlanmış olarak gelecektir.

NetBeans IDE

Uzun süredir aradığım IDE’yi buldum. Django ve Python işlerimde kullanmaya başladım ve işimi gerçekten çok kolaylaştırıyor(Django desteği olmasa bile).

Okul ağından online oyun oynamak

Bir süredir okulum internet bağlantısı üzerinden online oyun oynamak için uğraşıyordum ve birkaç saat önce başardım. Bu sorun sadece benim okulumun ağına özel değil tabii ki, pek çok okul ve şirket benzer şekillerde kullanıcıları kısıtlıyor. Çözüm yolu SOCKS proxy kullanmaktan geçiyor. Nasıl çalıştığını ve firewall’u nasıl atlattığını HENÜZ çözebilmiş değilim. Detaylar için bkz.

Bunu uzun süre önce bulmuştum fakat uygulaması biraz zor oldu. Önce saatlerce proxy programları aradım, daha sonra da sunucu. Your Freedom programının linux sürümünün olduğunu bilmiyordum. Your Freedom’um aynı zamanda kendi sunucuları var ve gayet hızlılar. Fakat eğer ücretsiz kullanmak isterseniz saatte bir bağlantınız kopuyor ve tekrar bağlanmanız gerekiyor. Fakat bu işlem çok kısa sürüyor ve genelde sorun olmuyor.

Bir diğer sorun da kullanacağınız programın(oynayacağınız oyunun) proxy desteklememesi. Bu durumda proxifier adı verilen programlarla oyununuzu proxy programınıza yönlendirmeniz gerekiyor. Bunu da Ubuntu paket yöneticisinde bulunan tsocks adlı programla hallettim.

Adım adım anlatmak gerekirse:

  1. Your Freedom programının sitesinden Java arşiv dosyasını indiriyoruz, bir kenara açıyoruz. Programı çalıştırmak için kurulum gerekmiyor, çalıştırmak için konsoldan arşivi açtığımız klasöre gidip java -jar freedom.jar vereceğiz. Fakat her seferinde konsolu açıp bu komutu vermek istemediğimiz için bir “launcher” oluşturup komut olarak java -jar “PROGRAMI_AÇTIĞIMIZ YER/freedom.jar” (tırnaklara dikkat) yazıyoruz ve programı buradan çalıştırıyoruz.
  2. Paket yöneticimizden tsocks adlı programı indiriyoruz. /etc/tsocks.conf dosyası bu programın ayar dosyası. Bunu yönetici modunda düzenleyeceğiz(sudo nautilus komutuyla klasöre girin ve açın, yada sudo gedit komutuyla gedit’i açıp da yapabilirsiniz).
  3. Your Freedom’u açıyoruz, üyelik vs. istiyor, üye oluyoruz, daha sonra serverları test ediyor. Görebileecğiniz gibi hiçbir sunucunun UDP desteği yok. Fakat benim oynadığım oyun için bu sorun olmadı(A Tale in the Desert 4, WoWda da sorun olmuyormuş). Daha herhangi bir sunucuya bağlanıyoruz. Ayarlar zaten uygun olduğundan birşeye dokunmuyoruz(ya da ben ne ayar yaptığımı hatırlamıyorum). Program açık kalıyor.
  4. Tsocks ayar dosyasını açıyoruz. local bölümünü kablosuz bağlantı kullandımız için sallıyoruz. path bölümünde server alanına 127.0.0.1(bu Your Freedom ile alakalı, Your Freedom ayarlarınızı değiştirirseniz bunu da değiştirmelisiniz), server_type alanına 4 yazıyoruz. Port 1080 kalıyor.
    Bu arada not: Eğer 127.0.0.1 adresini Django sunucusu vs. kullanıyorsa sorun yaşayabilirsiniz, ya serverı kapatın ya da ipyi değiştirin.
  5. Terminal’den oynayacağımız oyunu çalıştırmadan önce başına “tsocks ” ekini getiriyoruz ve çalıştırıyoruz(yukarıdaki yöntemdeki gibi bir launcher oluşturulabilir). Sonuçta olan şu:

Aynısını Windows ortamında da yapabilirsiniz tabii ki, Your Freedom programı zaten aynı, yönlendirme işlemi için de bir program bulmanız gerekiyor, ben işi ticarete döktüğüm için burada açıklayamıyorum. Beleş yemek daha lezzetli oluyor :) .

Bu arada biraz A Tale in the Desert 4 hakkında bilgi verelim. Oyun alışılmış MMORPGlerden farklı, oyun savaş diye birşey yok, pvp, pve vs. yok. Henüz çözebilmiş değilim fakat wikipedia‘dan yardım alabilirsiniz. Benim bu oyunu seçme sebebim orjinalliğinin yanında sistem gereksinimlerinin düşük olmasıydı, onboard ekran kartlı dizüstü bilgisayarımda çok rahat oynayabiliyorum.

Onun dışında Linux ortamında oyun oynamaya çabalayanlar için güzel kaynaklar buldum. Wiki4MMO‘dan Linux istemcileri olan MMOlara bakabilirsiniz. Wikipedia’da ise genel olarka her tür Linux oyunu hakkında bir sayfa var. Bu arada Shadowgrounds Survivor’ın da Linux versionunu tavsiye ederim..

WoW’da “You are connecting to an invalid game server” sorunu çözümü

Socksify programınızdan DNS name resolving ayarını “local” yapmalısınız. Bunu yaptığınızda tüm programlarınız otomatik olarak(Firefox mesela) yönlendirilecektir istemeseniz bile, fakat orjinal sunucuya bağlanabilmek için bu şart.

Ayrıca orjinal sunucuya bağlanabilmek için OpenVPN kullanmanız gerekiyor, bkz.

EKLEME: Linux ortmında Wine aracılığıyla socksify kullanımı

Peki Linux istemcisi olmayan bir oyunu oynamak istiyorsak nasıl yapacağız? Socksify programları Wine altında gayet rahat çalışıyor, benim uyguladığım yöntem Wine’dan Freecap kullanmatı. Sonuç: