tmux에 대해 찾은 질문을 탐색합니다 (보통 GNU 화면을 사용했습니다). 내 질문은 그들 각각의 장단점이 무엇인가입니다. 특히 나는 tmux에 대해 많이 찾을 수 없었습니다.
tmux에 대해 찾은 질문을 탐색합니다 (보통 GNU 화면을 사용했습니다). 내 질문은 그들 각각의 장단점이 무엇인가입니다. 특히 나는 tmux에 대해 많이 찾을 수 없었습니다.
답변:
에서 자신의 웹 사이트 :
- tmux와 GNU 화면의 차이점은 무엇입니까? 다른 무엇을 제공합니까?
tmux는 화면보다 몇 가지 장점을 제공합니다.
- 명확하게 정의 된 클라이언트-서버 모델 : 창은 여러 세션에 동시에 연결되어 여러 클라이언트 (터미널)에서 볼 수 있고 동일한 tmux 서버 내의 세션간에 자유롭게 이동할 수있는 독립적 인 엔티티입니다.
- 대화식, 키 바인딩 또는 셸에서 사용되는지에 상관없이 동일한 구문을 사용하여 일관성 있고 잘 문서화 된 명령 인터페이스
- 쉘에서 쉽게 스크립트 가능;
- 다중 페이스트 버퍼;
- vi 또는 emacs 키 레이아웃 선택;
- 창 크기를 제한하는 옵션;
- 특정 명령의 첫 번째 출력 라인을 표시 할 수있는보다 유용한 상태 라인 구문;
- 보다 깨끗하고 현대적이며 쉽게 확장 가능한 BSD 라이센스 코드베이스.
화면에 tmux가 생략 된 기능이 몇 가지 있습니다.
- 내장 직렬 및 텔넷 지원; 이것은 팽창이며 tmux에 추가되지 않을 것입니다.
- 더 넓은 플랫폼 지원 (예 : IRIX 및 HP-UX) 및 홀수 터미널.
<C-Left>in vim에서 바보 버그를 해결해야합니다 tmux.
한 가지 차이점은 여러 터미널이 단일 세션에 연결될 때 두 개가 어떻게 작동하는지입니다.
화면을 사용하면 연결된 각 터미널의보기가 다른 터미널과 독립적입니다. tmux를 사용하면 연결된 모든 터미널에 동일한 내용이 표시됩니다.
단일 tmux 세션에 두 개의 터미널이 연결되어 있다고 가정하십시오. ^B한 터미널에 1을 입력 하면 다른 터미널도 창 1로 전환됩니다.
단일 화면 세션에 두 개의 터미널이 연결되어 있고 하나에 ^A1을 입력 하면 다른 터미널에는 영향을 미치지 않습니다.
이것은 tmux 1.2에 대한 나의 경험을 바탕으로합니다. 1.3이 나오지만이 변경 사항에 대한 변경 로그에 아무것도 눈치 채지 못했습니다.
원래의 tmux 세션이 호출 0되면 (기본값) tmux new-session -t 0동일한 창 세트에 연결된 새 독립 세션을 시작하여 자체보기를 가질 수 있습니다.
tmux new -t 0.
tmux는 GNU 화면에 비해 상당히 새롭습니다. 장점 / 단점은 두 프로그램이 거의 동일한 문제를 해결하기 때문에 어려운 질문입니다. tmux는 BSD 라이센스이며 screen은 GNU GPL입니다. 이것은 일부 사람들에게 중요합니다.
화면은 현재 Linux에서 더 많이 나타납니다. 즉, 주어진 Linux 상자에서 tmux보다 더 많이 찾을 수 있습니다. 그러나 tmux는 기본 설치의 일부로 포함되어 있기 때문에 OpenBSD에서 더 많이 나타납니다.
사물의 상태는 그것보다 조금 더 복잡하지만 두 프로그램 모두 같은 일을 할 수 있습니다. 두 화면 사이의 전환은 많은 화면 기능이 tmux로 전환 되었기 때문에 지나치게 복잡하지는 않지만 어느 한 쪽의 고급 사용자 인 경우 다른쪽으로 전환 할 때 약간의 좌절감을 느낄 수 있습니다.
다른 프로그램과 마찬가지로, 그것은 실제로 당신의 필요와 당신이 더 편한 것에 달려 있습니다. 그들에게 시도하고 당신이 잘 연주하는 것을 참조하십시오.
tmux에 대한 자세한 내용은 https://tmux.github.io/를 참조 하십시오.
내 사용의 가장 큰 차이점은 Gnu Screen에서는 프레임을 가로로만 분할 할 수 있지만 Tmux에서는 가로 및 세로로 분할 할 수 있다는 것입니다. 수직 분할이 화면에 들어가고 있다고 말하지만 이것은 일종의 움직이는 목표 입니다.
그 외에는 일이 평평합니다.
나는 byobu스크린에서 사용할 수 있는 래퍼 에 대해 언급 할 것이라고 생각 했습니다. tmux에서 이와 같은 것을 사용할 수 있는지 모르겠지만 .screenrc를 byobu몇 줄로 만들었습니다. byobu 및 스크린 샷에 대한 이 빠른 기사를 확인하십시오 . byobu의 프로젝트 페이지 에는 접이식 룸 디바이더 역할을하는 장식용 다중 패널 스크린에 대한 일본어 용어에서 유래 한 이름이 설명되어 있습니다. 또한 실행 만해도 화면 설정이 손상되지 않으므로 안전하게 사용해 볼 수 있습니다. 세션을 시작한 후에는 세션을 byobu사용하여 자유롭게 다시 연결할 수 있지만 screen수행 한 사용자 지정 내용을 풀 수는 없습니다 byobu(초기 호출에만 사용하십시오). 그것의 두 가지 주요 장점은 다음과 같습니다.
키 바인딩 부분을 사용하지 않지만 상태 표시 줄이 유용하다는 것을 분명히 알았습니다.
또한 Screen Vs tmux 링크가 유용하다는 것을 알 수 있습니다 . 나는 그것의 대부분이 기존 답변에 이미 언급되어 있다고 생각합니다.
byobu했지만 기존 화면 설정을 엉망으로 만들지 않기 때문에 명령을 실행하고 메뉴를 찾는 것만 큼 간단합니다. 그리고 내 답변을 커뮤니티 위키로 만들었으므로 자유롭게 편집하십시오.
Drench는 흥미로운 점을 제기합니다. 동일한 세션에 두 번 연결하는 기본 동작은 tmux에서 다릅니다. 그러나 두 번 연결하고 해당 세션에서 창을 독립적으로 보려면 tmux를 시작하십시오.
tmux new-session -t <session name>
그러면 새 세션이 생성되고 기존 세션에서 창을 연결합니다. 첫 번째 세션의 이름을 지정하지 않은 경우 'rename-session'을 사용하여 세션을 추가 할 수 있습니다.
tmux는 더 새로운 기능입니다.
올바른 사용법은 올바른 설정에 달려 있습니다.
나는 vi (vim)을 편집 (루비 온 레일)에 사용하고 잘 작동하도록 설정하는 것이 몇 가지 있습니다.
유용한 설정이 많은 ~ / .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"
나는 하나의 차이점을 추가하는 자유를 취할 것입니다.
tmux는 ncurses를 기반으로하며 화면은 추가 요소를 그리지 않습니다. 누군가가 스크롤을 지원하는 터미널 에뮬레이터를 사용하면 tmux가 아닌 화면으로 스크롤됩니다 (적어도 기본 구성에서는). 검색 및 유사한 기능에도 동일하게 적용됩니다.