28 Ekim 2011 Cuma

GNU Screen Hakkıda Kısaca


   Screen genelde çok az kişinin kullandığı çok faydalı bir araç. Screen 'i pencere çoklayıcısı olarak tanımlamak mümkün. Bunun anlamıysa screen kullanarak tek bir terminalde oluşturacağınız değişik sayıda pencerelerde aynı anda değişik programları çalıştırabileceğiniz. Günümüzde grafiksel uç birimler sekme özelliğine sahip olsa da screen 'in yetenekleri çok daha fazla.

    Screen 'i paket yöneticinizi kullanarak kurabilirsiniz. Pardus için '$ sudo pisi it screen' yeterli olacaktır.
$ screen
komutunu vererek yeni bir screen oturumu açabilirsiniz. Screen de birçok program gibi ayar doslarını nokta(dot) dosyası olarak kullanıcının ev dizininde tutar. İlk çalıştırdığınızda muhtemelen sizi screen 'in lisansını, hataların nereye raporlanacağını vb. bilgileri içeren bir sayfa karşılayacaktır. Bu sayfayı kapatmak için ~/.screenrc sayfasına aşağıdaki satırı ekleyebilirsiniz: 
startup_message off
    Yaratılan her screen oturumu eşsiz bir numara ile tanımlanır. İlk pencere 0 ile numaralandırılır ve 1, 2, 3 şeklinde devam eder. Ctrl+a screenin varsayılan komut karakteridir. Bununla birlikte Ctrl+a 'dan sonra girilen komut büyük/küçük harf duyarlıdır. Yani Ctrl+a n ve Ctrl+a N farklı anlamlara gelir.

    Yeni bir pencere yaratmak için Ctrl+a c (create) kombinasyonunu kullanabilirsiniz.

    Oluşturulan pencereler arasında geçiş yapmak için değişik yöntemler vardır:
  • Ctrl+a n (next)tuşlarıyla bir sonraki pencereye, Ctrl+a p (previous) ile de bir önceki pencereye geçebilirsiniz.
  • Ctrl+a sonrasında 0-9 arasında bir sayı ile karşılık gelen pencereye geçiş yapabilirsiniz.
  • Ctrl+a " ile bütün pencerelerin listesini görebilir, istediğinize geçebilirsiniz.
    Ctrl+a A tuşlarıyla kullanmakta olduğunuz pencereyi yeniden adlandırabilirsiniz.
   
    Yeni pencereler oluşturmayı ve aralarında geçiş yapmayı öğrendik. Oturumdan kopmak(detach) için Ctrl+a d kullanılabilir. Bunun yerine sadece oturumu içeren uç birimi de kapatabilirsiniz. Ama bu yöntemlerden hiçbiri oturumunuzu sonlandırmaz. Yaptıkları oturumunuz ve uç birim arasındaki bağlantıyı koparmaktır. Eğer Ctrl+a d komutunu kullandığınız sırada hali hazırda çalışan bir program varsa çalışmayı sürdürecektir ve istediğiniz zaman tekrar bağlanarak işinize devam edebilirsiniz.     
    Koparılan bir oturuma yeniden bağlanmak için aşağıdaki komut kullanılabilir:
$ screen -r
    Koparılan sadece bir tane screen oturumu varsa direk olarak ona bağlanırsınız. Birden fazla oturum olması durumunda ise bir şuna benzer liste karşınıza çıkar:
$ screen -r
There are several suitable screens on:
        2608.pts-0.pardus2011   (Detached)
        2665.pts-0.pardus2011   (Detached)
     Bir tanesini seçip yeniden bağlanabilirsiniz:
$ screen -r 2608.pts-0.pardus2011
    Screenin bir başka önemli özelliği de bir screen ourumunu paylaşabiliyor olmanızdır. Bunun için aşağıdaki adımları izlemeniz yeterlidir: 
  1. root olarak: # chmod u+s /usr/bin/screen ()
  2. # chmod 755 /var/run/screen
  3. root kullanıcısından çıkış yapın ve screen oturumunu paylaşacak kullanıcıyla bir screen oturumu açıp isim verin: $ screen -S oturumAdı
  4. Çoklu kullanıcı özelliğini açmak için Ctrl+a :multiuser komutunu verin.
  5. Screen oturumuna bağlanacak ikinci kullanıcıya gerekli izinleri vermek için Ctrl+a :acladd kullanıcı2 (kullanıcı2 bağlanacak olan diğer kullanıcının ismi)
  6. Daha sonrasında kullanıcı2 SSH kullanarak bilgisayara bağlanmalı ve $ screen -x kullanıcı1/oturumAdı (kullanıcı1 screen oturumunu oluşturan kullanıcı) komutuyla oluşturulan screen oturumunu kullanmaya başlayabilir.
    Böylece iki kullanıcı da aynı screen oturumunu paylaşabilir ve komut çalıştırabilir.

    Screen pencereleri iki veya daha fazla yatay pencereye bölmenizi sağlar. Bu sayede, örneğin, bir yandan sistem kaynaklarını görüntülerken ("top"), pencerenin bir diğer kısmında çalışmaya devam edebilirsiniz.

     Screen'i ikiye ayırmak için önce iki screen oturumu oluşturun. Ctrl+a S screeni ikiye ayıracaktır; üst kısımda hali hazırda kullandığınız oturum, altta boş bir tane.

    Alttaki kısma geçmek için Ctrl+a TAB kullanılabilir. Bu komut konsol imlecini alttaki kısma geçirecektir. Alt kısma geçtiğinizde önceden oluşturduğunuz screen oturumlarından bir tanesini seçmelisiniz. Bunun için Ctrl+a " kullanın ve varolan screen oturumlarını listeleyin. Listeden bir tanesini seçerek kullanın. Yalnız yukarı kısımda kullanılan oturumu seçmemeye dikkat edin, böyle bir durumda iki kısımda da aynı oturumu kullanıyor olursunuz. Bir screen oturumu seçtikten sonra top komutunu verin ve Ctrl+a TAB ile yukarıdaki kısma geçin. Şimdi altta sistem kaynaklarını izlerken üst kısımda çalışabilirsiniz.


    Tekrar tam ekran durumuna dönmek için çalışmaya devam etmek istediğiniz kısma geçin ve Ctrl+a Q komutunu kullanın.

    Screen ayar dosyasında bazı düzenlemeler yaparak screeni daha kullanışlı hale getirmek mümkün. Bazı düzenlemelerle pencerenizin en altında aktif screen oturumlarını listeleyebilir, sistem saati ve bilgisayar ismi gibi bilgileri görebilirsiniz. Bununla yanında başlangıçta oluturulacak screen oturumları da tanımlayabilirsiniz. Örneğin:
hardstatus alwayslastline
hardstatus string '%{= kG}[ %{G}%H %{g}][%= %{=kw}%?%-Lw%?%{r}(%{W}%n*%f%t%?(%u)%?%{r})%{w}%?%+Lw%?%?%= %{g}][%{B}%Y-%m-%d %{W}%c %{g}]'

# Default screens
screen -t shell1 0
screen -t shell2 1
screen -t server 2 ssh me@myserver
    İlk iki satırda durum çubuğunun en altta olması gerektiği ve bu satırda ne olması gerektiği yazılıdır. # ile başlayan satır yorum satırı, yorum satırının altındaki "screen -t ScreenAdı ScreenNumarası KabukKomutu" formatındaki satırlar ise başlatılacak screen tanımlamalarıdır. 

    Screen oturumlarını kapatmak için ise Ctrl+a Q komutunu verebilir veya exit komutunu kullanabilirsiniz. 

Kaynaklar:
[1] http://magazine.redhat.com/2007/09/27/a-guide-to-gnu-screen/
[2] http://news.softpedia.com/news/GNU-Screen-Tutorial-44274.shtml

Hiç yorum yok:

Yorum Gönder