Terminal multiplexer (Çoklaycı ) – tmux

Sunucu yönetimi ve (cli) komut satırında yeniyseniz, belki de Terminal multiplexer veya bunların ne yaptığını duymamışsınızdır. İyi bir Linux sistem yöneticisi olmayı ve sistem araçlarını nasıl kullanacağınızı öğrenmek istiyorsunuz.

Bu yazımda Terminal multiplexer ( Terminal Çoklaycı ) ile hayatınızı biraz daha nasıl kolaylaştıracağınızı anlatmaya çalışacağım;Terminal multiplexer, Terminal içindeki oturumları çoğaltmak için kullanılabilen bir programdır. Bu, kullanıcıların tek bir Terminal penceresinde birden çok oturuma sahip olmalarını sağlar. Terminal multiplexer önemli özelliklerinden biri, kullanıcıların bu oturumları ekleyip çıkarabilmeleridir.

Diyelim ki uzak bir sunucuyu SSH/Telnet komut satırı üzerinden yönetmeniz gerekiyor, ancak bağlantınız çok kararlı değil. Bu, sık sık yeniden bağlanmak zorunda olduğunuz ve tekrar işe başlamak istemediğiniz anlamına gelir. Terminal multiplexer, oturumlarınızı bağlantılar arasında kaydetme özelliği sunar, böylece hemen başladığınız yerden devam edebilirsiniz.

NOT:
Bu tür oturumların sunucunun yeniden başlatmalar (reboot) arasinda kalıcı olmadığını unutmayın. Bunun nedeni, Terminal multiplexer, bir metin düzenleyicisi, bir izleme aracı ve neyi çalıştırmayabileceğiniz kabuk oturumlarını çalıştırmasıdır.

Oturumlar yalnızca yukarıda açıklandığı gibi eklenebilir ve yeniden eklenebilir, aynı zamanda paylaşılabilir. Pratik anlamda, birden fazla kullanıcının mevcut bir oturuma ekleyebileceği ve uygun gördüğü şekilde birlikte çalışabileceği anlamına gelir.

Bu yazıda, Tmux ve Screen olan en popüler Terminal multiplexer’ları öğreneceğiz. Öncelikle bu araçların ne olduğunu, bazı özellikleri ve çalışmalarıyla birlikte öğreneceğiz.Bu makalede prosedürleri açıklamak için CentOS/Redhat işletim Sistemini kullanıyor olacağız. Kurulum dışında diğer dağtımlarda kullanımı bire bir aynidir.

 

 

Tmux ismi Terminal Multiplexer isminin kısaltmasıdır. Tmux, tek bir yerine birden çok Terminal oturumunu aynı anda yönetmenizi sağlar. Tek bir Terminalden birden fazla program arasında kolayca geçiş yapabilirsiniz. Tmux ile oturumları gerektiğinde ekleyebilir ve çıkarabilirsiniz. Bu, herhangi bir görevi kesintiye uğratmadan süreçleri sunucularda çalıştırmaya devam etmenizi sağlar.

Tmux’un Özellikleri

Tmux’un bazı özellikleri aşağıdaki gibidir:

  • Mac, Linux, Raspberry vb. platformlarda calisitırılabilir.
  • Kolayca özelleştirilebilir, Tmux ortamınızın görünümünü ve davranışını değiştirebilirsiniz.
  • Son derece yapılandırılabilir, farklı özellikler için manuel olarak özel yapılandırma ekleyebilirsiniz
  • Temel özelliği, tarayıcılardaki sekmeler gibi pencerelerdir
  • Her pencere, farklı komutların aynı anda çalıştırılabileceği ayrı bir Terminal gibidir.
  • Tek bir Terminal penceresinde birkaç pencere ve bölmeyi kolaylaştırır.
  • Oturumdaki pencereleri ve panelleri korur (ağ bağlantısı kesilse bile etkin kalır)
  • Hem Emacs hem de Vim kısayollarını destekler
  • Uygulamaların düzenli kullanımı için çok yararlı olabilecek çok çeşitli kısayol tuşları sunar.
  • Arka planda çalışan hizmeti kesintiye uğratmadan Terminal arabirimini ayırabilir ve gerektiğinde yeniden bağlayabilir.

Tmux normal kurulumda kurulu olarak gelmediğinden, oncelikle tmux terminal multiplexer’I yum paket yoneticisi ( YUM package Manager ) ile kurmamiz gerekiyor. Ubuntu linux kullaniyorsaniz

$ sudo apt-get install tmux

ile kurmaniz gerekiyor.

Kullandiğimiz linux bilgisi aşağıdakı gibidir;

  • Operating System: CentOS Linux 8 (Core)
  • Kernel: Linux 4.18.0-147.el8.x86_64

Kurulum adimları aşağıdaki gibidir;

$ sudo yum search tmux
==================================================== Name Exactly Matched: tmux ====================================================
tmux.x86_64 : A terminal multiplexer
====================================================== Summary Matched: tmux =======================================================
xpanes.noarch : Awesome tmux-based terminal divider

$ sudo yum install tmux
Last metadata expiration check: 0:01:31 ago on Mon 20 Apr 2020 12:45:17 AM +03.
Dependencies resolved.
====================================================================================================================================
Package Architecture Version Repository Size
====================================================================================================================================
Installing:
tmux x86_64 2.7-1.el8 BaseOS 317 k

Transaction Summary
====================================================================================================================================
Install 1 Package

Total download size: 317 k
Installed size: 781 k
Is this ok [y/N]: y
Downloading Packages:
tmux-2.7-1.el8.x86_64.rpm 568 kB/s | 317 kB 00:00
------------------------------------------------------------------------------------------------------------------------------------
Total 336 kB/s | 317 kB 00:00
Running transaction check
Transaction check succeeded.
Running transaction test
Transaction test succeeded.
Running transaction
Preparing : 1/1
Installing : tmux-2.7-1.el8.x86_64 1/1
Running scriptlet: tmux-2.7-1.el8.x86_64 1/1
Verifying : tmux-2.7-1.el8.x86_64 1/1

Installed:
tmux-2.7-1.el8.x86_64

Complete!

Artik kullanmaya haziriz, Bu yazimda tmux’un en cok kullanılan ozelliklerini gosteriyor olacam, daha detay bilgi için, man pagelerden yararlanabilrsiniz

Orneğin;

$ man tmux

İlk olarak, Tmux’un nasıl çalıştığını öğrenmemiz gerekiyor. Tmux’u kullanmaya başlamak için en temel adımlar aşağıdadır:


Terminalde tmux yazarak bir oturum (session) açın

  • Istediğiniz program veya komutları calistirin.
    Tamamlandığında, Ctrl-b + d kısayolunu kullanarak oturumu ayırın. Komutlar ve programlar oturumu ayırmanıza rağmen çalışmaya devam eder.
  • Tmux oturumuna yeniden bağlanmak istediğinizde, Terminal’e tmux attach-session -t 0 yazmanız yeterlidir.

Daha öncede belirtmiş oluğum gibi tmux’un artı ozelliklerinden biri ortamları etiketleyebilmesi böylece onlarca ortamlar arasında rahatlıkla dolaşabilir ve daha rahat calisma imkanı saglamıs olursunuz.

$ tmux new -s oturum_adı

Örneğin, galaxy adında bir oturum oluşturmak için komut şöyle olur:

$ tmux new –s galaxy

Aşağıdaki ekran görüntüsünde, sol alt köşede oturumun adını gösteren durum çubuğunu görebilirsiniz.

Çalistirmis olduğumuz komut ile yeni bir terminal acilmiş olacak ve ekranda galaxy ismini göreceksiniz. Bu aşamada yeni ortamimiz acilmiş ve calısir durumdadır. Artık bağlantımız kesilse de verdiğimiz komutlar calısmaya devam eder. Artık istersek mevcut ortami detach ( ayrılmak) istersek Ctrl-b + d kısayolunu kullanarak oturumu ayırabiliriz.

Tabiki burada sadece detach değil, istersek ekranda aynı anda yatay veya dikey ortamlar oluşturup calismalarımızı hizlandırabilriz.
Ekrani dikey olarak ayırmak icin;

Ctrl+b %

Birden fazla ortam olusturduktan sonra ortamlar arasında nasil gezebiliriz sorusu aklınıza gelecektir, Bunun icin aşağıdakı kisayol ile gecisleri saglayabiliriz;

Ctrl+b o

Sadece Dikey değil, istersek yatay olarak da yeni ortam olusturabiliriz;

Ctrl+b "

Yeni bir ekranda ortam olusturmak icin;

Ctrl+b c

Yeni olusturulan ekranlar arasında gecisler icin ise;

Ctrl+b n # bir sonraki ekran
Ctrl+b p # bir önceki ekran

Daha once de bahsetmis oluğum detach ( ayrıllma ) islemi için kullanabiliriz.

Ctrl+b d

Mevcut ortamdan ayrıuldıktan sonra, hangi ortamlarımızın oldugunu bilmek ve yeniden attach (baglanmak) için active olan ortamları gormemiz gerekiyor, bunun icin aşağıdakı komut ile gorebiliriz;

$ tmux list-sessions

listemizi gordukten sonra artık baglanmka istediğimiz ortam’I attach edip kaldıgmız yerden calısmalaramiza devam edebilmek icin;

$ tmux attach -t ortam-id
$ tmux attach -t ortam-adi

Her nekadar detay vermeye calısmıs olsamda, tmux’un uzerinde durmadıgım cok daha fazla ozelliği var. Konumuzun basıında belirtmistim. Daha detaylı incelemek isterseniz aşağıdakı kisayolu kullanabilrsiniz;

Ctrl+b ?

Share

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.