17 puan yazan GN⁺ 2025-08-04 | Henüz yorum yok. | WhatsApp'ta paylaş
  • Uzun süre tmux kullandı, ancak son dönemde tmux’un karmaşıklığı ve sınırlamaları (renk uyumluluğu, scrollback, fareyle kopyalama, protokol desteği eksikliği vb.) konusunda şüphe duymaya başladı
  • Oturum kalıcılığı (detach/attach) ya da pencere bölme/yönetimi gibi tmux’un temel işlevleri mutlaka yalnızca tmux ile sağlanmak zorunda değil
  • dtach, abduco, shpool gibi Unix felsefesine uygun hafif araçlar kullanılarak, yalnızca oturum yönetimine odaklanırken yerel scrollback ve sadelik de korunabiliyor
  • Özellikle shpool + ssh kombinasyonu ile birden fazla uzak oturumu doğrudan pencere yöneticisiyle yönetmek ve yerel özellikleri (bildirimler, kaydırma, başlıklar vb.) aynen kullanmak mümkün
  • Kusursuz olmasa da, yazarın ölçütlerine göre tmux’u tamamen değiştirebildi ve basit, bakımı kolay bir iş akışından memnun kaldı

tmux’un artıları ve eksileri

  • Oturum koruma (detach/attach), pencere yönetimi (sekmeler, split) gibi tmux’un sunduğu işlevler daha önce iş akışının merkezindeydi
  • Ancak doğru TERM ayarı olmadığında renk gösterim sorunları yaşanabiliyor ve terminal ile tmux arasındaki etkileşimi ayrıca düşünmek gerektiği için karmaşıklık artıyor
  • Scroll buffer kullanımı da tmux’a özgü ayrı bir yönteme alışmayı gerektiriyor; fareyle alan kopyalama da split ortamında rahatsız edici olabiliyordu
  • kitty graphics protocol gibi yeni terminal özellikleri için destek zayıf ve deneysel protokollerin desteklenmemesi gibi sorunlar da var
  • Escape code’ların tekrar yorumlanması ve oturum/pencere kavramlarının yeniden tanımlanması nedeniyle, çoklayıcıların terminal ekosisteminin gelişimini yavaşlattığı yönünde eleştiriler de bulunuyor

tmux’a alternatif yaklaşım arayışı

  • Oturum kalıcılığı:
    • Basitçe ctrl-z + fg, nohup, disown gibi yöntemler var, ancak tam bir ikame olmakta zorlanıyorlar
    • Yalnızca oturumu korumayı hedefleyen çeşitli araçlar (dtach, abduco, shpool) ortaya çıktı
      • fork() ve UNIX soketleri birleşimiyle daemon ile istemci arasında bağlantı kuruyorlar
      • tmux’tan farklı olarak sanal split olmadan yerel scrollback desteği sağlıyor, bazıları buffer geri yükleme özelliği de sunuyor
    • Deneyime göre, alternatif araçların çoğunda hatalar vardı ve nvim içinde detach kısayolunun çalışmaması gibi nedenlerle olgunluk düzeyi düşüktü
    • shpool, detach/attach komutları ve keymap özelleştirme açısından en olgun seçenekti
  • Pencere yönetimi:
    • Yerelde bölme ve yerleşim yönetimi pencere yöneticisiyle yapılıyor
    • Uzak (SSH) ortamda da ssh_config ile shpool birleştirilerek, birden fazla oturum ayrı pencerelerde bağımsız biçimde korunabiliyor
    • autossh ile birleştirildiğinde ağ yeniden bağlanmalarında da oturum korunuyor

Yeni iş akışı

  • Kişisel olarak pencere yönetimi için ghostty (dizüstü), sway+foot (kişisel PC) kullanıyor. Sunucular ise Proxmox tabanlı headless VM’ler ve SSH geliştirme ortamı her zaman açık
  • Birden fazla shpool oturumu, ssh kısayollarıyla otomatik bağlanacak şekilde ayarlanmış ve yerel pencere yöneticisinden bağımsız olarak kontrol ediliyor
    • ssh_config içinde her host için shpool oturumuna otomatik attach yapılandırılmış
    • Her terminalde IRC, dotfiles yönetimi, ayrı neovim ortamı gibi çoklu oturumlara ayrı ayrı bağlanmak mümkün
  • Yerel kaydırma, bildirimler, terminal başlığı gibi tmux’un kararsız destek verdiği işlevler artık daha doğal çalışıyor
  • Dezavantajlar da var: vim’e yeniden bağlanınca terminal durumunun toparlanması gecikiyor ve nvim kullanırken yeniden boyutlandırma sorunları görülüyor
    • Çok oyunculu kullanım desteklenmiyor (birden fazla istemcide aynı anda autossh çalışırsa oturum çakışabiliyor)
  • Buna rağmen kişisel ölçütlere göre tmux’un tamamen yerine geçti

Sonuç

  • Tam olarak aynı olmasa da, tmux’un karmaşıklığı ve sınırlamalarından uzaklaşıp daha basit ve esnek bir oturum yönetimi iş akışına geçmek mümkün
  • Kendi iş akışınıza göre shpool gibi alternatif araçları değerlendirmeye değer

Henüz yorum yok.

Henüz yorum yok.