| Üye olun RSS

Uzak Makinalar

Ağustos 18th, 2007 | 2 Comments | Posted in Linux, açık kaynak, ssh, telnet, vnc, windows, x server, x11
Zaman zaman iş veya hobi amaçlı kimi zaman sadece meraktan uzak makinalara erişim ihtiyacı duyarız. Uzaktan erişimin atası telnet protokolü denebilir, telnet son yıllarda yerini daha güvenli olan açık ssh protokolüne bırakmıştır, bu yöntemle uzak makinaları komut satırından komutlar vererek yönetmek mümkündür. Bu protokolleri destekleyen sunucu ve istemci programları sayesinde erişimi sağlayabiliriz. Uzak makinada sunucu servisi, kendi makinamızda istemci programı çalışıyor olmalıdır. Bu programlardan açık kaynak kodlu bir çok alternatif bulmak mümkün, zaten blogumda fırsat buldukça bunları tanıtıyorum. Bugün de bir tanesini tanıtacağım ancak önce bir diğer uzaktan erişim şekli olan “uzaktan masaüstünü kontrol etme” yönteminden bahsetmek istiyorum yani ağ veya internet üzerinden bilgisayarı uzaktan kullanmayı.

Uzak Masaüstü Erişimi ve VNC

En konforlu uzak makinaya erişim yöntemi denebilir, yüksek ağ trafiği gerektirdiği için yerel ağlarda tercih edilir ancak internet hızındaki artış, internet üzerinden de masaüstü erişimini mümkün kılmaktadır. Uzak masaüstü erişiminde “açık RFB” protokolü kullanan VNC yazılımları bu amaca yönelik bir standart haline gelmiştir. Çalışma mantığı oldukça basittir, uzak makinaya kurulan VNC sunucusu, tüm masaüstü ve pencere görüntülerini, görüntü akışı şeklinde bize gönderir, bizim makinamızda bulunan VNC istemcisi (VNC viewer da denir) bir video oynatıcısı gibi çalışarak bu görüntüleri bize gösterir, tıpkı youtube’tan video seyreder gibi, VNC istemcisi fare ve klavye ile yaptığımız hareketleri sunucuya gönderir, sunucu da bu işlemleri üzerinde çalıştığı makinada gerçekleştirir.


RFB protokolünü geliştiren ve uygulayan RealVNC şirketi ücretli ve ücretsiz sunucu ve istemci yazılımları sunmaktadır. Hem Windows hem de Linux/Unix üzerinde çalışan açık kaynak kodlu VNC yazılımları da mevcuttur (TightVNC, UltraVNC, TurboVNC vb.). Bu yazılımlarla bir Windows makinadan bir Unix server’ı ya da bir Linux dağıtımından bir Windows makinayı kullanmak mümkün olabilmektedir. Tüm VNC yazılımları ortak bir protokol kullandığı için birbiriyle uyumlu çalışabilmektedir sadece RFB protokolü de sürekli gelişim içinde olduğu için aynı RFB sürümüne göre haberleşmeleri gerekir.

Diğer Uzak Masaüstü Erişim Yöntemleri

VNC dışında da uzak masaüstü erişimi sağlayan sitemler vardır mesela Microsoft Windows bunu kendi Remote Desktop yazılımı ile gerçekleştirir. Yerel ağlarda çok sorun yaşanmamakla birlikte Internet üzerinden uzak bağlantılarda bir çok karmaşık ayar yapmak gerekir: firewall ayarı, port yönlendirme veya virtual host tanımlama gibi. Bütün bu ayarlardan sizi kurtarıp, tarayıcınızla Internet üzerinde gezebiliyorsanız, başka bir ayar yapmanıza gerek olmadan uzak masaüstü bağlantı yapabileceğiniz sistemler de vardır, bu sistemler genelde sizinle uzak makina arasında kendi serverlarını kullanarak iletişim kurmanızı sağlar (GoToMyPC, TeamViewer vb.).


X Pencere Sunucuları (X Server)

Linux/Unix işletim sistemlerinde uygulamaların grafik arayüzleri (GUI), işletim sistemi üzerinde bulunan pencere sunucuları tarafından görüntülenir. Çalışma şeklini, klavye ve fare hareketlerini VNC sunucusuna ileten bir VNC istemcisine benzetebiliriz, yani aynı makinada hem görüntü istemcisi hem de sunucusu olduğunu farz edebiliriz. 1984′te kurulan bu sisteme X Window System adı verilmiştir, daha sonra X11 adını almıştır. Açık bir protokoldur ve MIT lisansına sahiptir. Uygulama ile onun grafik arayüzünü böyle bir mimari ile ayırmanın çok önemli getirileri olmuştur, açık dünya toplulukları protokolleri belirleyip Dünya ile paylaşarak, bu protokolleri kullanan bir çok özgür yazılımın ortaya çıkmasını sağlamış, sürekli gelişen, çok alternatifli ve özgür bir platform oluşmasına ön ayak olmuştur. X Window System‘in en önemli özelliği X server’ı yerel ağ veya internet üzerinde herhangi bir makinada tanımlayabiliyor olmanızdır yani çalışan herhangi bir uygulamanın grafik arayüzünü bir başka makinaya göndermesini sağlayabiliyorsunuz. Uzak masaüstüne erişim sistemi gibi bir yapı UNIX tabanlı sistemlerde temel özellik olarak X11 sayesinde 1984′ten beri vardır.
Bir Unix/Linux uzak makinasını grafik arayüzüyle birlikte nasıl yönetebilirim? Yukarıda bahsettiğim VNC ve diğer uzak masaüstü erişim yöntemleri ile bunu yapmak mümkündür ama hemen iki adet handikap göze çarpıyor:

  • Bir uzak makina aynı anda bir kişi tarafından yönetilebilir/kullanılabilir.
  • Yüksek bir ağ trafiğine neden olur.

Oysa telnet veya ssh ile bağlandığınız bir uzak makinaya “senin X Sunucun benim makinamdır” diyebilirseniz, telnet/ssh ile komut satırından çalıştırdığınız programın grafik arayüzü sizin makinanızda oluşacaktır hem de yukarıda bahsettiğim her iki handikapın da önüne geçerek…

Eğer siz de bir Linux/Unix makina kullanıyorsanız, Bu zaten bir X sunucusuna sahipsiniz anlamına gelir, aşağıdaki komutlarla uzak makinanın grafik arayüzlerini kenndi makinanıza yönlendirebilirsiniz. SSH ile bağlandıysanız:

  • Öncelikle ssh bağlantısını şu komutla kurmalısınız, örnekteki IP: uzak makinanın IP’sidir. username: uzak makinada var olan bir kullanıcıdır.
ssh -l username -X -C 192.168.1.2
  • Bundan sonraki adımlar telnet adımları ile aynıdır.

Telnet ile bağlandıysanız:

  • Uzak makinada DISPLAY değişkenini kendi IP’niz olarak belirtmelisiniz sonuna 0.0 eklemeyi unutmayın.
export DISPLAY=192.168.1.3:0.0
  • X sunucunuza uzak makinanın size grafik arayüzü göndermesine izin vermelisiniz, bunun için kendi makinanızda aşağıdaki komutu vermelisiniz, örnekteki IP uzak makinanın IP’sidir.
xhost + 192.168.1.2

Eğer bir Windows makina kullanıyorsanız, Bu sizin bir X sunucusuna sahip olmadığınız anlamına gelir ama hemen açık kaynak kodlu bir X sunucusu kurabilirsiniz mesela XMing

  • Xming’ i kurduktan sonra komut satırında şu komutu girerek X sunucunuzu çalıştırabilirsiniz:
“C:Program FilesXmingXming.exe” :0 -clipboard -multiwindow -ac
Tabi kurulumu siz de benimle aynı yere yaptıysanız bu komutu kullanmalısınız. Bu komutu kullanarak bir kısa yol tanımlamak sizin için daha kolay olacaktır.
  • Şimdi telnet veya ssh ile uzak makinaya bağlantı kurarak DISPLAY değişkenini kendi IP’niz olarak belirtmelisiniz sonuna 0.0 eklemeyi unutmayın.

export DISPLAY=192.168.1.3:0.0


Artık uzak makinada herhangi bir uygulama çalıştırıp görüntünün gelmesini bekleyebilirsiniz. Bu işlemi çok fazla sorun yaşamadan yerel ağlarda gerçekleştirebilirsiniz ancak internet üzerinden bir uzak makinaya ulaşmak istiyorsanız kendi makinanıza port yönlendirme yapmalısınız dışarıdan 6000 portuna gelecek istekleri kendi makinanızın 6000 portuna yönlendirmeniz gerekir. Uzak makinada DISPLAY değişkenini tanımlarken 0.0 yerine 0.1 kullandıysanız iletişim 6001 portundan başlayacaktır dolayısıyla 6001 portunu yönlendirmeniz gerekir, 0.2 için 6002 … ya da kendi makinanızı DMZ olarak tanımlarsanız dışarıdan gelecek tüm istekler direk sizin makinanıza iletilir.

Eğer uzak makinadaki bir uygulamaya Windows’tan tek tıklama ile ulaşmak istiyorsanız Xming bunu da sağlayabiliyor, ihtiyacınıza göre aşağıdaki komutlardan birini kullanabilirsiniz.

  • Telnet ile erişebildiğiniz bir uzak makina ise
“C:Program FilesXming\plink.exe” -X kullanici@192.168.1.2 mozilla
  • SSH protokolü ile erişmek istiyorsanız
“C:Program FilesXming\plink.exe” -ssh -X kullanici@192.168.1.2 konqueror
  • Eğer şifre girmek istemiyorsanız:
“C:Program FilesXming\plink.exe” -ssh -X -pw sifre kullanici@192.168.1.2 ksnake

Yukarıdaki örneklerde mozilla, konqueror ve ksnake uygulmalarını çalıştırdık, hepsi ayrı birer pencerede kendi makinamızda açıldılar, eğer uzak makinanız Linux ise ve masaüstünü kullanmak istiyorsanız

  • KDE masaüstü için startkde komutunu
  • Gnome masaüstü için gnome-session komutunu çalıştırmalısınız.



Linux üzerinde windows programları

Nisan 7th, 2007 | 1 Comment | Posted in Linux, açık kaynak, emulator, pardus

Linux’ta windows programları çalışır mı? Normalde: “hayır çalışmaz”.

Ama bir grup özgür yazılımcı Wine adını verdikleri projeyle bunu mümkün hale getirmişler. Peki bunu nasıl başarmışlar?
Programların çalışma mantığı, üzerinde çalıştıkları işletim sisteminin kütüphane fonksiyonlarını çağırarak bilgisayara hükmetme felsefesine dayalıdır. Windows, kapalı bir işletim sistemi olduğu için bu kütüphane fonksiyonları sadece Microsoft tarafından geliştirilmekte ve kodları kapalı tutulmaktadır, buna rağmen eğer siz aynı fonksiyonları, aynı isimde, aynı işleri, Linux üzerinde yapabilecek şekilde Linux için yazmayı başarabilirseniz Windows programlarının Linux’ta çalışmasını sağlayabilirsiniz., işte Wine geliştirme ekibi bunu başarmış, windows kütüphane fonksiyonlarını Linux için baştan yazmışlar.

Wine başarılı bir proje: Eğer öyle olmasaydı Google, Picasa’nın Linux sürümünü Wine altyapısı üzerinde yayınlamazdı. Hatta Google, Picassa’yı Wine üzerinde çalıştırabilmek için bu projeye katkıda bile bulunmuştu:
http://picasa.google.com/linux/index.html

Wine önemli bir proje: Linux kullanıcılarının en sık karşılaştığı 2 temel sıkıntıdan biri windows oyunlarını Linux’ta oynayamamak, diğeri ise kendileri için kritik programların Linux versiyonlarına alışamamak. Bu nedenle büyük bir isteğe sahip olsalar da, Windows’larından vazgeçemeye cesaret edemiyorlar, Wine bu cesareti verebilecek bir proje.

Wine hala geliştirilmekte, tüm windows programlarını henüz çalıştıramıyor ve bazıları gerçekten verimsiz çalışıyor ama düzgün çalışan uygulamaların kullanıcılar tarafından ipuçları ile birlikte paylaşıldığı siteye gözatınca yabana atılmayacak bir liste çıkıyor karşınıza:
http://appdb.winehq.org/

Geçen sene Pardus’un geliştirici ekibinden Wine deneyimlerimizle ilgili fikirlerimiz istenmişti. Şunları yazmıştım:

“Ocak 2006′da Pardus’u ilk kurduğum zamanlarda, Windows’suz olmayacağını düşünüyordum, bu nedenle wine çok ilgimi çekmiş üzerinde çok zaman harcamıştım. Bu dönemde ilk farkettiğim şey linux’çuların pek wine’dan hoşlanmadığı idi, dolayısıyla soru sormaya çekiniyor ve wine daha fazla gelişmez diye düşünüyordum.”

* * *
“Ben giderek Windows programlarına ihityacı azalan bir kullanıcıyım, Linux ve Pardus ile yeni tanışan bir çok kişiyi wine ile desteklemek gerektiğini düşünüyorum, bu
cesaret verici olacaktır. Zaten her insanın içinde bulunan araştırma ve keşfetme içgüdüsü onları bir süre sonra kullandığı tüm programların Linux alternatiflerini bulmaya itecektir.”

Resimdeki gibi, bir Linux dağıtımında Wine sayesinde IE6.0, MS Power Point, Notepad ve Solitare’i bir arada görebilirsiniz:

Pardus 2007 Beryl Manager Gösterisi

Nisan 7th, 2007 | 2 Comments | Posted in Linux, açık kaynak, pardus


Pardus 2007′ye Beryl Manager pencere yöneticisini kurduktan sonra bilgisayar kullanmanın keyfi yüzlerce kat artıyor. Bu pencere yöneticisi sayesinde yapabildiklerinizi görünce gözlerinize inanamayacaksınız. Bir video hazırlamayı düşündüm ama zaten youtube’da bir çok video var, bunlardan iki tanesini buraya ekliyorum:




Beryl Manager’ı Pardus 2007′ye kurmak için aşağıdaki dökümanı adım adım takip etmelisiniz:
http://tr.pardus-wiki.org/NASIL:AIGLX_ve_BERYL_Kurulumu

Pardus hakkında bilgi için daha önce yazdığım şu yazıya göz atabilirsiniz:
http://www.yesiltas.net/sezer/2007/03/pardus.html

Benim ekran görüntülerim:

.: ALT+TAB tuşu ile pencere değiştirme :.


.: Küp Masaüstü özelliği :.

.: Küp Masaüstü özelliği :.


.: Esneyebilen Pencereler :.