it-swarm-tr.com

tmux vs. GNU Ekran

Sorulara göz atma Ben tmux hakkında buldum (Normalde GNU Ekran) kullandım. Sorum her birinin artıları ve eksileri nelerdir. Özellikle bulamadım tmux hakkında çok şey.

196
Maciej Piechotka

web siteleri :

  • Tmux'un GNU ekranından farkı nedir? Başka ne sunuyor?

tmux ekrana göre birçok avantaj sunar:

  • açıkça tanımlanmış bir istemci-sunucu modeli: pencereler, aynı anda birden çok oturuma eklenebilen ve birden çok istemciden (terminal) görüntülenebilen ve aynı tmux sunucusundaki oturumlar arasında serbestçe hareket edebilen bağımsız varlıklardır;
  • etkileşimli, bir anahtar bağlama veya Kabuk'tan aynı sözdizimine sahip tutarlı, iyi belgelenmiş bir komut arayüzü;
  • shell'den kolayca yazılabilir;
  • çoklu macun tamponları;
  • vi veya emacs tuş düzenlerinin seçimi;
  • pencere boyutunu sınırlama seçeneği;
  • belirli bir komutun ilk çıktı satırını görüntüleme özelliğine sahip daha kullanışlı bir durum satırı sözdizimi;
  • daha temiz, modern, kolayca genişletilebilir, BSD lisanslı bir kod tabanı.

Hala tmux omits içeren birkaç özellik ekranı vardır:

  • yerleşik seri ve telnet desteği; bu şişkinliktir ve tmux'a eklenmesi olası değildir;
  • daha geniş platform desteği, örneğin IRIX ve HP-UX ve tek terminaller için.
124
nisc

Bir fark, tek bir oturuma birden fazla terminal bağlandığında ikisinin nasıl hareket ettiğidir.

Ekranda, bağlı her terminalin görünümü diğerlerinden bağımsızdır. Tmux ile tüm bağlı terminaller aynı şeyi görür.

Tek bir tmux oturumuna bağlı iki terminaliniz olduğunu varsayalım. Yazarsanız ^B 1 bir terminale, diğer terminal de pencere 1'e geçer.

Tek ekran oturumuna bağlı iki terminaliniz olduğunda ve ^A 1 içine, diğer terminal üzerinde hiçbir etkisi yoktur.

Bu benim tmux 1.2 ile deneyimlerime dayanmaktadır; 1.3 çıktı görüyorum ama bu davranış değişikliği hakkında changelog hiçbir şey fark etmedi.

Ekran davranışını beğendiyseniz ve tmux'da istiyorsanız:

Orijinal tmux oturumunuz 0 (varsayılan), daha sonra tmux new-session -t 0) Aynı pencere kümesine bağlı yeni bir bağımsız oturum başlatmak için oturum açılabilir.

45
drench

tmux GNU ekranına kıyasla oldukça yenidir. Her iki program da yaklaşık olarak aynı sorunu çözdüğü için Avantajlar/Dezavantajlar zor bir sorudur. Ekran GNU GPL iken tmux BSD lisanslıdır. Bu bazı insanlar için önemlidir.

ekran şu anda daha fazla temsil edilmektedir (Linux'ta), yani, belirli bir linux kutusunda tmux'dan daha fazla bulmanız daha olasıdır. Bununla birlikte, tmux, temel kurulumun bir parçası olarak içerildiği için OpenBSD'de daha fazla temsil edilmektedir.

Her iki program da aynı şeyi yapmanıza izin verir, ancak olayların durumu bundan biraz daha karmaşıktır. İkisi arasında geçiş yapmak aşırı derecede karmaşık değildir, çünkü ekran işlevlerinin çoğu da tmux'a dönüştü, ancak ikisinden birinin güç kullanıcısıysanız, diğerine geçtiğinizde muhtemelen bazı hayal kırıklıkları bulacaksınız.

Herhangi bir programda olduğu gibi, bu gerçekten sizin ihtiyaçlarınıza ve daha rahat olduğunuza bağlıdır. İkisine de bir şans verin ve hangisiyle güzel oynadığınızı görün.

Tmux hakkında daha fazla bilgi için bkz. https://tmux.github.io/

25
gabe.

Ben sadece kutunun dışında çok daha iyi yapar ekran için kullanılabilir byobu sarıcı bahsetmek düşündüm. Böyle bir şey tmux için kullanılabilir olup olmadığını bilmiyorum, ama byobu .screenrc sadece bir avuç satır yaptı. Göz atın hızlı makale byobu ve ekran görüntüleri hakkında. byobu için proje sayfası , katlanır oda bölücüler olarak hizmet veren dekoratif, çok panelli ekranlar için Japonca terimden gelen adı açıklar. Ayrıca, sadece çalıştırmak ekran ayarlarınıza zarar vermez, böylece güvenle deneyebilirsiniz. Oturumu byobu ile başlattıktan sonra, screen kullanarak serbestçe yeniden bağlanabilir ve yine de byobu tarafından yapılan özelleştirmeleri kaybedemezsiniz (bu yüzden yalnızca başlangıç ​​çağrısı için kullanın). Bunun iki ana avantajı:

  • Ekranı yararlı bilgiler içeren birkaç durum çubuğuyla başlatır
  • Ekranın işlevselliğine daha kolay erişmek için birçok tuş bağlantısı sağlar

Keybindings bölümünü kullanmıyorum, ancak durum çubuklarını kesinlikle yararlı buluyorum.

Ayrıca Screen Vs tmux bağlantısını yararlı bulabilirsiniz. Bence bunların çoğu zaten mevcut cevaplarla belirtilmiş.

18
haridsv

Kullanımımdaki en büyük fark, Gnu Ekranında sadece yatay olarak bölmeler yapabileceğiniz, Tmux'da ise hem yatay hem de dikey olarak bölebileceğiniz oldu. Bu biraz hareketli bir hedef olsa da, burada söylediğim gibi dikey bölme ekranın içine giriyor .

Bunun dışında, işler düzdür.

17
Eli Frey

screen için büyük bir fikir, aktif olarak geliştirilmemesidir. hata sayfaları , 5 yıldan daha uzun bir süre önce 200'e yakın atanmamış öğeye sahiptir.

tmux'nin bazı açık sorunları da vardır, ancak çok daha azdır ve daha aktif olarak desteklenir.

12
Harold

Drench ilginç bir noktaya işaret ediyor - aynı oturuma iki kez bağlanma varsayılan davranışı tmux'da farklı. Ancak, iki kez eklemek ve o oturumdaki pencerelerin bağımsız bir görünümünü elde etmek istiyorsanız - ile tmux'u başlatın.

tmux new-session -t <session name>

Bu, sizin için yeni bir oturum oluşturur ve mevcut oturumdaki pencereleri ekler. İlk oturumunuza isim vermediyseniz, 'rename-session' ile bir oturum ekleyebilirsiniz.

12
Rikard Anglerud

tmux daha yeni ve daha birçok özellik.

İyi kullanımın iyi kuruluma bağlı olduğunu buldum.

Düzenlemek için vi (vim) kullanıyorum (Ruby on Rails) ve bunun işe yaramasını sağlayacak birkaç kurulum var.

İşte ~/.tmux.conf dosyam birçok yararlı ayar:

bind r source-file ~/.tmux.conf \; display "Reloaded!"  # Reload with ctrl-r
set -g prefix C-a         # prefix from ctrl-b to ctrl-a
unbind C-b                # allow ctrl-b for other things
set -sg escape-time 1     # quicker responses
bind C-a send-prefix      # Pass on ctrl-a for other apps
set -g base-index 1        # Numbering of windows
setw -g pane-base-index 1  # Numbering of Panes
bind \ split-window -h    # Split panes horizontal
bind - split-window -v    # Split panes vertically
bind h select-pane -L     # Switch to Pane Left
bind j select-pane -D     # Switch to Pane Down
bind k select-pane -U     # Switch to Pane Up
bind l select-pane -R     # Switch to Pane Right
bind -r C-h select-window -t :-  # Quick Pane Selection
bind -r C-l select-window -t :+  # Quick Pane Selection
bind -r H resize-pane -L 5       # Switch to Pane Left
bind -r J resize-pane -D 5       # Switch to Pane Down
bind -r K resize-pane -U 5       # Switch to Pane Up
bind -r L resize-pane -R 5       # Switch to Pane Right
setw -g mode-mouse off           # Mouse Off
set -g mouse-select-pane off     # Mouse Off  
set -g mouse-resize-pane off     # Mouse Off
set -g mouse-select-window off   # Mouse Off
setw -g monitor-activity on      # Activity Alerts
set -g visual-activity on
set -g status-fg white           # Status line Colors
set -g status-bg black
setw -g window-status-fg cyan    # Window list color
setw -g window-status-bg default
setw -g window-status-attr dim
setw -g window-status-current-fg white     # Active Window Color
setw -g window-status-current-bg red
setw -g window-status-current-attr bright
set -g pane-border-fg green      # Pane colors
set -g pane-border-bg black 
set -g pane-active-border-fg white 
set -g pane-active-border-bg yellow
set -g message-fg white          # Command/Message Line.
set -g message-bg black
set -g message-attr bright
set -g status-left-length 40     # Status Line, left side
set -g status-left "#[fg=white]Session: #S #[fg=yellow]#I #[fg=cyan]#P"
set -g status-utf8 on            # Status Line, right side
set -g status-right "-------"
set -g status-interval 60        # frequency of status line updates
set -g status-justify centre     # center window list
setw -g mode-keys vi             # vi keys to move 
unbind v                         # Open panes in same directory as tmux-panes script
unbind n
bind v send-keys " ~/tmux-panes -h" C-m
bind n send-keys " ~/tmux-panes -v" C-m
unbind Up                        # Maximizing and Minimizing...
bind Up new-window -d -n tmp \; swap-pane -s tmp.1 \; select-window -t tmp
unbind Down
bind Down last-window \; swap-pane -s tmp.1 \; kill-window -t tmp
bind P pipe-pane -o "cat >>~/#W.log" \; display "Toggled logging to ~/#W.log"
8
Michael Durrant

Bir fark ekleme özgürlüğünü alacağım:

tmux ncurses tabanlıdır ve ekran ek elemanlar çizmez. Birisi kaydırmayı destekleyen terminal öykünücüsü kullanırsa, ekranla kaydırmayı sağlar, ancak tmux ile değil (en azından varsayılan yapılandırmada). Aynı şey arama ve benzer özellikler için de geçerlidir.

8
Maciej Piechotka

Utf-8 ve 256 renkleri desteklemek için ekran almakta sorun yaşıyordum ama tmux kutudan çıktı.

6
zvolkov