Ağ & Altyapı

tmux ile Claude Code Oturumlarını Kaybetme

Bunu yaşayan biri olarak söyleyeyim, Bir terminal oturumu düşünün. İşler iyi gidiyor, Claude Code bir modülü didik didik ediyor, siz de “bu biraz sürecek” deyip kahvenizi almaya çıkıyorsunuz. Sonra bir bakıyorsunuz… SSH kopmuş. Terminal bomboş. Agent da gitmiş. Açık konuşayım, bu sahne benim başıma ilk kez 2024 sonbaharında, İstanbul’da küçük bir danışmanlık işinde geldi ve sınır bozucuydu; çünkü ortada yarım kalan iş değil, doğrudan uçup giden emek vardı.

İlginç olan şu ki, İşin aslı şu ki, bu problem yeni değil. Yıllardır çözümü var: tmux. Kulağa eski usul geliyor olabilir — hatta belki “bu mu?” diyeceksiniz — ama tam da o yüzden işe yarıyor. Hani bazı araçlar vardır, parlak değildir ama sızı en kötü anda kurtarır… tmux öyle bir şey. En çok da mobil çalışıyorsanız, yani telefondan bağlanıp kontrol etmek istiyorsanız, hayat kurtarıyor. Gerçekten.

Kısa bir not düşeyim buraya.

tmux Neyi Çözüyor?

Aslında, Basitçe anlatayım. tmux’u terminaliniz için bir kayıt cihazı gibi düşünün — SSH bağlantınız canlı yayınsa, tmux arka planda kayıt alıyor (bu konuda ikircikliyim). Siz uzaklaşıyorsunuz diye süreç durmuyor; sadece siz ekrandan ayrılmış oluyorsunuz, o kadar. Dönüp tekrar bağlandığınızda kaldığınız yerden devam ediyorsunuz, hiçbir şey kaybolmamış.

Bu fark küçük görünür ama pratikte bayağı büyük bir şey. Mesela Claude Code’a uzun bir refaktör işi verdiğinizde ya da test üretmesini istediğinizde, normal SSH’de bağlantı düşerse oturumla birlikte çalışan süreç de çoğu zaman gidiyor — bitti, gitti, yeniden başla. tmux’ta işe sunucu tarafındaki oturum yaşamaya devam ediyor, siz olsanız da olmasanız da.

Bunu ben 2023’te Ankara’da bir startup projesinde özellikle hissetmiştim. Gece geç saatte deploy öncesi log temizliği yapıyorduk; laptopu kapatıp eve döndüm, telefondan yeniden bağlandım. Işlemin hâlâ sürdüğünü gördüm. O an “tamam” dedim, bu araç basit ama kafa rahatlatıyor (şaşırtıcı ama gerçek). Gerçekten rahatlatıyor.

Claude Code gibi uzun soluklu ajanları uzakta çalıştırırken asıl mesele hız değil, sürekliliktir. tmux da tam burada devreye giriyor.

Sessiz kahraman mantığı

Bakın şimdi… tmux’un marifeti sihirli değil aslında. Hiç değil. Sadece terminal oturumunu bir kabuk gibi sarıyor. Bağlantınız kesilse bile önü içeride tutuyor — telefonun ekranını kapatmanızla Spotify’ın çalmaya devam etmesi gibi değil bu, daha çok arabayı park edip anahtarı kontaktan çekmek ama motorun kaput altında çalışmaya devam etmesi gibi düşünün; daha doğru bir benzetme bu.

Dürüst olmak gerekirse, Bu yüzden mobile-first çalışma düzeninde fazlasıyla kullanışlı oluyor. iPad’den SSH açarsınız, kısa komut verirsiniz, sonra ekran kapanır; tekrar döndüğünüzde aynı noktadasınızdır. Biraz eski usul duruyor, evet, ama sonuç net: kaybolan iş azalıyor. Ciddi azalıyor.

Üç Katman Mantığını Bir Kez Anlamak Yeter

Şunu söyleyeyim, tmux’un temel yapısını ezberlemeye gerek yok; üç kelime yeterli: session, window ve pane.

Kavram Zihindeki karşılığı Neye yarar?
Session Masa Tüm çalışma alanınız burasıdır
Window Sekme Aynı session içinde farklı işler açarsınız
Pane Bölünmüş ekran Aynı pencerede iki komutu yan yana görürsünüz

Küçük ekiplerde genelde tek session yeterli oluyor. Hatta çoğu zaman tek window bile yetiyor; pane bölmek kağıt üstünde havalı dursa da küçük telefon ekranında resmen işkenceye dönüşüyor — denedim, biliyorum. E peki, sonuç ne oldu? Kurumsal tarafta birkaç window arasında dolaşmak güzel ama fazla dallandırıp budaklandırırsanız ortam karmaşıklaşıyor, bunu da biliyorum (bizzat test ettim) Daha fazla bilgi için Yapay Influencer Çağı: AI İçerik Neden Yoruyor? yazımıza bakabilirsiniz.

E tabi burada kullanım alışkanlığı önemli. Ben mesela tembel tarafımı kabul edeyim: çoğu gün tek session içinde iki window açıyorum ve olay bitiyor. Fazlası bazen gereksiz dikkat dağıtıyor… hmm, belki üşengeçliktir bu, ama işe yarıyor.

💡 Bilgi: Mobil cihazlarda en iyi deneyim için “bir session + bir veya iki window” modeli genelde yeterli ölür.

Kurulum Basit Ama Küçük Bir Fark Var

Güzel haber şu: tmux telefonu ya da tableti yormuyor çünkü oraya kurulmuyor zaten; uzak makinede çalışıyor. Yani sizin cihazınız sadece bir ekran, iş sunucuda dönüyor (kendi tecrübem)

Bir Maç’e SSH ile bağlıysanız Homebrew üzerinden kurarsınız:

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
brew install tmux
tmux -V

Daha fazla bilgi için MacBook Alırken Neye Bakmalı? Nişan 2026 Fırsatları yazımıza bakabilirsiniz.

Linuxta iş biraz daha tanıdık geliyor:

sudo apt install tmux
# ya da
sudo dnf install tmux

Bunu editör masasında ilk denediğimde açıkçası beklediğim kadar dramatik gelmedi; “tamam tamam güzel” dedim önce, biraz sıradan buldum — dürüst olayım, biraz hayal kırıklığı —. Sonra gerçek kullanım başladı ve fikrim değişti. Çünkü mesele kurulumu yapmak değil — mesele işi kaybetmeden geri gelebilmek. O fark her şeyi değiştiriyor. Daha fazla bilgi için Veri Mühendisliği Yaşam Döngüsü: Ham Veriden Ürüne yazımıza bakabilirsiniz. MCP’de Asıl Dönüşüm: Stdio’dan HTTP’ye Geçiş yazımızda da bu konuya değinmiştik. MCP Veritabanı Fırsatı: 2026’da Para Nerede? yazımızda da bu konuya değinmiştik.

Neden kurulum tarafında rahat hissediyorsunuz?

İnanın, Ekstradan karmaşık altyapı istemiyor. Agent sunucuda neyse, onun üstüne konuyor sadece — başka bir şey yok, başka bir servis yok, başka bir bağımlılık yok.

Hani, Bir startup’ta böyle sade çözümler altın değerinde oluyor. Herkesin vakti sınırlı, kimse ek bir şeyle uğraşmak istemiyor. Kurumsal sistemlerde de durum temelde farklı değil ama orada versiyon takibi. Tahmin eder mısınız? Erişim izinleri biraz daha önemli hâle geliyor — önü da göz önünde bulundurun.

Dört Komutluk Akış Gerçekten Yetiyor mu?

Lafı gevelemeden söyleyeyim: evet, çoğu insan için yetiyor. Ben günlük kullanımda dört komuttan fazlasına neredeyse hiç dokunmuyorum — belki ara sıra beşinci bir şey oluyor ama o da nadir (buna dikkat edin)

İlk komut yeni session açmak:

tmux new -s work

Peki sonra ne oluyor? Session içine giriyorsunuz, işi başlatıyorsunuz ve gerektiğinde Ctrl+b, ardından d ile detach yapıyorsunuz. Detaching aslında kaçmak değil; bırakıp gitmek de değil… işi kendi hâline bırakmak, o kadar. Sonra dönüp:

tmux attach -t work

ile geri geliyorsunuz. Hepsi bu.

  • Create: tmux new -s work
  • Cepte taşı: (Ctrl+b) d
  • Dön: tmux attach -t work
  • Anahtar kontrolü: <kısayol>, alışınca refleks oluyor
  • Eğer yanlış yere girdiyseniz önce session listesini görün:
    tmux ls
    
  • Bazen isimlendirme kurtarıyor:
    work, build, debug gibi düz isimler kullanın;
    yarın sabah neyin ne olduğunu hemen anlarsınız. — bunu es geçmeyin
  • Panesiz başlayın.
    Gerçekten.
    Telefon ekranında pane görmek kulağa profesyonel geliyor ama pratikte göz yoruyor.

Peki Claude Code İçin Neden Bu Kadar İyi?

Şöyle düşünün: Claude Code uzun süren görevler yapıyor — refaktör, test üretimi, analiz. Bunlar bazen dakikalar sürmüyor, saatler sürüyor. Normal SSH oturumunda bu (belki yanilıyorum ama) süre boyunca bağlı kalmak zorunda mısınız? Hayır ama bağlantı kopunca her şey gidiyor. tmux ile agent çalışmaya devam ediyor, siz kahvenizi içiyor, yemeğinizi yiyor, uyuyorsunuz bile — döndüğünüzde iş orada duruyor. Bu kadar basit, bu kadar etkili.

Sıkça Sorulan Sorular

tmux Claude Code oturumunu gerçekten korur mu?

Evet, bağlantı kopsa bile tmux içinde çalışan oturumlar genelde devam eder. Siz yeniden bağlandığınızda terminaliniz, kaldığınız pencere/sessiyon durumuna geri döner. Ben özellikle uzun süren refactor ve test üretme işlerinde “SSH düştü, her şey gitti” stresini ciddi azalttığını gördüm.

SSH kopunca tmux neyi kurtarır, neyi kurtarmaz?

tmux, sizin terminal oturumunuzu (komut kabuğu ve çalışan süreçlerin kontrolünü) arada tutar; yani bağlantı kesilmesi her şeyi otomatik bitirmez. Ama uzaktaki makinede süreç gerçekten durduysa (ör. makine çöktüyse) tmux tek başına bunu geri getiremez. Kısacası kurtarma, “bağlantı koptu” senaryosuna çok iyi; “sunucu oldu” senaryosuna sınırlı.

tmux kullanmak için en az hangi komutları bilmem gerekiyor?

Temel olarak “session açmak/yönetmek” ve “window/pane arasında gezinmek” yeterli oluyor. Genelde yeni bir tmux oturumu başlatıp ayrıl (detach), sonra tekrar bağlanınca kaldığınız yerden devam etmek mantığıyla ilerleniyor. İşin püf noktası, oturumdan çıkarken “kapatmak” yerine tmux’tan ayrılmayı alışkanlık hâline getirmek.

Mobilde (iPad/telefon) tmux neden bu kadar işe yarıyor?

Mobilde bağlantı daha sık kesilebiliyor; ekran kapanması, ağ geçişi veya kısa süreli kopmalar olabiliyor. tmux sayesinde kopma yaşansa bile işlem arka planda sürüyor ve siz geri dönünce kaldığınız yere devam ediyorsunuz. Benim için bu, “kontrol bitti mi?” hissini ortadan kaldıran en pratik yöntemlerden biri oldu.

tmux yerine başka bir şey kullansam aynı sonucu alır mıyım?

Benzer mantıkta çalışan araçlar var ama tmux genelde en pratik ve yaygın seçeneklerden biri. Bazı durumlarda ekran (screen) da benzer fayda sağlar; yine de tmux’ın window/pane yapısı ve oturum yönetimi günlük kullanımı kolaylaştırıyor. Eğer ekosisteme alışkın değilseniz, tmux ile başlayıp temel akışı oturtmak en hızlı yol oluyor.

Kaynaklar ve İleri Okuma

tmux man page (OpenBSD)

GNU screen manual

Azure Developer – Terraform’u yerel çalıştırma (uzak oturum/iş akışı bağlamı)

tmux GitHub deposu

Aşkın KILIÇ

20+ yıl deneyimli Azure Solutions Architect. Microsoft sertifikalı bulut mimari ve DevOps danışmanı. Azure, yapay zekâ ve bulut teknolojileri üzerine Türkçe teknik içerikler üretiyor.

AZ-305AZ-104AZ-500AZ-400DP-203AI-102

Bu içerik işinize yaradı mı?

Benzer içerikleri kaçırmamak için beni sosyal medyada takip edin.

← Onceki Yazi
DJI Osmo Pocket 4: Sızıntı Ne Söylüyor, Ne Saklıyor?
Sonraki Yazi →
MCP’de Asıl Dönüşüm: Stdio’dan HTTP’ye Geçiş

Yorum Yaz

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

İçindekiler
← DJI Osmo Pocket 4: Sızıntı Ne ...
MCP’de Asıl Dönüşüm: Stdio’dan... →