텍스트 기반 사용자 인터페이스

Text-based user interface
일부 파일 관리자는 TUI를 구현(여기서: 미드나잇 커맨더)
Vim은 매우 널리 사용되는 TUI 텍스트 편집기 입니다.

컴퓨팅에서, 텍스트 기반 사용자 인터페이스(TUI) (대체로, 텍스트만이 아닌 컴퓨터 단말의 속성에 대한 의존성을 반영하기 위해)는 그래픽 사용자 인터페이스(GUI)가 등장하기 전, 인간과 컴퓨터 상호작용의 초기 형태로서 공통되는 사용자 인터페이스(UI)의 유형을 기술하는 레트론이다.GUI와 마찬가지로 전체 화면 영역을 사용 있으며 마우스와 기타 입력을 허용할 수 있다.그들은 또한 색상을 사용할 수 있고 유니코드에서 "상자 도면" 세트라고 언급되는 ┌과 ╣과 같은 특수 그래픽 문자를 사용하여 표시장치를 구성할 수 있다.현대적인 사용 문맥은 대개 단말기 에뮬레이터다.

텍스트 단자의 유형

텍스트 응용 프로그램의 관점에서 텍스트 화면(및 그것과의 통신)은 세 가지 유형 중 하나에 속할 수 있다(여기서는 접근성을 감소시키기 위해 주문).

  1. 비디오 어댑터 또는 중앙 프로세서에 의해 제어되는 정품 텍스트 모드 표시.이것은 다양한 종류의 개인용 컴퓨터모바일 장치에서 로컬로 실행되는 응용 프로그램의 정상적인 조건이다.운영체제가 단념하지 않는 경우, 스마트 프로그램은 하드웨어 텍스트 모드의 전체 전력을 이용할 수 있다.
  2. 텍스트 모드 에뮬레이터.를 들어 X Window System(X 윈도우 시스템)의 xterm과 Microsoft Windows(윈도우)의 win32 콘솔(윈도우 모드)이 있다.이것은 보통 실제 텍스트 모드 디스플레이를 예상하는 프로그램을 지원하지만 상당히 느리게 실행될 수 있다.자체 글꼴 업로딩과 같은 고급 텍스트 모드의 특정 기능은 거의 확실히 사용할 수 없게 된다.
  3. 원격 텍스트 터미널.통신 능력은 대개 직렬 회선이나 그 에뮬레이션으로 감소하며, 텔넷시큐어 쉘과 같은 경우 대역 외 채널로서 ioctl()가 거의 없을 수 있다.이는 소프트웨어 제한이 원격 디스플레이 장치의 기능 사용을 방해하기 때문에 최악의 경우다.

Linux와 기타 Unix 유사 시스템에서는 동일한 인터페이스(이름, 표준 스트림)가 디스플레이와 키보드를 제어하기 때문에 프로그램은 세 가지 사례 중 어느 것도 쉽게 수용할 수 있다.또한, 특수 프로그래밍 라이브러리는 주어진 표시장치와 그것에 대한 인터페이스에 적절한 방법으로 텍스트를 출력하는데 도움을 준다.Windows와 비교하려면 아래를 참조하십시오.

ANSI 호환 터미널에서

미국 국립표준연구소(ANSI) 표준 ANSI X3.64는 TUI를 생성하기 위해 터미널을 구동하는 데 사용할 수 있는 표준 탈출 시퀀스 집합을 정의한다(ANSI 탈출 코드 참조).탈출 시퀀스는 위의 섹션에서 언급한 세 가지 사례 모두에 대해 지원될 수 있으며, 임의의 커서 이동과 색상 변경이 가능하다.그러나 모든 단자가 이 표준을 따르는 것은 아니며, 호환은 안 되지만 기능적으로 동등한 시퀀스가 다수 존재한다.

DOS 및 Microsoft Windows에서

FreeDOS Edit 사용자 인터페이스

IBM Personal Computers호환성의 경우, 기본 입력 출력 시스템(BIOS)DOS 시스템 호출은 화면에 텍스트를 쓰는 방법과 ANSI를 제공한다.SYS 드라이버는 표준 ANSI 이스케이프 시퀀스를 처리할 수 있다.그러나 프로그래머들은 곧 데이터를 화면 버퍼에 직접 쓰는 것이 훨씬 빠르고 프로그래밍이 간단하며 오류 발생률이 낮다는 것을 알게 되었다. 자세한 내용은 VGA 호환 텍스트 모드를 참조하십시오.프로그래밍 방법의 이러한 변화는 많은 DOS TUI 프로그램을 초래했다.win32 콘솔 환경은 특정 EGA/VGA 텍스트 모드 기능, 특히 응용 프로그램이 창에서 실행되더라도 텍스트 버퍼에 임의로 액세스하는 기능을 에뮬레이션하는 것으로 악명 높다.반면에 Windows(원본 및 DOS 애플리케이션 둘 다)에서 실행되는 프로그램은 앞서 언급한 win32 콘솔 계층 때문에 Linux 및 DOS 프로그램이 가질 수 있는 것보다 디스플레이와 키보드를 훨씬 더 적게 제어한다.

임펄스 트래커의 마우스 커서커서가 보이는 곳에 사용된 문자의 글리프를 각 마우스 움직임에서 실시간으로 재생함으로써 보다 정밀한 커서(픽셀 분해능당)를 달성했다.[citation needed]

대부분의 경우 이러한 프로그램들은 주로 사용자 색 사용자 지정도 있었지만 흰색 또는 노란색 문자로 기본 화면에 파란색 배경을 사용하였다.그들은 종종 IBM의 코드 페이지 437에서 박스 그리기 문자를 사용했다.후에 인터페이스는 풀다운 메뉴, 겹치는 , 대화 상자, 그리고 니모닉이나 키보드 단축키에 의해 운영되는 GUI 위젯을 추가하면서 그래픽 사용자 인터페이스(GUI)의 영향을 크게 받게 되었다.마우스 입력이 추가되었는데, 이는 소프트웨어에 의해 텍스트 문자 모양을 재정의하는 EGA(Enhanced Graphics Adapter)와 VGA(Video Graphics Array) 디스플레이 어댑터의 기능 덕분에 단순한 컬러 상자로서의 텍스트 해상도나 그래픽 해상도로서 마우스 입력이 추가되어 추가 기능을 제공한다.

이러한 종류의 주목할 만한 프로그램으로는 마이크로소프트 워드, 도스 쉘, 워드퍼펙트, 노턴 커맨더, 터보 비전 기반볼랜드 터보 파스칼터보 C(후자에는 코니오 라이브러리 포함), 로터스 1-2-3 등등이 있다.이러한 인터페이스 중 일부는 1990년대 초 마이크로소프트 윈도 3.1x 기간에도 살아남았다.예를 들어 16비트 Windows에서 진정한 GUI 프로그램을 작성하는 데 사용되는 Microsoft C 6.0 컴파일러에는 여전히 자체 TUI가 있다.

마이크로소프트 윈도우는 시작부터 DOS 소프트웨어를 표시하는 콘솔을 포함하고 있다.이후 버전에서는 명령행 인터페이스와 TUI 프로그램을 위한 기본 인터페이스로 Win32 콘솔을 추가했다.콘솔은 보통 윈도우 모드에서 열리지만 AltEnter 키를 함께 누르면 전체 텍스트 모드 화면으로 전환될 수 있다.전체 화면 모드는 Windows Vista(윈도우 비스타) 이상에서는 사용할 수 없지만 일부 해결책과 함께 사용할 수 있다.[1]

Unix와 유사한 시스템 아래

Mandriva Linux에서 그래픽 시스템을 구성하는 데 사용되는 TUI인 'XFdrake'의 스냅샷

유닉스 유사 운영체제에서 TUI는 종종 터미널 제어 라이브러리 저주 또는 ncurs(대부분 호환되는 라이브러리) 또는 대체 S-Lang 라이브러리를 사용하여 구성된다.버클리 유닉스와 함께 저주 라이브러리의 등장으로 TUI를 쓸 수 있는 휴대성과 안정성이 뛰어난 API가 탄생했다.동일한 인터페이스를 사용하여 다양한 텍스트 단말기와 대화할 수 있는 능력은 단순한 회선 인터페이스를 사용하는 대신 단말기 화면 전체를 점유한 "시각적" 유닉스 프로그램을 보다 광범위하게 사용하게 했다.이는 vi같은 텍스트 편집기, 소나무잡종같은 메일 클라이언트, SMIT, SAM, FreeB와 같은 시스템 관리 도구에서 확인할 수 있다.SDSysinstall스라스와 같은 웹 브라우저.w3m와 같은 일부 애플리케이션과 이전 버전의 소나무vi는 덜 사용 가능한 용어 캡 라이브러리를 사용하며, 애플리케이션 내에서 저주와 관련된 많은 기능을 수행한다.위젯 기반의 사용자 지정 TUI 애플리케이션은 대화 프로그램(ncurs 기반) 또는 Whiptail 프로그램(S-Lang 기반)을 사용하여 쉽게 개발할 수 있다.

게다가, 리눅스의 인기의 상승은 많은 이전 DOS 사용자들을 Unix와 같은 플랫폼으로 데려왔고, 이것은 많은 TUI에서 DOS 영향력을 키워왔다.예를 들어 프로그램 미니콤은 인기 있는 DOS 프로그램 텔릭스를 본떠 만든 것이다.트윈 데스크톱과 같은 일부 다른 TUI 프로그램들이 포팅되었다.

대부분의 Unix 유사 운영 체제(Linux, FreeBSD 등)는 Ctrl-Alt-F 키 조합을 통해 일반적으로 액세스하는 가상 콘솔을 지원한다.예를 들어 Linux에서 최대 64개의 콘솔(기능 키를 통해 12개)에 액세스할 수 있으며, 각 콘솔은 전체 화면 텍스트 모드로 표시된다.

무료 소프트웨어 프로그램 GNU 화면은 단일 TUI 내에서 여러 세션을 관리할 수 있도록 제공하므로 텍스트 모드와 명령줄 인터페이스의 창 관리자라고 생각할 수 있다.Tmux도 이것을 할 수 있다.

독점적인 macOStext 편집기BBEdit에는 전체 화면 셸 창으로 작동하는 셸 워크시트 기능이 포함되어 있다.freeEmacs 텍스트 편집기는 유사한 기능을 제공하기 위해 버퍼 중 하나의 내부에서 셸을 실행할 수 있다.Emacs에는 여러 개의 쉘 구현이 있지만, 단지ansi-termTUI 프로그램을 실행하기에 적합하다.다른 공통 쉘 모드,shell그리고eshell 에뮬레이트 명령선과 TUI 프로그램만이 "터미널이 완전히 작동하지 않는다"고 불평하거나, 또는 잘 변형된 인터페이스를 표시할 것이다.freeVimNeovim 텍스트 편집기에는 터미널 창(xterm을 시뮬레이션함)이 있다.이 기능은 실행 중인 작업, 병렬 빌드 또는 테스트를 위한 것이지만 경량 터미널 멀티플렉서로도 사용할 수 있다(창 분할 및 탭 페이지 포함).

오픈VMS

VAX/VMS(OpenVMS로 알려진 later)는 스크린 관리 시설 또는 SMG라고 알려진 저주와 유사한 시설을 가지고 있었다. 이는 명령줄에서 호출되거나 SMG$ 라이브러리를 사용하는 프로그램에서 호출될 수 있다.[2]

오베론

이미지 및 여러 텍스트 뷰어가 표시된 오버론 시스템 데스크톱 스크린샷

다른 종류의 TUI는 오베론 운영체제의 1차 인터페이스로, 1988년에 처음 출시되었지만 여전히 유지되고 있다.대부분의 다른 텍스트 기반 사용자 인터페이스와 달리, Oberon은 텍스트 모드 콘솔이나 터미널을 사용하지 않지만, 마우스를 클릭할 때 텍스트가 주요 표적이 되는 큰 비트맵 디스플레이를 필요로 한다.형식의 명령Module.Procedure parameters ~하이퍼링크와 같은 중간 클릭으로 활성화할 수 있다.화면에 아무 곳에나 표시되는 텍스트를 편집할 수 있으며, 필요한 명령 구문으로 포맷된 경우 중간 클릭으로 실행할 수 있다.적절한 형식의 명령을 포함하는 텍스트 파일은 소위 도구 텍스트로 사용될 수 있으며, 따라서 사용자 구성이 가능한 메뉴의 역할을 한다.이전 명령의 출력도 편집하여 새로운 명령으로 사용할 수 있다. 접근방식은 기존의 대화 지향 콘솔 메뉴나 명령줄 인터페이스와 완전히 다르다.

그래픽 위젯을 사용하지 않고 일반 텍스트만 사용하지만 타일링 윈도우 관리자가 있는 GUI와 유사한 기능을 제공하기 때문에 Text User Interface(텍스트 사용자 인터페이스) 또는 TUI(Text User Interface, TUI(Text User Interface)간단한 소개는 Oberon System에 대한 첫 번째 발행된 보고서 중 4페이지의 두 번째 단락을 참조하십시오.[3]

Oberon의 UIBell Labs 운영 체제에서 Plan 9를 위한 Acme 텍스트 편집기와 이메일 클라이언트의 설계에 영향을 미쳤다.

임베디드 시스템에서

LCD 화면에 메뉴가 표시되는 임베디드 시스템

현대의 임베디드 시스템은 개인용 컴퓨터처럼 모니터에 TUI를 표시할 수 있다.이 기능은 일반적으로 전문 집적회로나 모듈을 사용하거나 FPGA를 사용하여 구현된다.

비디오 회로 또는 모듈은 대개 UART를 통해 VT100 호환 명령 집합을 사용하여 제어되며,[citation needed] FPGA 설계는 일반적으로 직접 비디오 메모리 액세스를 허용한다.[citation needed]

기타 용도

  • 코모도어 64 8비트 컴퓨터의 전체 화면 편집기는 그 시간 동안 시장 부문에서 진보했다.사용자는 커서를 전체 화면 영역 위로 이동하여 직접 모드 명령뿐만 아니라 BASIC 프로그램 라인을 입력 및 편집할 수 있다.모든 코모도어 8비트 컴퓨터는 PETSCII 문자 집합을 사용했는데, 여기에는 TUI를 만드는 데 적합한 문자 글리프가 포함되어 있었다.
  • 애플의 Macintosh Programmer's Workshop 프로그래밍 환경에는 TUI 쉘인 Commando가 포함되어 있었다.그것은 BBEdit의 껍질 워크시트에 대한 영감이었다.
  • 이후 Apple II 모델에는 TUI를 만드는 데 사용되는 그래픽 글리프 집합인 MouseText가 포함되었다.
  • 1982년의 Corvus Concept 컴퓨터는 전체 페이지 피벗 디스플레이에 기능 키 기반 텍스트 인터페이스를 사용했다.

참고 항목

프로그래밍 라이브러리의 예

참조

  1. ^ cmd 프롬프트 전체 화면(Windows 7).사교적인technet.microsoft.com.2013-06-15년에 검색됨
  2. ^ "OpenVMS RTL Screen Management (SMG$) Manual". hpe.com. 2001. Retrieved 2021-01-01.
  3. ^ 니클라우스 위르스 & 위르그 구트크네히트: (1988) 오베론 시스템.보고하라 88.