Screen, cok kullanışlı, zaman kazandıran ve aynı anda bir cok işlem yurutmeyi sağlayan bir programdır.
İlk bakışta terminal coklayıcı gibi gorunse de aslında tam anlamıyla bir oturum yoneticisidir. Terminalde yuruttuğunuz işleri birbirinden bağımsız olarak aynı anda yonetebilir, ekranlar arası geciş yaparak işlemlerin ne durumda olduğunu gorebilir ve sınırsız sayıda ekran acabilirsiniz.
Screen, başlattığınız işlemi arka plana atarak devam ettirebilmenizi sağlar. Terminali kapatsanız bile işlem arka planda calışmaya devam eder. Bu bakımdan ozellikle sunucu uygulamalarında cok kullanışlıdır.
Başka bir bilgisayara bağlanarak screen ile başlattığınız işlem, o bilgisayar ile bağlantınız kesilse bile devam edeceğinden, tekrar bağlandığınızda screen icerisinden işlemin ne durumda olduğunu gorebilir ve mudahale edebilirsiniz.
Programın detaylarına bir goz atalım;
Eğer sisteminizde screen kurulu değilse, ki genelde kurulu olarak gelir;
Kod:
sudo apt-get install screen
ile kurabilirsiniz.
Kod:
screen
komutunu verdiğinizde karşınıza yeni bir terminal ekranı acılır. (İlk kullanımda bir bilgi ve ayar ekranı cıkması muhtemeldir)
[IMG]http://img709.**************/img709/1062/29894423.png[/IMG]
Bu adımdan sonra gorduğunuz boş ekran, aslında yeni bir terminal ekranıdır. Bu ekranda istediğiniz komutları verip işlemlerinizi yurutebilirsiniz.
Şimdi bu ekranı arka plana atalım. Yani "detached" konumuna alalım. Bunun icin Ctrl-a-d yapmamız yeterli. Ctrl-a tuş kombinasyonu screen'in komut başlangıcıdır. Bu kombinasyondan sonra basılan harf, asıl komutu ifade eder. Burada d harfi ile ekranı "detached" moduna almak istediğimizi belirttik.
[IMG]http://img23.**************/img23/3075/27316270.png[/IMG]
Bilgisiyle birlikte bir ekranı arka plana attık. Başlattığımız işlem, o ekranda calışmaya devam ediyor. Yeni bir ekran acalım
Kod:
screen
Bu ekranı da arka plana alalım. Ctrl-a-d
Şimdi arka planda calışan 2 ekranımız oldu. Calışan ekranların listesini gormek icin
Kod:
screen -ls
[IMG]http://img705.**************/img705/3778/79064871.png[/IMG]
2 ekranımız listelendi. Hangi ekrana tekrar bağlanmak istiyorsak o ekranın numarasını -r parametresi ile birlikte yazmamız yeterli
Kod:
screen -r 2047
Eğer calışan tek bir ekran varsa, numara belirtmeden -r parametresi ile girebiliriz.
Burada bir parantez acalım. Screen kullanırken tek bir ekran icerisinde birden fazla pencere acabilirsiniz. Her bir pencere, icerisinde verdiğiniz komutları bir diğer pencereden bağımsız olarak yurutur. Pencereler arasında gezinti, metin kopyalama vb. işlemleri yapabilirsiniz. Ekran altında acılan pencereler "screen -ls" komutu ile ayrı olarak gozukmezler. Acıldıkları ekran icerisine bağlıdırlar. İlerleyen satırlarda bu konuya değineceğiz.
Screen ile actığımız ekranda komut işletip arka plana atmayı kısaca aşağıdaki şekilde de yapabiliriz ;
Kod:
screen -dmS deneme du
burada dm parametresi ile ekranı calıştırıp karşımıza getirmeden direkt arka plana attık (detach). S parametresi ile ekrana bir isim verdik. Bu şekilde "deneme" isminde, icinde "du" komutunu calıştırdığımız bir ekranımız oldu. Şimdi listelediğimizde
Kod:
screen -ls
[IMG]http://img12.**************/img12/1713/88204416.png[/IMG]
Ekrana tekrar bağlanmak icin numarası yerine artık ismini yazabiliriz;
Kod:
screen -r deneme
Burada dikkat etmemiz gereken bir noktadan bahsedelim. Yukarıdaki gibi icerisinde calıştıracağımız komutu belirterek screen başlattığımızda, komut işlemini tamamladığında pencere kapanır ve eğer başka acık pencere yoksa screen kapanır. Orneğin
Kod:
screen -dmS cat /var/log/syslog
Kod:
cat /var/log/syslog
işlemi bittiğinde, yani tekrar komut satırına donduğunde, pencere (eğer son pencere ise screen) kapanır.
Komut belirtmeden, isim belirterek boş bir ekranı arka planda calıştırmak icin;
Kod:
screen -dmS deneme
deneme isminde boş bir ekran acıp arka plana gonderdik.
Kod:
screen -r deneme
ile karşımıza getirebiliriz.
Screen'den bahsederken yine ozellikle sunucular icin cok kullanışlı, aynı zamanda ilgi cekici bir parametresinden bahsedelim. x parametresi ile aynı ekrana farklı yerlerden bağlanabilir, tek ekranı aynı anda farklı yerlerden kontrol edebilirsiniz. Orneğin bilgisayarınızda "deneme" isminde calışan bir screen oturumu var. Cep telefonunuzdan ya da başka bir bilgisayardan ssh ile bilgisayarınıza bağlandınız;
Kod:
screen -ls
dediğinizde deneme isminde calışan bir ekran olduğunu gordunuz.
Kod:
screen -x deneme
dediğinizde calışan ekrana mevcut oturumu kesmeden bağlanmış olursunuz. Bağlandığınız cihazdan da, bağlantı yaptığınız bilgisayardan da aynı ekranı kontrol edebilirsiniz. Orneğin cep telefonunuzdan bilgisayar ekranına, aynı anda bilgisayar ekranında da gorulebilecek şekilde komut girebilirsiniz. Tam tersi de mumkundur.
Biraz da screen icerisinde kullanılabilecek kısayollardan bahsedelim
Ekranlar icerisinde isteiğiniz kadar pencere acabilirsiniz demiştik. Pencere hangi ekranda iken acılmışsa o ekrana bağlanır ve yine o ekrandan erişilebilir. Bunu yapmak icin Ctrl-a-c yapmanız yeterli. Acılan her pencere icin bir numara verilir.
Actığımız pencereler arasında geciş yapmak icin;
Ctrl-a-" Acılan pencerelerin listesini verir.
[IMG]http://img121.**************/img121/6709/79608996.png[/IMG]
Ctrl-a-A Pencereye isim vermemizi sağlar
[IMG]http://img232.**************/img232/7658/63677485.png[/IMG]
Ctrl-a-' Bağlanmak istediğiniz ekranın ismini ya da numarasını girmenizi ister.
[IMG]http://img808.**************/img808/7113/79945587.png[/IMG]
Diğer kısayollar;
Ctrl-a-0 0 numaralı pencereye gecer
...
...
Ctrl-a-12 12 numaralı pencereye gecer
Ctrl-a Ctrl-a Bir onceki pencere ile mevcut pencere arasında geciş yapar
Ctrl-a-C Ekranı temizler. (clear komutu)
Ctrl-a-d Oturumu "detach" eder (arka plana atar)
Ctrl-a h Ekranı hardcopy.n isminde bir dosyaya yazar. Burada n pencere numarasıdır. Dosyayı /home klasoru altına kaydeder.
Ctrl-a H Ekranı screenlog.n adı altında log dosyasına kaydetmeye başlar. Aynı tuş kombinasyonunu tekrar yaptığınızda log yazma işlemini bitirir. Burada n yine pencere numarasıdır ve dosya /home klasoru altına kaydedilir.
Ctrl-a k Gecerli pencereyi kapatır.
Ctrl-a ? Kısayolları goruntuler
[IMG]http://img198.**************/img198/6310/96475458.png[/IMG]
Screen icerisindeki bir pencereye direkt bağlanmak icin;
Kod:
screen -r deneme -p 3
deneme ismindeki ekranın 3. penceresine direkt bağlanır. (3 yerine pencere ismi de yazabilirsiniz)
Screen kullanımı ile ilgili daha detaylı bilgiyi man screen sayfasından elde edebilirsiniz.
__________________
Screen Kullanımı
Linux0 Mesaj
●35 Görüntüleme
- ReadBull.net
- Donanım Forumları
- işletim Sistemleri
- Linux
- Screen Kullanımı