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

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

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

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

Ubuntu 운영 체제에는 7개의 터미널 에뮬레이터가 있으며 그 중 GUI가 7번째 터미널 에뮬레이터( Ctrl++)를 차지합니다.AltF7

예를 들어, 이것은 나의 첫 번째 터미널( 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? 무엇보다도 다음을 수행할 수 있습니다.여러 개의 가상 터미널을 제공하도록 구성하십시오.Linux처럼 단일 화면에서 Ctrl- Alt- .Fx

답변2

이는 x86 하드웨어에서 실행되는 거의 모든 Unix 및 Unix 계열 시스템에서 제공되는 기능입니다. 흥미롭게도 가상 콘솔은 1980년대 초 Microsoft Xenix에 의해 Unix에 처음 도입되었으며 동시 CP/M에서도 사용할 수 있습니다.

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

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

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

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

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

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

zlogin -C zone컨테이너 기반 가상화(예: Solaris 영역 또는 Linux LXC)는 컨테이너 콘솔에 연결하거나 컨테이너 콘솔에서 연결하는 별도의 방법도 제공합니다 lxc-console -t 0 -n container.

답변3

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

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

답변4

먼저, Linux 커널의 기능에 대해 문의하셨습니다. 일반적으로 말하면 Unix 커널도 아니고 Gnu 커널도 아닙니다.

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

관련 정보