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개의 터미널 창을 사용하며, 그 이상을 사용하는 경우도 많습니다.
내가 개발 중인 시스템의 서버측용 텍스트 편집기
동일한 시스템 클라이언트에 대한 텍스트 편집기
서버를 실행하기 위한 명령 창
클라이언트 프로그램은 일반적으로 다른 곳(웹 앱, 기본 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이 정지되거나 창에서 포커스를 캡처했지만 해제하지 않는 등 도움이 되지 않는 특정 상황 에서 작동할 수 있기 때문에 여전히 유용합니다.telnet
ssh
screen
tmux
zlogin -C zone
컨테이너 기반 가상화(예: Solaris 영역 또는 Linux LXC)는 컨테이너 콘솔에 연결하거나 컨테이너 콘솔에서 연결하는 별도의 방법도 제공합니다 lxc-console -t 0 -n container
.
답변3
추가 터미널 에뮬레이터가 있는 좋은 이유는 그래픽 인터페이스에서 뭔가 잘못하여 사용할 수 없게 된 경우 신속하게 터미널 에뮬레이터로 전환하여 그래픽 인터페이스에서 발생한 문제를 수정할 수 있다는 것입니다. 이는 창 관리자나 그래픽 인터페이스의 다른 기능을 변경할 때 실제로 자주 발생합니다. 더 많은 터미널을 갖는 것이 유용할 것이라고 생각하지만, 6개의 기본 그래픽 인터페이스를 갖는 것은 다소 과도한 것 같습니다.
내가 틀렸다면 정정하십시오. 그러나 하나의 터미널 에뮬레이터에서 다른 사용자로 여러 명령을 실행할 수 있습니까?
답변4
먼저, Linux 커널의 기능에 대해 문의하셨습니다. 일반적으로 말하면 Unix 커널도 아니고 Gnu 커널도 아닙니다.
그 이유는 작가에게 물어봐야 합니다. 하지만 제 생각에는 네트워크에 연결되지 않은 장치(여기서는 RS232를 네트워크 유형으로 사용함)의 관리자가 다른 사용자를 로그아웃하지 않고도 로그인하여 일부 관리 작업을 수행할 수 있게 해주는 것 같습니다.