12 Ağustos 2008 Salı

GNU/Linux Kilitlenince - Son Çare

Zaman zaman çalışan programlardan dolayı GNU/Linux kilitlenebiliyor. Eğer herşeyi denediğiniz halde bilgisayarınızı geri alamadıysanız bilgisayarı kapatmaktan başka çare kalmıyor.

MS-DOS® işletim sistemi ortadan kalktığından beri bilgisayarı çat diye kapatmak önerilmiyor. Özellikle GNU/Linux'un dosya sistemi yapısından dolayı bilgisayarın gücünü birden bire kesmek sıkıntı yaratabiliyor. Öyle ki kaydettiğinizi düşündüğünüz dosyaları bile geri döndüğünüzde bulamayabiliyorsunuz. Ext2 dosya sisteminde çok daha vahim sonuçlanan güç kesintisi Ext3 ve ReiserFS dosya sistemi kullanan yeni dağıtımlarda daha az sıkıntı yaratıyor.

Gücü birden kesilen, doğru şekilde kapatılmamış yeni GNU/Linux dağıtımlarında dosyalarda sorun çıkma olasılığı çok daha az olsa da bilgisayarın kapatma düğmesine basılı tutarak kapatmak insanın içini acıtıyor. GNU/Linuxlar'da son çare olarak kullanılan bir yöntem var. Bu yöntem ile veri kaybınızı en aza indirebilir ve bilgisayarı daha az zarar verdiğinizi düşünerek kendinizi avutabilirsiniz. Bu metodun adı: Raising Skinny Elephant Is Utterly Boring. Metodumuz bu cümleyi oluşturan kelimelerin ilk harflerini akılda tutmamız ile çalışıyor. (Güzel bir Türkçe açılım bulamadım, önerilere açığım.)

GNU/Linux bizden gelen tepkliere karşılık vermediği ve yapacak başka bir şey kalmadığı anda aşğıdaki tuşlara sırayla basıyoruz:

  1. Alt + SysRq + R
  2. Alt + SysRq + S
  3. Alt + SysRq + E
  4. Alt + SysRq + I
  5. Alt + SysRq + U
  6. Alt + SysRq + B
Teknik Açıklama:
  • + işareti belirtilen tuşlara aynı anda basılacağı anlamına geliyor.
  • SysRq tuşu Print Screen ile aynı tuş. Genelde tuş takımının sağ üst tarafında yer alır.
  • Tuşların büyük, küçük harf olması önemli değildir. Fakat "I" tuşu İngilizce klavyede bulunan I/i tuşu olduğuna dikkat edin.
Peki bu tuşlar ne iş yapıyor?

R : Tuş takımını temel moda alıyor. Böylece sonraki girişlerin doğru algılanmasını sağlıyor. (Raw Mode)
S : Bellekteki bilgiler ile diskteki bilgileri senkronize ediyor.
E : Tüm işlemlere sonlanma çağrısı yapıyor.
I : Tüm işelmeri öldürüyor.
U : Tüm dosya sistemlerini salt-okunur olarak yeniden bağlıyor.
B : Bilgisayarı yeniden başlatıyor.

Anlayacağınız üzere ilk tuş bileşimini uyguladıktan sonra geriye dönüş yok. Bilgisayarı yeniden başlatana kadar tüm tuşları sırası ile uygulamanız gerekiyor.

Bilgisayarınız yeniden başladığında eğer diskleri gözden geçirmem gerekiyor derse, izin verin. Bu işlemi iptal etmeyin.

Son not: Bu tuş bileşimlerinin uygulanabilmesi için Linux Kernel'ında açık olması gerekiyor. Bir çok Ubuntu sürümü için açık olan bu özelliğin sizin bilgisayardaki durumunu öğrenmek için:
$ ls /proc/sys/kernel/sysrq

komutunu verebilirsiniz. Eğer dosya oradaysa bu özellik sizin bilgisayarınızda açık demektir.

Kaynak: http://www.brunolinux.com/01-First_Things_To_Know/Skinny_Elephants.html


3 Ağustos 2008 Pazar

Tuşlar Takım Olarak Çalışır - Tuşların Değişimi

Klavye Güzeldir

Bilgisayarda işlem yaparken işlemleri tuş takımını yani klavyeyi kullanarak yaptıkça işlemleri daha hızlı yapabileceğinizi keşfedersiz. Özellikle yazım temelli şeyler ile uğraşıyorsanız elinizi sürekli fareye götürüp, bir iki yere tıklayıp tekrar tuş takımına dönmek ciddi bir zaman kaybıdır. GNU/Linux'ta da bir çok işlem için tuş takımı kısa yolları bulunmaktadır. Özellikle uçbirimi kullanırken öne çıkan bu kısa yollardan X Windows ortamında da bol bol bulunmaktadır. Örneğin;

Ctrl + Alt + D : Bütün pencereleri küçültür.
Alt + F1 : Uygulamalar menüsünü açar.
Alt + F2 : Çalıştır kutusunu ekrana getirir.
Alt + F7 : Pencereyi taşıyabilmenizi sağlar. (*)
Ctrl + PageUp : Sekme (tab) kullanan programlarda bir önceki sekmeye geçer.
Ctrl + PageDown : Sekme (tab) kullanan programlarda bir sonraki sekmeye geçer.
Ctrl + s : Bir çok programda açık bulunan belgeyi kaydeder.
Ctrl + Yön Tuşları: Metin içerisinde bir sözcük ya da bir paragraf olarak hareket edebilmenizi sağlar.

(*) Gnome + Compiz ayarı gerektirebilir.

Tuşların Yeri

Klavye üzerindeki bazı tuşların yerini beğenmeyebilirsiniz. Örneğin Unix, yani GNU/Linux'un atası, tasarlanırken şimdikinden daha farklı bir tuş düzeneği yaygındı. Kısa yolların buna göre tasarlandığı klavyede şimdi Caps Lock tuşunun olduğu yerde zamanında Control tuşu vardı. Bu yüzden özellikle uçbirim uygulamalarının çoğunda (o zamanlar) erişimi kolay olan bu tuş işlev tuşu olarak çok sık kullanılmış.

Eğer Caps Lock tuşunu Control tuşundan daha az kullanan çoğunluk içerisindeyseniz, Control tuşuna eski güzel yerini iade edebilirsiniz. Her şeyiyle özelleştirilebilir olan GNU/Linux'umuz klavyedeki bütün tuşların yeniden düzenlenmesine izin veriyor.

Tuşların yerlerini değiştirmek, daha doğru bir ifade ile tuşların görevlerini değiştirmek için xmodmap programını kullanacağız. Bu program yalnızca X ortamında tuşların yerini değiştiriyor. X ortamı dışında çok fazla kullanım olmadığı için şimdilik yalnızca xmodmap'ten bahsedeceğim.

xmodmap programı temel olarak şöyle kullanılıyor:
  • Tuşun ismine yeni bir görev atanabiliyor ör:
    keysym Caps_Lock = Control
  • Tuşun koduna yeni bir görev atabiliyor ör:
    keycode 37 = slash
  • Tuşların değiştiriciler ile nasıl kullanılacağı bildirilebiliyor ör:
    keycode 37 = 7 slash
Son örnekte Control tuşuna tek başına bastığımızda 7 yazmasını Shift ile bastığımızda bölü yani / karakterini yazmasını söylemiş oluyoruz.

Peki tuşların kodunu ya da ismini nerden öğreneceğiz? Kolayı var. Bir Uçbirim (Uygulamalar -> Donatılar -> Uçbirim) açarak
$ xev
yazıyoruz ve xev programını çalıştırıyoruz. Bu programa ekrana içinde siyah çerçeveli kare olan beyaz bir pencere getirecek. Programı çalıştırdığımız Uçbirim'de de sürekli yazılar akmaya başlayacak. Bu program kullanıcının tuş takımı ve fare ile yaptığı hareketlerin X Windows sistemi tarafından nasıl algılandığını görmeye yarar. Fare kutunun içindeyse fare hareketlerini de takip edeceğinden çok fazla bilgi ortaya çıkacaktır, bu yüzden şimdilik fareyi kutudan uzaklaştırın.

xev'i açtıktan sonra örneğin soldaki Windows logolu tuşa (Super Tuşu) basarsanız, aşağıdakine benzer bir çıktı alırsınız:
KeyPress event, serial 31, synthetic NO, window 0x4200001,
root 0x59, subw 0x0, time 3380334, (-283,270), root:(957,434),
state 0x0, keycode 115 (keysym 0xffeb, Super_L), same_screen YES,
XLookupString gives 0 bytes:
XmbLookupString gives 0 bytes:
XFilterEvent returns: False

Ortadaki satır bizim için önemli olan satır. Gördüğünüz gibi tuşun kodu 115 adı ise Super_L imiş. Değişiklik yapmak istediğiniz tuşları deneyerek kodlarını ve isimlerini bi kenara not edin.

Control'ün İade-i İtibarı

Şimdi gelelim uygulamaya. Yukarıda bahsettiğim üzere amacım Control tuşunun itibarını ve yerini ona geri vermek. Bunu yapmak için aşağıdaki komutları uygulamam gerekiyor (nasıl uygulanacağına geleceğim):
remove Lock = Caps_Lock
remove Control = Control_L
keycode 37 = Caps_Lock
keysym Caps_Lock = Control_L
add Lock = Caps_Lock
add Control = Control_L

Ne yaptık?
  • Control ve Caps_Lock tuşları özel, değiştirici tuşlardır. Bu yüzden bir değişiklik yapmadan önce remove ile bu görevlerini kaldırdık.
  • 37 kod numaralı tuşa (soldaki Control tuşu) artık senin görevin Caps_Lock olmak dedik
  • Caps_Lock isimli tuşa artık senin görevin Control_L (sol kontrol) olmak dedik
  • Caps_Lock görevli tuşu shift kilidi (Lock) ve Control_L görevli tuşu Control değiştirici yaptık.

Komutların uygulanması

Yukarıda gördüğünüz her bir komutu ve hızlıca uygulamanız gereken diğer başka komutları da, uçbirimden
$ xmodmap -e "remove Lock = Caps_Lock"

komutunu vererek uygulatabilirsiniz. Bu durumda her bir komutu teker teker girmeniz gerekir. Bilgisayarı her açtığınızda böyle bir zahmete girmemeniz için bu komutları kayıt altında tutabilirsiniz.

Uygulanmasını istediğiniz komutların hepsini bir dosyaya alt alta yazın. Daha sonra dosyayı kaydedin.
$ xmodmap dosyaAdi

komutunu verdiğinizde dosyaya yazdığınız komutların hepsi işletilecektir. Eğer bu dosyanın adını
.Xmodmap
yapıp başlangıç (ev) dizininize koyarsanız bilgisayar her açıldığında bu dosyayı işletecektir.

Hayırlı olsun. Notlar kısmına bakmayı unutmayın.

Notlar

  • .Xmodmap adlı dosyayı yarattıktan sonra bilgisayarınızı ilk açtığınızda Ubuntu size bu dosyanın içindeki ayarları kullanmak isteyip istemediğinizi soracaktır. Yanıt size kalmış ;)
  • Dosya içinde ! ünlem ile başlayan satırlar yorum satırlarıdır. Ünlem ile başlayıp açıklama yazabilirsiniz.
  • Aynı dosyayı xmodmap ile yeniden çalıştırdığınızda tuşlar eski haline gelecektir. (Yalnızca bu dosyadaki ayarlar için geçerlidir.)
  • Değiştirici tuşlar için sağlıklı çalışmamak ile birlikte tuşlara birden fazla görev atayabilirsiniz. Arasına boşluk koyarak atayacağınız bu görevler sırasıyla normal, shift, mod1, mod2, ..., mod8 tuşları ile birlikte basıldığında kullanılacaktır.
  • Değiştirici (modifier) tuş listesini görmek için konsoldan
    $ xmodmap -pm
    komutunu verebilirsiniz.
  • Geçerli olan tuş takımı atamalarını incelemek için
    $ xmodmap -pk
    komutunu verebilirsiniz.