Byobu vs. GNU Screen vs. tmux — 기술의 유용성과 이전 가능성 [닫기]


95

지금까지 Konsole 을 사용 하여 여러 셸 세션을 관리했지만 Byobu , GNU Screentmux 는 시도하지 않았 으며 여러 셸을 더 잘 지원합니다. 이들은 모두 현재 세션을 분리하고 나중에 이전 세션에 다시 연결할 수 있도록하는 하나의 주요 기능을 공유합니다.

배울 도구를 선택하는 데 도움이되도록 다음과 같은 점에서 어떻게 다른가?

  1. 특징 (분명히)
  2. 프로젝트 성숙도. 너무 많이 변하는 도구를 배우고 싶지 않습니다. 향상된 기능은 환영하지만 기능이 사라지는 것과 같은 놀라움은 마음에 들지 않습니다.
  3. 학습 곡선
  4. 다른 플랫폼에서의 가용성. 도구를 배우면 FreeBSD 서버, SuSE 데스크탑 또는 Ubuntu에서 도구를 사용할 수 있기를 원합니다.
  5. 다른 대화식 쉘 프로그램과의 호환성 나는 여전히 사용할 수 vimemacs -nw(비 창 모드 또는 텍스트 모드) 내가 사용하고 같은 방법으로? 키보드 단축키가 다른 도구의 단축키와 충돌합니까?

방금 모두 시도했지만 Byobu는 GNU Screen 및 tmux의 일종의 프론트 엔드처럼 보입니다. 그렇다면 왜 누군가가 GNU 화면 프로젝트에 기여하고 새로운 기능을 추가하는 대신 Byobu를 만들었습니까? Byobu가 GNU Screen에서 고급 인터페이스 모드가 아닌 이유는 무엇입니까? Byobu를 GNU 스크린을 백엔드로 사용하는 일일 도구로 사용하는 경우 특정 시스템에 GNU Screen 만있는 경우 Byobu없이 GNU Screen을 사용하도록이 지식을 전송할 수 있습니까?


1
내 질문에 주석을 달았습니다. 게시 한 후, 각 태그가 StackExchange에서 사용 된 횟수를 보았습니다. 아니면 그 byobu는 너무 직관적이기 때문에 아무도 그것을 사용하는 방법에 대한 질문이 없습니까?
Keitai

1
때문에이 byobu단지 포크 인 screen추가 기능 때문에 gnu-screen태그가 적용됩니다.
grawity

2
설명서 ( manpages.ubuntu.com/manpages/precise/en/man1/byobu.1.html ) 에 따르면 Byobu의 기본 구성은 tmux를 기본 백엔드로 사용하는 것입니다. byobu가 gnu 스크린의 포크라면 tmux가 gnu 스크린보다 낫다는 의미입니까?
Keitai

1
흥미롭게도, 지금은 tmux를 지원한다는 것을 몰랐습니다. 비록 포크조차도 아니고 래퍼 스크립트로 남아 있습니다. 그러나 예, tmux는 Screen보다 몇 가지면에서 좋습니다 (적어도 FAQ 는 그렇게 주장합니다).
grawity

22
Byobu는 포크가 아닙니다! Gnome / KDE가 Xorg 위에있는 레이어와 비슷하게 Screen과 Tmux 위에있는 레이어입니다.
더스틴 커클랜드

답변:


32

Tmux와 GNU Screen의 경우

블로그 등에서 찾을 수있는 몇 가지 다른 비교 화신.

자주 반복되는 몇 가지 일반적인 용어 :

  • Tmux가 더 최신입니다. 이것은 비트가 더 환상적이며 (간단한 수직 분할, 멋진 녹색 선) 호환성에 대한 테스트가 잘되지 않았 음을 의미합니다 (의 지지자에 따라 무시할 정도로).
  • Tmux는 리소스가 부족합니다.
  • GNU Screen은 어디에서나 발견되며 여전히 더 많이 사용됩니다.

이 외에도, 하나 또는 다른 대안에 대한 특정 기능을 볼 수 있으며 개인적인 선호가 토론을 지배합니다. 개인적으로 GNU Screen을 많이 사용했습니다. 이제는 Tmux를 사용합니다.

Byobu가 "킬러 기능"을 갖지 못하도록했습니다. 사용 사례에 필요하지 않다고 생각되는 추상화를 제공합니다.


또 다른 방법은 Byobu가 GNU Screen 또는 Tmux를 백엔드로 사용할 수 있다는 것입니다. 이는 사용자 POV와의 차이점이 대부분 피상적임을 보여줍니다.


268

좋은 질문입니다! 가치가있는 것은 Byobu 의 저자이자 관리자입니다 .

Byobu 는 구성 화면 으로, 원래 GNU Screen 위에 배치되도록 작성 되었지만 이제는 Tmux 에서도 작동합니다 .

2008 년 12 월에 Byobu를 작성하기 시작했습니다 . Googleplex 에서 많은 Screen 및 Ubuntu Server 사용자를 만나고 우리 모두~/.screenrc구성 에서 깔끔하고 재미 있고 유용한 해킹을 유지 하고 있음을 발견했습니다 . 그리고 우리가 사용한 수십 또는 수백 대의 서버 사이를 수동으로 이동해야했습니다. 우리는 팁과 트릭을 거래하기 시작했고, 이를 "스크린 프로파일"이라는 원래 GPLv3 프로젝트 로 수집하기 시작했습니다 . 약 6 개월 후 전체 커뮤니티가 " 스크린 프로파일 "을 중심으로 개발 했으며 프로젝트는 단순한 스크린 해킹 그 이상이되었습니다. 구성 유틸리티, 라이브 상태 플러그인 및 키 바인딩이있었습니다. 그래서 우리는 이 프로젝트의 이름을 변경 "Byobu"는 우아하고 접히는 "스크린"의 일본어 단어이며 "Screen $ FOO"보다 "Byobu $ FOO"에 대해 Google을 더 성공적으로 사용할 수 있다는 이점이 있습니다.

Byobu는 현재 대부분의 Linux 배포판 ( Ubuntu , Debian , Fedora , Arch )에서 작동하며 대부분의 Mac / BSD 및 기타 UNIX에서 작동하므로 모든 터미널에서 동일한 모양과 편리한 키 바인딩, 동적 시스템 상태 정보를 제공합니다. 액세스해야합니다.

GNU Screen 프로젝트에 다시 기여하지 않겠습니까? 몇 가지 이유 ... Byobu의 모든 기능 및 구성 옵션. 그것은 아무도 필요로하지 않는다 기능으로 화면 소스베이스에 포함 할 수 있습니다. Screen에 기본적으로 포함되어 있으면 어떤 것이 더 잘 작동하거나 더 잘 수행 될 수 있지만, 대부분의 변경 사항은 매우 "의견이 있습니다". 이는 일반적으로 25 세의 업스트림 프로젝트 에 기여하기 어렵거나 불가능합니다 . 또한 GNU Screen 프로젝트는 매우 느리게 움직입니다. 25 세 이상 이며 2008 년 8 월 이후 공식 출시되지 않았습니다 . 모든 배포판에는 / usr / bin / screen 작동 및 보안 유지를 위해 방대한 양의 패치가 포함되어 있습니다. 예를 들어, 우분투와 데비안은 현재 ~ 48 코드의 19K 라인 코드를 운반하고 있습니다패치 .

나는 약 2 년 전에 Tmux에 대해 배웠고 소스 코드, 디자인, 인터페이스 및 활발한 커뮤니티와 정말 사랑에 빠졌습니다! Tmux 업스트림에 대한 수정 사항 을 제공하고 메일 링리스트에서 주제를 논의하는 훨씬 쉬운 시간을 보냈습니다 . 그리고 어디서나 사용하는 Byobu 사용자로서, 나는 4 년 이상 Byobu에서 즐길 수 있었던 것과 같은 Tmux 세션과 동일한 모양과 느낌을 원했습니다. 그래서 모든 Byobu 코드를 포팅 하여 Tmux와 백엔드, Screen과 동일하게 작동합니다. 의로 Byobu 5.0 릴리스 여전히 레거시 모드에서 지원 화면으로 TMUX는 이제 기본 백엔드입니다. Byobu는 이제 크게 향상된 256 색 지원, UTF8 문자 및 가로 / 세로 창 분할을 포함하여 Tmux over Screen의 많은 최신 기능을 활용합니다.

Screen 또는 Tmux의 기본 설정에 만족하거나 직접 구성 파일을 처음부터 작성하려면 Screen 및 Tmux를 수년 동안 효율성을 높인 환상적인 유틸리티로 활용하십시오. Screen 및 Tmux가 기본적으로 수행하는 작업을 실제로 확장하고 확장하는 일련의 구성에 관심이 있다면 Byobu를 살펴보십시오!

건배, 더스틴


16
좋은 설명입니다. 화면이 너무 많이 패치되어 놀랍습니다. 새로운 관리자가 필요합니까? 그리고 byobu는 훌륭합니다-감사합니다.
nealmcb

10
나는 두 번 투표 할 수 있으면 좋겠다. 나는 몇 년 동안 byobu를 사용해 왔으며 최근에이 시간에서 저를 숨기고있는 복잡성을 알게되었습니다.
Jamie Cook

2
나는 항상 CTRL+` as escape. With 스크린을 사용 하고 tmux이것은 매력처럼 작동하지만 byobu(Debian 7.1 Wheezy) 에서는 작동하지 않습니다 .
티노

1
이제 screen새로운 관리자가 생겼고 개발팀이 문제를 겪고있는 것 같습니다.
muru

이러한 의견이 불이행으로 인해 더 어린 tmux 프로젝트가 될 수 없었습니까? 답이 "tmux 프로젝트에 다시 기여하지 않는 이유"가없는 것 같습니다. xkcd.com/927
user2707671

12

실제 사용 사례에서, 가장 큰 차이점 screentmux그들이 분할 창을 처리하는 방법입니다.

윈도우 screen는 단일 의사 터미널입니다. screen세션에 연결되면 터미널을 여러 영역으로 분할 할 수 있으며 각 영역에 screen창을 표시 할 수 있습니다 . 여러 지역이 같은 창을 표시 할 수 있습니다. 스플릿은 세션의 일부가 아닙니다. 분리하면 스플릿이 사라집니다.

창은 tmux창당 하나씩, 하나 이상의 의사 터미널로 구성됩니다. 이것은 나중에 분리했다가 다시 연결해도 창이 지속됨을 의미합니다. 또한에서에 한 번에 하나의 창만 표시 할 수 tmux있으며 여러 창간에 창을 공유 할 수 없음을 의미합니다. tmux않을 수 있습니다 윈도우 그러나, 여러 세션을 공유 할 수 있습니다.

에 의해 사용 된 모델을 선호 tmux하지만에 의해 사용 된 모델보다 낫다고 주장 할 수 없었습니다 screen.


3
찬반론 tmux도이치 반 입니다. 빠른 기차를 타고 ssh이동 연결 을 사용하여 작업을 시도 tmux하면 빈번한 연결 끊기 중 하나 후에 다시 로그인 한 후 점프 호스트의 모든 창을 다시 정렬 할 필요가 없기 때문에 모델이 훨씬 우수하다는 것을 빨리 알 수 있습니다. SCNR
티노

3
빈번한 연결 끊김에 직면하는 경우 와 달리 다음과 같이 잃어버린 신호에서 자동으로 복구 할 수있는 mosh 를 살펴 보는 것이 좋습니다.ssh
Ciprian Tomoiagă

4

저에게 tmux의 거래 차단기는 세션 공유 구현이었습니다.

GNU 화면에서 다른 사용자가 세션에 연결하도록하거나 세션을 둘 이상의 터미널에 연결하면 세션이 독립적으로 작동 할 수 있습니다 (세션 A의 터미널 B에서 화면을 전환해도 터미널 A도 화면을 전환하지 않습니다) 세션 A).

위의 tmux (아직?)의 경우가 아니거나 아직 동작을 변경할 수있는 방법을 찾지 못했습니다.

누군가 tmux에서이 동작을 변경하는 방법을 알고 있거나 tmux가이 동작을 변경하기 위해 업데이트하거나 지금이 동작을 변경할 수있는 옵션을 제공하는 경우 의견을 남겨주십시오.


6
tmux와 "연결된"세션이라는 개념이 new-session -t shared있습니다. '공유 된'창은 새 세션에 나타나고, 한 창에 다른 창이 나타나고, 한 창을 닫으면 다른 창에 닫힙니다. 그러나 각 클라이언트에 표시되는 창은 연결된 실제 세션에 따라 다릅니다.
chepner
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.