Ana içeriğe geç
Kategoriye Dön

Tmux ve Screen Kullanımı: SSH Oturum Yönetimi Rehberi

Tmux ve GNU Screen ile SSH oturumlarını yönetin. Kurulum, pencere/bölme yönetimi, detach/attach, oturum kalıcılığı ve karşılaştırma rehberi.

Okuma süresi: 12 dk Sunucu Yönetimi
tmuxscreensshoturum yönetimiterminallinuxmultiplexer

İçindekiler

Tmux ve Screen Kullanımı: SSH Oturum Yönetimi Rehberi

Uzak sunucularda çalışırken en büyük sorunlardan biri SSH bağlantısının kesilmesidir. Bağlantı koptuğunda çalışan işlemler de sonlanır. Tmux ve GNU Screen, bu sorunu çözen terminal çoklayıcı (multiplexer) araçlardır. Bu rehberde her iki aracı da öğrenecek, hangisini ne zaman kullanacağınızı anlayacaksınız.

Neden Tmux veya Screen Kullanmalısınız?

SSH oturumunuz kesildiğinde:

  • Çalışan derleme işlemleri durur
  • İndirmeler yarıda kalır
  • Uzun süren betikler sonlanır
  • Açık metin editörleri kapanır

Tmux ve Screen, oturumları sunucu tarafında canlı tutar. Bağlantınız kopsa bile işlemler arka planda çalışmaya devam eder. Yeniden bağlandığınızda kaldığınız yerden devam edersiniz.

Tmux daha modern ve aktif olarak geliştirilen bir araçtır. Screen ise daha eski ve yaygın olarak kurulu gelir. Her ikisini de bilmek faydalıdır.

Tmux Kurulumu

Ubuntu/Debian

hljs bash
sudo apt update
sudo apt install tmux -y

# Sürümü kontrol et
tmux -V

CentOS/AlmaLinux/RHEL

hljs bash
sudo dnf install tmux -y
# veya eski sistemlerde
sudo yum install tmux -y

Tmux Temel Kullanımı

Oturum Yönetimi

hljs bash
# Yeni oturum başlat
tmux

# İsimli oturum başlat
tmux new-session -s myproject
# veya kısaca
tmux new -s myproject

# Oturumdan ayrıl (detach) — işlemler çalışmaya devam eder
# Ctrl+b, ardından d

# Mevcut oturumları listele
tmux list-sessions
# veya kısaca
tmux ls

# Oturuma yeniden bağlan (attach)
tmux attach-session -t myproject
# veya kısaca
tmux attach -t myproject

# Son oturuma bağlan
tmux attach

# Oturumu sonlandır
tmux kill-session -t myproject

# Tüm oturumları sonlandır
tmux kill-server

Tmux Prefix Tuşu

Tmux'ta tüm komutlar bir prefix tuşuyla başlar. Varsayılan prefix: Ctrl+b

Prefix'i gönderdikten sonra komut tuşuna basın:

KomutAçıklama
Ctrl+b dOturumdan ayrıl (detach)
Ctrl+b cYeni pencere oluştur
Ctrl+b nSonraki pencereye geç
Ctrl+b pÖnceki pencereye geç
Ctrl+b 0-9Numaralı pencereye geç
Ctrl+b ,Pencereyi yeniden adlandır
Ctrl+b &Mevcut pencereyi kapat
Ctrl+b %Dikey bölme (sağa)
Ctrl+b "Yatay bölme (aşağıya)
Ctrl+b ok tuşlarıBölmeler arası geçiş
Ctrl+b zBölmeyi tam ekran yap/geri al
Ctrl+b [Kaydırma moduna gir
Ctrl+b ?Yardım ekranı

Pencere Yönetimi

hljs bash
# Tmux içindeyken yeni pencere aç
# Ctrl+b, ardından c

# Pencereleri listele
# Ctrl+b, ardından w

# Pencereyi yeniden adlandır
# Ctrl+b, ardından ,

# Pencereyi kapat
# Ctrl+b, ardından &

Bölme (Pane) Yönetimi

Bölmeler, tek bir pencereyi birden fazla terminale ayırmanızı sağlar.

hljs bash
# Dikey bölme (yan yana)
# Ctrl+b, ardından %

# Yatay bölme (üst-alt)
# Ctrl+b, ardından "

# Bölmeler arası geçiş
# Ctrl+b, ardından ok tuşları

# Bölmeyi tam ekran yap
# Ctrl+b, ardından z

# Bölmeyi kapat
# Ctrl+b, ardından x

# Bölme boyutunu ayarla
# Ctrl+b, ardından Ctrl+ok tuşları

Tmux Yapılandırması

Tmux'u özelleştirmek için ~/.tmux.conf dosyası oluşturun:

hljs bash
nano ~/.tmux.conf
hljs bash
# Prefix tuşunu Ctrl+a olarak değiştir (Screen'e benzer)
unbind C-b
set-option -g prefix C-a
bind-key C-a send-prefix

# Fare desteğini etkinleştir
set -g mouse on

# Pencere numaralandırmasını 1'den başlat
set -g base-index 1
setw -g pane-base-index 1

# Durum çubuğunu özelleştir
set -g status-bg colour235
set -g status-fg white
set -g status-left '[#S] '
set -g status-right '%H:%M %d-%b-%y'

# Geçmiş boyutunu artır
set -g history-limit 10000
hljs bash
# Yapılandırmayı yeniden yükle
tmux source-file ~/.tmux.conf
# veya tmux içinde:
# Ctrl+b, ardından :source-file ~/.tmux.conf

GNU Screen Kullanımı

Screen, tmux'tan daha eski ama birçok sistemde varsayılan olarak kurulu gelen bir araçtır.

Screen Kurulumu

hljs bash
# Ubuntu/Debian
sudo apt install screen -y

# CentOS/AlmaLinux
sudo dnf install screen -y

Screen Temel Komutları

hljs bash
# Yeni oturum başlat
screen

# İsimli oturum başlat
screen -S myproject

# Oturumdan ayrıl (detach)
# Ctrl+a, ardından d

# Oturumları listele
screen -ls

# Oturuma yeniden bağlan
screen -r myproject

# Birden fazla oturum varsa ID ile bağlan
screen -r 12345.myproject

# Oturumu sonlandır
# Screen içinde: Ctrl+a, ardından k
# Dışarıdan:
screen -X -S myproject quit

Screen Kısayolları

Screen'de prefix tuşu Ctrl+a'dır:

KomutAçıklama
Ctrl+a dOturumdan ayrıl
Ctrl+a cYeni pencere oluştur
Ctrl+a nSonraki pencere
Ctrl+a pÖnceki pencere
Ctrl+a "Pencere listesi
Ctrl+a APencereyi yeniden adlandır
Ctrl+a SYatay bölme
`Ctrl+a`
Ctrl+a TabBölmeler arası geçiş
Ctrl+a [Kaydırma modu
Ctrl+a ?Yardım

Tmux vs Screen Karşılaştırması

ÖzellikTmuxScreen
Aktif geliştirmeEvetHayır
Dikey bölmeEvetEvet (yeni sürüm)
Fare desteğiEvetSınırlı
YapılandırmaGüçlüTemel
Varsayılan kurulumHayırGenellikle evet
Öğrenme eğrisiOrtaDüşük
Betik desteğiMükemmelİyi

Pratik Kullanım Senaryoları

Uzun Süren İşlemler

hljs bash
# Yeni oturum başlat
tmux new -s build

# Uzun süren komutu çalıştır
make all

# Oturumdan ayrıl — işlem devam eder
# Ctrl+b d

# Daha sonra kontrol et
tmux attach -t build

Çoklu Sunucu İzleme

hljs bash
# Oturum başlat
tmux new -s monitoring

# Dikey bölme
# Ctrl+b %

# Sol bölmede CPU izle
htop

# Sağ bölmeye geç (Ctrl+b sağ ok)
# Disk I/O izle
iostat -x 2

Tmux ile Otomatik Oturum

hljs bash
# ~/.bashrc veya ~/.bash_profile'a ekle
if command -v tmux &> /dev/null && [ -z "$TMUX" ]; then
  tmux attach -t default || tmux new -s default
fi

Otomatik oturum başlatmayı dikkatli kullanın. Bazı sistemlerde SSH anahtar tabanlı otomasyonla çakışabilir.

Tmux Plugin Manager (TPM) ile tmux'u genişletebilirsiniz. tmux-resurrect eklentisi oturumları sistem yeniden başlatmalarında bile korur.

Sonuç

Tmux ve Screen, uzak sunucu yönetiminin vazgeçilmez araçlarıdır. REXE sunucularında uzun süren işlemleri, derleme görevlerini veya sürekli izleme komutlarını çalıştırırken bu araçları kullanmak, SSH bağlantısı kesilse bile işlerinizin güvende olmasını sağlar. Yeni başlayanlar için Screen daha basit bir başlangıç noktasıdır; ancak uzun vadede Tmux'un sunduğu esneklik ve özellikler çok daha değerlidir.