Linux'ta tmux Nasıl Kullanılır (ve Neden Ekrandan Daha İyidir)

Yayınlanan: 2022-01-29
Arka planda kabuk oturumları olan bir dizüstü bilgisayarda stilize edilmiş bir Linux terminali.
fatmawati achmad zaenuri/Shutterstock.com

Linux tmux komutu, screen gibi bir terminal çoklayıcıdır. Savunucuları çoktur ve vokaldir, bu yüzden ikisini karşılaştırmaya karar verdik. tmux gerçekten daha mı iyi, yoksa sadece bildiklerini tercih etme durumu mu?

tmux vs ekran

Hem tmux hem de GNU screen komutları, terminal çoklayıcılardır. Tek bir terminal penceresinde birden fazla pencereye sahip olmanıza ve bunlar arasında ileri ve geri atlamanıza izin verir. Bir pencere, her biri size bağımsız bir komut satırı sağlayan bölmelere ayrılabilir.

Yeni Başlayanlar İçin 10 Temel Linux Komutu
İLGİLİ Yeni Başlayanlar İçin 10 Temel Linux Komutu

Ayrıca bir oturumu ayırabilirsiniz ve arka planda çalışan başsız bir varlığa dönüşür; onu başlatan terminal penceresini bile kapatabilirsiniz. Hazır olduğunuzda, yeni bir terminal penceresi açabilir ve halen çalışmakta olan oturumu yeniden ekleyebilirsiniz. Bunu bir SSH bağlantısı üzerinden de yapabilirsiniz.

Bir bilgisayardaki oturumu ayırabilir, eve gidebilir ve uzaktaki bilgisayarda oturum açabilirsiniz. Yeniden bağlandığınızda, arka plan oturumunu yeniden bağlayabilir ve tekrar etkileşimli olarak kullanabilirsiniz.

Ekran Komutu nedir?

screen komutu aynı zamanda bir terminal çoklayıcıdır ve seçeneklerle doludur. Bununla yapabileceğiniz her şey hakkında bilgi için ayrıntılı makalemize göz atın.

Reklamcılık

Bu sefer tmux üzerinde yoğunlaşacağız. Devam ederken, screen aynı özelliği veya işlevi nasıl işlediğinden bahsedeceğiz.

screen konusunda bizi rahatsız eden tek bir şey vardı. Bunu ulaştığımızda ele alacağız ve tmux daha iyi olup olmadığına bakacağız.

İLGİLİ: Linux ekran Komutu Nasıl Kullanılır

tmux'u yükleme

screen , popüler Linux dağıtımlarında genellikle varsayılan olarak kuruluyken, tmux kurulu değildir. Ubuntu'ya tmux yüklemek için aşağıdakini yazın:

 sudo apt-get install tmux 

Manjaro'da pacman kullanabilirsiniz:

 sudo pacman -Sy tmux 

Fedora 31'de tmux zaten kuruludur.

Bir tmux Oturumu Başlatma

tmux başlatmak için sadece yazın ve Enter'a basın:

 tmux 

Bir tmux oturumundayken terminal penceresi bir durum çubuğu gösterecektir.

Durum çubuğunun sağ tarafında ana bilgisayar adı, saat ve tarih gösterilir. Sol taraf, aşağıdaki oturumla ilgili bilgileri gösterir:

  • [0]: Bu, oturum adıdır. Varsayılan olarak, sıfırdan başlayarak numaralandırılırlar. Aşağıdaki oturumlara nasıl anlamlı isimler verebileceğinizi ele alıyoruz.
  • 0:bash*: 0, bunun bu oturumdaki ilk pencere olduğunu gösterir. Bu oturumda çalışan tek işlem bash . Bir program çalıştırırsanız, adı burada görünecektir. Yıldız işareti (*), baktığınız pencerenin bu olduğu anlamına gelir. Bir tmux oturumunda her yeni pencere oluşturduğunuzda, pencere numarası ve içinde çalışan programın adı durum çubuğuna eklenir.

screen komutu varsayılan olarak size bir durum çubuğu vermez. Kör uçmanız ve neler olup bittiğini anlamak için zekanıza güvenmeniz gerekiyor, bu da biraz pratik gerektiriyor. (Kendi durum çubuğunuzu yapılandırmadığınız sürece.)

Artı tarafta, bir dizi terminal penceresi gayrimenkulünü kaybetmeyeceksiniz. Elbette, bir terminal çoklayıcı kullanmayı değerli kılmak için normalde terminal pencerenizi genişletirsiniz. Bu durumda, durum çubuğu için bir satırın kaybolması pek sorun olmaz. Bilgileri görebilmeniz için terminal pencerelerinin resimlerini varsayılan boyutta burada bıraktık.

Reklamcılık

Komutlar tmux tuş vuruşları kullanılarak verilir ve bunun iki bölümü vardır. İlk olarak, tmux dikkatini çekmek için Ctrl+B'ye basın. Ardından, tmux bir komut göndermek için hızlı bir şekilde sonraki tuşa basın. Komutlar, harflere, sayılara, noktalama işaretlerine veya ok tuşlarına basılarak verilir.

Dikkatini çekmek için Ctrl+A tuşlarına basmanız dışında screen 'de aynıdır.

Pencereyi kapatmak için Ctrl+B'ye basın ve ardından hızla X'e basın. Durum çubuğu sarıya döner. Ardından, pencereyi kapatmak istediğinizi onaylamanız istenir.

Pencereyi kapatmak için Y'ye veya fikrinizi değiştirirseniz N'ye basın. Daha sonra Enter tuşuna basmanız gerekmez; Seçiminizi kaydetmek için Y veya H yeterlidir.

Y'ye basarsanız, pencere kapanır. Bu oturumdaki tek pencere bu olduğu için oturum sonlandırılır.

tmux oturumu kapatılır ve tmux'u başlattığınız komut satırına tmux . Terminal penceresinde “[çıkış]” ifadesini göreceksiniz.

Reklamcılık

Bu, bariz olanı belirtiyor gibi görünebilir, ancak bu, oturumu kapattığınızın ve ayrı ve çalışır durumda bırakmadığınızın bir onayıdır. Aşağıda ayırma oturumlarını tartışacağız.

Adlandırılmış bir tmux Oturumu Başlatma

Düzenli olarak birden fazla tmux oturumu başlatırsanız, her birine anlamlı bir ad vermenin işlevselliğini çabucak takdir edeceksiniz. Oturumları screen içinde de adlandırabilirsiniz, ancak oturum pencerelerinde hiçbir yerde görüntülenmezler.

tmux bir oturum adıyla başlatmak için new (yeni oturum) komutunu ve -s (oturum adı) seçeneğini kullanın. Oturumumuz “geek-1” olarak adlandırılacak, bu yüzden aşağıdakileri yazıyoruz:

 tmux yeni -s geek-1 

tmux oturumu yüklendiğinde, en soldaki durum çubuğunda ilk giriş olarak “geek-1” görüntülenir.

Durum çubuğunun sol tarafında "geek-1" adında bir tmux oturumu.

Daha Fazla Windows Ekleme

Geçerli oturumda yeni bir pencere oluşturmak için Ctrl+B'ye ve ardından C'ye basın. Mevcut oturumda boş bir terminal penceresi göreceksiniz. Bu yeni pencerede çalışan bir şeyimiz olacak, hadi -w (takip et) seçeneğiyle dmesg komutunu başlatalım:

 mesaj -w 

Şimdi oturumda iki penceremiz var; biri top çalışıyor, diğeri dmesg . Yine de her seferinde yalnızca birini görebiliriz (bununla ilgili birazdan daha fazlası).

Reklamcılık

Durum çubuğunun sol tarafına bir göz atın. Hâlâ “geek-1” tmux oturumundayız. Sıfır penceresinde top çalışıyor ve birinci pencerede dmesg çalışıyor. dmesg sonraki yıldız işareti (*) bize hangi pencerenin görünür olduğunu söyler.

Pencereler arasında geçiş yapmak için Ctrl+B tuşlarına ve ardından aşağıdaki tuşlardan birine basın:

  • N : Sonraki pencereyi görüntüleyin.
  • P: Önceki pencereyi görüntüleyin.
  • 0 ila 9: 0 ila 9 numaralı bir pencere görüntüleyin.

Ayrıca listeden bir pencere seçebilirsiniz. Ctrl+B'ye ve ardından W'ye basarsanız, bir pencere listesi görünür.

Kehribar rengi vurgu çubuğunu taşımak için Yukarı veya Aşağı Oklara, Ana Sayfaya veya Bitir'e basın. Ekranın alt bölümü, vurgulanan penceredeki içeriğin bir önizlemesini gösterir.

Vurgulanan pencereye gitmek için Enter'a veya geçiş yapmadan pencere listesinden çıkmak için Esc'ye basın.

Oturumları Ayırmak ve Eklemek

Ctrl+B'ye ve ardından D'ye basarsanız, oturumu ayırırsınız. Arka planda çalışmaya devam edecek, ancak onu göremeyecek veya onunla etkileşime geçemeyeceksiniz.

Reklamcılık

Oturumda top başladık, bu nedenle göstermek için devam eden bir sürecimiz var. Ardından Ctrl+B'ye ve ardından D'ye basıyoruz. Oturum kayboluyor ve bir arka plan oturumu oluyor.

Orijinal terminal penceresine dönüyoruz. tmux bize oturumun ayrıldığını söyleyen bir mesaj var. Aynı zamanda seansa verdiğimiz ismi de hatırlatıyor. Bu kullanışlıdır, çünkü bir arka plan oturumuna eklemek ve ardından onu etkileşimli bir oturuma geri yüklemek için kullandığımız şey budur.

Ayrılmış bir oturum eklemek için, -t (hedef oturum) seçeneğiyle kendi kendini açıklayan attach-session komutunu kullanacağız. Ayrıca hatırlamak istediğimiz oturumun adını da sağlayacağız.

Aşağıdakileri yazıyoruz:

 tmux ek oturumu -t geek-1 

Oturumumuz geri döner ve tekrar görünür, etkileşimli bir oturum olur.

Oturumu ayırmadan önce başlattığınız uzun süreli veya sürekli işlemler, oturumu eklediğinizde (bitirmedikçe) arka planda çalışmaya devam eder.

screen bunu yapabilir, ancak sezgisel olarak değil.

Birden Fazla Oturumu Yönetme

Başka bir terminal penceresi açalım ve “geek-2” adında yeni bir tmux oturumu başlatalım:

 tmux yeni -s geek-2 

Bu oturumda dmesg başlatacağız:

 mesaj -w 

Reklamcılık

Şimdi orijinal “geek-1” tmux oturumumuz ve “geek-2” adında yeni bir oturumumuz var.

Durum çubuğu bize bu oturumun “geek-2” olarak adlandırıldığını ve dmesg çalıştıran bir penceresi olduğunu gösteriyor.

Ctrl+B'ye ve ardından D'ye basarsak, o oturumu ayırırız.

Bir terminal widnow'da müstakil tmux oturumu geek-2.

“Geek-1” tmux oturumuna geri dönersek, tmux oturumlarının bir listesini görmek için Ctrl+B'ye ve ardından S'ye basarız.

Açık olmak gerekirse, bu bir oturum listesidir. Daha önce gördüğümüz benzer ekran, tek bir oturumdaki pencerelerin bir listesiydi.

Yukarı ve Aşağı Oklara, Ana Sayfaya ve Bitir'e basarak kehribar rengi vurgu çubuğunu hareket ettirebilirsiniz. Alt kısım, vurgulanan oturumdaki içeriğin bir önizlemesini görüntüler.

Reklamcılık

Sağ Ok'a basarsanız, vurgulanan oturumun pencereleri görüntülenir.

Vurgulanan oturuma veya pencereye gitmek için Enter'a veya oturumları değiştirmeden oturum listesinden çıkmak için Esc'ye basın. Yeni bir oturum seçerseniz, mevcut oturumunuz ayrılır ve seçtiğiniz oturum eklenir.

Bunu yapmadan önce “geek-2” oturumunu ayırdık. Ancak bunu, hala orijinal terminal pencerelerine bağlı olan oturumlarla yapabilirsiniz. Bunu yaptığınızda, tüm ekran değişiklikleri her iki tmux oturumunda aynı anda görünecektir.

screen komutu da benzer bir dizi komut aracılığıyla bunu yapabilir.

Pencere Bölmeleri ile Çalışma

Ctrl+B'ye basar ve ardından çift tırnak işareti ("") kullanırsanız, pencereyi yatay olarak iki bölmeye bölersiniz.

Bu yalnızca geçerli pencereyi etkiler; oturumdaki diğerleri değiştirilmeyecek. Bu oturumdaki pencereleri listelemek için üst bölmedeki tmux ls komutunu kullandık. İki tane var ve durum satırı bize birinci pencerede olduğumuzu söylüyor. Ctrl+B ve ardından 0 (sıfır) tuşlarına basarak sıfır penceresine geçersek, bıraktığımız gibi olduğunu görürüz.

Reklamcılık

Bunlar, bir pencerede iki görünüm değil, iki bağımsız komut satırıdır; onlar ayrı ve ayrı kabuklardır. Bunu her bölmede farklı bir komut çalıştırarak gösterebiliriz.

Aşağıdakileri yazıyoruz:

uname -a

ls -hl

Bir bölmeden diğerine geçmek için Ctrl+B'ye ve ardından Yukarı, Aşağı, Sol veya Sağ Ok'a basın.

Bir terminal dulundaki bir tmux oturumunda iki bölmede iki farklı komut.

Ctrl+B'ye ve ardından yüzde işaretine ( %) basarsanız, geçerli bölmeyi dikey olarak böler.

Ctrl+B'ye ve ardından tmux her bölmenin numarasını kısaca yanıp sönmesini sağlamak için Q'ya basın.

Bu numaralar, tmux gelen istemlerde ve mesajlarda kullanılır. Geçerli bölmeyi kapatmak için Ctrl+B ve ardından X tuşlarına basın. Durum çubuğu sarıya döner ve bu bölme numarasını kapatmak istediğinizi onaylamanız istenir. Bölmeyi kaldırmak için Y'ye veya her şeyi olduğu gibi bırakmak için N'ye basın.

Y'ye basarsanız, bölme kaldırılır.

Reklamcılık

screen komutunun da bölmeleri vardır, ancak yine de, kullanımları daha az sezgiseldir. screen ilgili bizi rahatsız eden şey, bir oturumu bölmelerle ayırırsanız, o oturumu yeniden bağladığınızda kaybolurlar. Bu çok çabuk eskiyor.

A Ctrl+B Hile Sayfası

Aşağıda tmux kullanabileceğiniz farklı komutların bir kopya sayfasını ekledik.

Oturum Komutları

  • S: Oturumları listeleyin.
  • $: Geçerli oturumu yeniden adlandırın.
  • D: Geçerli oturumu ayırın.
  • Ctrl+B ve ardından ?: Yardım sayfasını tmux görüntüleyin.

Pencere Komutları

  • C: Yeni bir pencere oluşturun.
  • ,: Geçerli pencereyi yeniden adlandırın.
  • W: Pencereleri listeleyin.
  • N: Bir sonraki pencereye git.
  • P: Bir önceki pencereye git.
  • 0 ila 9: Belirtilen pencere numarasına gidin.

Bölme Komutları

  • %: Yatay bir bölme oluşturun.
  • “: Dikey bir bölme oluşturun.
  • H veya Sol Ok: Soldaki bölmeye gidin.
  • I veya Sağ Ok: Sağdaki bölmeye gidin.
  • J veya Aşağı Ok: Aşağıdaki bölmeye gidin.
  • K veya Yukarı Ok: Yukarıdaki bölmeye gidin.
  • S : Panel numaralarını kısaca gösterin.
  • O: Sırayla bölmeler arasında hareket edin. Hepsini dolaşana kadar her basış sizi bir sonrakine götürür.
  • }: Geçerli bölmenin konumunu bir sonrakiyle değiştirin.
  • {: Geçerli bölmenin konumunu öncekiyle değiştirin.
  • X: Geçerli bölmeyi kapatın.

Nasıl Karşılaştırıyorlar

İşlevsellik açısından, screen ve tmux benzer şekilde çalışır ve aynı ana özellikleri sunar. Belirgin olarak farklı olan bu özelliklere erişme şeklinizdir. tmux , çeşitli işlevlere ulaşmanın daha kolay ve rahat yollarını sunar. Ancak, tek fark bu değil.

Oturumları ve pencereleri tmux yeniden adlandırma yeteneği düzgün ve bir oturumu yeniden eklediğinizde bölmeleri tutması bir oyun değiştirici.

screen , bir oturumu ayırdığınızda ve yeniden eklediğinizde bölmeleri tamamen kaybeder. Bu, ilk etapta ayrılmaktan kaçınmanıza neden olacak kadar sinir bozucu.

İnanılmaz derecede esnek komut dosyası oluşturma yetenekleri de dahil olmak üzere tmux için çok daha fazlası var. Bunu kontrol etmeyi kendine borçlusun.

İLGİLİ: Geliştiriciler ve Meraklılar için En İyi Linux Dizüstü Bilgisayarlar