UNIX/Linux가 다중 터미널을 제공하는 이유는 무엇입니까?

UNIX/Linux가 다중 터미널을 제공하는 이유는 무엇입니까?

1970년대에는 입력/출력을 위한 CUI(문자 사용자 인터페이스) 인터페이스를 갖춘 하드웨어 터미널이 있었습니다.

이제 Unix/Linux 세계에는 터미널 에뮬레이터( Ctrl+ Alt+ ) 가 있습니다 .Fn

CtrlUbuntu OS에서는 GUI가 7번째 터미널 에뮬레이터( + Alt+ ) 를 차지하는 7개의 터미널 에뮬레이터를 볼 수 있습니다 F7.

예를 들어, 이것은 나의 첫 번째 터미널( Ctrl+ Alt+ F1) 에뮬레이터 입니다.

$ tty
/dev/tty0

Unix/Linux가 다중 터미널 에뮬레이터를 제공하는 이유는 무엇입니까?

답변1

UNIX/Linux가 [콘솔에] 여러 터미널 에뮬레이터를 제공하는 이유는 무엇입니까?

같은 이유로 GUI 터미널 에뮬레이터는 탭(예: GNOME 터미널)을 지원할 가능성이 높으며 그렇지 않은 경우(예:rxvt), 같은 이유로 두 번째 GUI 터미널 앱 인스턴스를 시작하면 첫 번째 인스턴스를 포그라운드로 끌어와 종료하는 것이 아니라 첫 번째 인스턴스를 사용해야 합니다.

나는 작업에서 일상적으로 3개 이상의 터미널 창을 사용하며 그 이상을 자주 사용합니다.

  1. 작업 중인 시스템의 서버측 텍스트 편집기

  2. 동일한 시스템의 클라이언트 측 텍스트 편집기

  3. 서버를 실행하기 위한 명령 창

클라이언트 프로그램은 일반적으로 다른 곳(웹 앱, 기본 GUI 앱, 모바일 앱 등)에서 실행되기 때문에 클라이언트 프로그램을 실행하는 데 네 번째 터미널이 거의 필요하지 않지만, 서버 앱용 CLI 클라이언트를 개발하는 경우 별도의 터미널도 열려 있습니다.

예전에는 대중화되기 전에는 항상 단말기를 열어 sudo두었습니다 .root

요즘 GUI 없이 콘솔에서 Unix/Linux 상자를 대화형으로 사용하는 경우는 거의 없지만 헤드리스로 실행하고 SSH를 통해 액세스하는 경우가 많습니다. 선택한 SSH 터미널 클라이언트는 위와 같이 구성된 탭을 지원합니다.

내 최근 취미 프로젝트 중 하나내가 진짜 오래된 것을 사용하고 있니?유리 터미널때때로 이는 더 이상 여러 개의 터미널 창이 없다는 것을 의미하므로 마침내 다음에 대해 조금 배우고 있습니다.암소 비슷한 일종의 영양screen, 여러 콘솔 터미널이나 여러 GUI 터미널이 있었기 때문에 이전에는 많이 사용하지 않았던 프로그램입니다. 그리고 무엇을 screen합니까? 무엇보다도 다음을 수행할 수 있습니다.여러 개의 가상 터미널을 제공하도록 구성하십시오.CtrlLinux에서 - Alt- 처럼 단일 화면에서 실행됩니다 .Fx

답변2

이것은 x86 하드웨어에서 실행되는 것과 같이 모든 Unix 및 Unix는 아니지만 거의 모든 기능에서 제공되는 기능입니다. 흥미롭게도 가상 콘솔은 80년대 초반 Microsoft Xenix에 의해 Unix에 처음 소개되었으며 동시 CP/M에서도 사용 가능했습니다.

이 기능은 나중에 AT&T SVR4 Unix, Solaris에 통합되었으며 BSD 및 Linux에서 차용되었습니다.

UNIX/Linux가 다중 터미널 에뮬레이터를 제공하는 이유는 무엇입니까?

처음 도입되었을 때는 이러한 Unix 구현을 실행하는 시스템에 사용할 수 있는 그래픽 환경이 없었습니다. RS232 회선을 통해 중앙 Unix 서버에 연결된 물리적 터미널을 갖는 것이 표준이었지만, 단일 사용자가 여러 대화형 프로그램을 동시에 실행하는 것이 목표라면 Xenix를 실행하는 표준 PC에 여러 터미널을 연결하는 것은 과잉이었습니다. 가상 터미널은 해당 문제에 대한 우아하고 편리한 솔루션을 제공했습니다.

나중에 다른 Unix 구현에서는 동일한 요구 사항을 충족하기 위해 동일한 기능을 제공했습니다.

그래픽 환경, 특히 X11이 확산되면서 같은 화면에서 여러 터미널 에뮬레이터를 동시에 볼 수 있다는 점은 상당한 개선이었다. 그러나 가상 콘솔 기능은 그래픽 환경이 어떤 이유로 정지되거나 제대로 작동하지 않는 경우 콘솔로 전환할 수 있는 것이 여전히 편리하기 때문에 일반적으로 유지되었습니다.

동일한 기능을 일반화하기 위해 가상 터미널과 screen같은 유틸리티가 훨씬 늦게 나왔습니다. tmux이들의 장점은 로컬 물리적 콘솔뿐만 아니라 로컬 또는 원격(예: telnet, ssh) 등 모든 세션에서 사용할 수 있다는 것입니다. 물리적 콘솔에서 사용될 때 가상 콘솔은 X11이 정지되거나 창이 포커스를 포착하고 해제하지 않는 경우와 같이 도움이 되지 않는 screen일부 상황에서 작동하기 때문에 여전히 유용합니다.tmux

zlogin -C zoneSolaris 영역 또는 Linux LXC와 같은 컨테이너 기반 가상화는 및 각각을 통해 컨테이너 콘솔에 연결하는 방법도 제공합니다 lxc-console -t 0 -n container.

답변3

추가 터미널 에뮬레이터를 사용하는 좋은 이유 중 하나는 그래픽 인터페이스에 문제가 있어 사용할 수 없게 된 경우 신속하게 터미널 에뮬레이터로 전환하여 그래픽 인터페이스에서 겪고 있는 모든 문제를 해결할 수 있다는 것입니다. 이는 창 관리자나 그래픽 인터페이스의 다른 기능을 변경할 때 실제로 자주 발생합니다. 터미널을 두 개 더 갖는 것도 유용할 것이라고 생각하지만, 기본 그래픽 인터페이스에 6개를 추가하는 것은 약간 과도한 것 같습니다.

또한 내가 틀렸다면 정정하십시오. 그러나 하나의 단일 터미널 에뮬레이터에서 다른 사용자로 여러 명령을 실행할 수 없습니까?

답변4

먼저 질문하신 내용은 Linux라는 커널의 기능입니다. 일반적으로 Unix도 아니고 Gnu도 아닙니다.

왜 그런지는 작가들에게 물어봐야 할 것 같습니다. 그러나 내 생각에는 네트워크에 연결되지 않은 장치(여기서는 RS232를 네트워크 유형으로 포함)의 관리자가 다른 사용자를 로그아웃하지 않고도 로그인하고 일부 관리 작업을 수행할 수 있는 것 같습니다.

관련 정보