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.
İç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
sudo apt update
sudo apt install tmux -y
# Sürümü kontrol et
tmux -V
CentOS/AlmaLinux/RHEL
sudo dnf install tmux -y
# veya eski sistemlerde
sudo yum install tmux -y
Tmux Temel Kullanımı
Oturum Yönetimi
# 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:
| Komut | Açıklama |
|---|---|
Ctrl+b d | Oturumdan ayrıl (detach) |
Ctrl+b c | Yeni pencere oluştur |
Ctrl+b n | Sonraki pencereye geç |
Ctrl+b p | Önceki pencereye geç |
Ctrl+b 0-9 | Numaralı 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 z | Bölmeyi tam ekran yap/geri al |
Ctrl+b [ | Kaydırma moduna gir |
Ctrl+b ? | Yardım ekranı |
Pencere Yönetimi
# 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.
# 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:
nano ~/.tmux.conf
# 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
# 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
# Ubuntu/Debian
sudo apt install screen -y
# CentOS/AlmaLinux
sudo dnf install screen -y
Screen Temel Komutları
# 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:
| Komut | Açıklama |
|---|---|
Ctrl+a d | Oturumdan ayrıl |
Ctrl+a c | Yeni pencere oluştur |
Ctrl+a n | Sonraki pencere |
Ctrl+a p | Önceki pencere |
Ctrl+a " | Pencere listesi |
Ctrl+a A | Pencereyi yeniden adlandır |
Ctrl+a S | Yatay bölme |
| `Ctrl+a | ` |
Ctrl+a Tab | Bölmeler arası geçiş |
Ctrl+a [ | Kaydırma modu |
Ctrl+a ? | Yardım |
Tmux vs Screen Karşılaştırması
| Özellik | Tmux | Screen |
|---|---|---|
| Aktif geliştirme | Evet | Hayır |
| Dikey bölme | Evet | Evet (yeni sürüm) |
| Fare desteği | Evet | Sınırlı |
| Yapılandırma | Güçlü | Temel |
| Varsayılan kurulum | Hayır | Genellikle evet |
| Öğrenme eğrisi | Orta | Düşük |
| Betik desteği | Mükemmel | İyi |
Pratik Kullanım Senaryoları
Uzun Süren İşlemler
# 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
# 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
# ~/.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.
İlgili Makaleler
VDS Sunucuya SSH ile Bağlanma Rehberi (PuTTY & Terminal)
Linux VDS sunucunuza SSH ile bağlanma adımları: PuTTY, Terminal, anahtar tabanlı kimlik doğrulama, Path Panel firewall kuralı ve güvenlik ipuçları.
Windows VDS'e RDP ile Bağlanma ve Güvenlik Rehberi
Windows Server VDS sunucunuza Uzak Masaüstü (RDP) ile bağlanma adımları, NLA güvenlik ayarları, Path Panel firewall kuralı ve sorun giderme rehberi.
VDS Sunucu İşletim Sistemi Değiştirme Rehberi (Reinstall)
REXE panel üzerinden VDS sunucunuzun işletim sistemini değiştirme adımları, yedekleme önerileri, desteklenen Linux ve Windows Server sürümleri.