it-swarm-ko.tech

tmux와 GNU 화면

질문 탐색 tmux에 대해 발견했습니다. (보통 GNU Screen)을 사용했습니다. 제 질문은 각각의 장단점입니다. 특히 찾을 수 없었습니다. tmux에 대해 많이.

196
Maciej Piechotka

그들의 웹 사이트 에서 :

  • Tmux와 GNU screen)의 차이점은 무엇입니까?

tmux는 화면보다 몇 가지 장점을 제공합니다.

  • 명확하게 정의 된 클라이언트-서버 모델 : 창은 여러 세션에 동시에 연결되어 여러 클라이언트 (터미널)에서 볼 수 있고 동일한 tmux 서버 내의 세션간에 자유롭게 이동할 수있는 독립된 엔티티입니다.
  • 대화식, 키 바인딩 또는 셸에서 사용되는지에 상관없이 동일한 구문을 사용하여 일관성 있고 잘 문서화 된 명령 인터페이스
  • 쉘에서 쉽게 스크립트 가능;
  • 다중 페이스트 버퍼;
  • vi 또는 emacs 키 레이아웃 선택;
  • 창 크기를 제한하는 옵션;
  • 특정 명령의 첫 번째 출력 라인을 표시 할 수있는 더 유용한 상태 라인 구문;
  • 보다 깨끗하고 현대적이며 쉽게 확장 가능한 BSD 라이센스 코드베이스.

화면에 tmux가 생략 된 기능이 몇 가지 있습니다.

  • 내장 직렬 및 텔넷 지원; 이것은 팽창이며 tmux에 추가되지 않을 것입니다.
  • 더 넓은 플랫폼 지원 (예 : IRIX 및 HP-UX) 및 홀수 터미널.
124
nisc

한 가지 차이점은 여러 터미널이 단일 세션에 연결될 때 두 개가 어떻게 작동하는지입니다.

화면을 사용하면 연결된 각 터미널의보기가 다른 터미널과 독립적입니다. tmux를 사용하면 연결된 모든 터미널에 동일한 내용이 표시됩니다.

단일 tmux 세션에 두 개의 터미널이 연결되어 있다고 가정하십시오. 입력하면 ^B 1을 다른 터미널로 전환하면 다른 터미널도 창 1로 전환됩니다.

단일 화면 세션에 두 개의 터미널이 연결되어 있고 다음을 입력 한 경우 ^A 1로 설정하면 다른 터미널에는 영향을 미치지 않습니다.

이것은 tmux 1.2에 대한 나의 경험을 바탕으로합니다. 1.3이 나오지만이 변경 사항에 대한 변경 로그에 아무것도 눈치 채지 못했습니다.

화면 동작을 좋아하고 tmux에서 원하는 경우 :

원래의 tmux 세션이 0 (기본값), tmux new-session -t 0) 동일한 창 세트에 연결된 새 독립 세션을 시작하여 자체보기를 가질 수 있습니다.

45
drench

tmux는 GNU 화면에 비해 상당히 새롭습니다. 장점/단점은 두 프로그램이 거의 동일한 문제를 해결하기 때문에 어려운 질문입니다. tmux는 BSD 라이센스이며 화면은 GNU GPL입니다. 이것은 일부 사람들에게 중요합니다.

화면은 현재 Linux에서 더 많이 나타납니다. 즉, 주어진 Linux 상자에서 tmux보다 더 많이 찾을 수 있습니다. 그러나 tmux는 기본 설치의 일부로 포함되어 있기 때문에 OpenBSD에서 더 많이 나타납니다.

사물의 상태는 그보다 조금 더 복잡하지만 두 프로그램 모두 같은 일을 할 수 있습니다. 두 화면 사이의 전환은 많은 화면 기능이 tmux로 전환 되었기 때문에 지나치게 복잡하지는 않지만 어느 한 쪽의 고급 사용자 인 경우 다른쪽으로 전환 할 때 약간의 좌절감을 느낄 수 있습니다.

모든 프로그램과 마찬가지로, 그것은 실제로 귀하의 요구에 따라 어느 것이 더 편한지에 달려 있습니다. 그들에게 시도하고 당신이 잘 연주하는 볼 수 있습니다.

Tmux에 대한 자세한 내용은 https://tmux.github.io/ 를 참조하십시오.

25
gabe.

화면에서 사용할 수있는 byobu 래퍼에 대해 언급했을뿐입니다. tmux에서 이와 같은 것을 사용할 수 있는지는 모르겠지만 byobu은 .screenrc를 몇 줄만 만들었습니다. byobu 및 스크린 샷에 대해이 빠른 기사 를 확인하십시오. byobu의 프로젝트 페이지 접는 공간 구분선 역할을하는 장식용 다중 패널 화면의 일본어 용어에서 유래 한 이름을 설명합니다. 또한 실행 만해도 화면 설정이 손상되지 않으므로 안전하게 사용해 볼 수 있습니다. byobu으로 세션을 시작한 후에는 screen를 사용하여 자유롭게 다시 연결할 수 있지만 byobu에서 수행 한 사용자 지정 내용을 풀 수는 없습니다 (초기 호출에만 사용하십시오). 그것의 두 가지 주요 장점은 다음과 같습니다.

  • 유용한 정보가 포함 된 몇 가지 상태 표시 줄로 화면을 시작합니다
  • 화면 기능에 더 쉽게 액세스 할 수있는 많은 키 바인딩 제공

키 바인딩 부분을 사용하지 않지만 상태 표시 줄이 유용하다는 것을 알았습니다.

또한 Screen Vs tmux 링크가 유용 할 수도 있습니다. 나는 그것의 대부분이 기존 답변에 이미 언급되어 있다고 생각합니다.

18
haridsv

내 사용의 가장 큰 차이점은 Gnu Screen에서는 프레임을 가로로만 분할 할 수 있지만 Tmux에서는 가로 및 세로로 분할 할 수 있다는 것입니다. 이것은 일종의 움직이는 목표이지만, 여기에서 수직 분할은 화면에 들어가고 있음 라고 말합니다.

그 외에는 일이 평평합니다.

17
Eli Frey

screen의 한 가지 큰 단점은 적극적으로 개발되지 않았다는 것입니다. bug pages 는 5 년 동안 할당되지 않은 200 개에 가까운 항목을 가지고 있습니다.

tmux에도 공개 된 문제가 있지만 훨씬 적으며보다 적극적으로 지원됩니다.

12
Harold

Drench는 흥미로운 점을 제기합니다. 동일한 세션에 두 번 연결하는 기본 동작은 tmux에서 다릅니다. 그러나 두 번 연결하고 해당 세션에서 창을 독립적으로 보려면 tmux를 시작하십시오.

tmux new-session -t <session name>

그러면 새 세션이 생성되고 기존 세션에서 창이 연결됩니다. 첫 번째 세션의 이름을 지정하지 않은 경우 'rename-session'을 사용하여 세션을 추가 할 수 있습니다.

12
Rikard Anglerud

tmux는 더 새로운 기능입니다.

올바른 사용법은 올바른 설정에 달려 있습니다.

편집을 위해 vi (vim)를 사용하고 (Ruby on Rails) 제대로 작동하기위한 몇 가지 설정 사항이 있습니다.

유용한 설정이 많은 ~/.tmux.conf 파일은 다음과 같습니다.

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

나는 하나의 차이점을 추가하는 자유를 취할 것입니다.

tmux는 ncurses를 기반으로하며 screen은 추가 요소를 그리지 않습니다. 누군가가 스크롤을 지원하는 터미널 에뮬레이터를 사용하면 tmux가 아닌 화면으로 스크롤됩니다 (적어도 기본 구성에서는). 검색 및 유사한 기능에도 동일하게 적용됩니다.

8
Maciej Piechotka

Utf-8 및 256 색상을 지원하는 화면을 얻는 데 문제가 있었지만 tmux가 즉시 작동했습니다.

6
zvolkov