Terminal emulator
단말 에뮬레이터 또는 터미널 에뮬레이터(terminal emulator)는 몇 가지 다른 디스플레이 구조를 갖춘 덤브(dumb) 비디오 단말기을 가상으로 구현하는 프로그램을 말한다. 일반적으로 셸이나 텍스트 터미널이라는 용어와 동의어이기도 하지만 단말이라는 용어는 그래픽 인터페이스를 비롯하여 모든 원격 단말에 적용된다. 그래픽 사용자 인터페이스(GUI)상에서 어플리케이션으로 작동하는 단말 에뮬레이터는 터미널 윈도(terminal window)라고 자주 부른다.
터미널 윈도는 사용자가 텍스트 단말과, 명령 줄 인터페이스(CLI), 텍스트 사용자 인터페이스 응용 프로그램과 같은 모든 응용 프로그램에 접근할 수 있게 도와준다. 이러한 것들은 텔넷, ssh, 전화 접속을 통해 같은 컴퓨터나 다른 컴퓨터에서 모두 실행할 수 있다. 유닉스 계열 운영 체제에서는 로컬 컴퓨터에 연결된 하나 이상의 터미널 윈도에 일반적이다.
단말은 보통 커서 위치, 색 등을 제어하기 위한 이스케이프 시퀀스 집합을 지원한다. 이를테면 ECMA-48, ANSI X3.64, 또는 ISO/IEC 6429로 알려진 단말 제어 시퀀스 표준 계열을 포함하고 있다.
은행, 보험사, 정부와 같은 컴퓨터 기술을 채택한 초기의 단체들은 아직도 단말 에뮬레이터를 자주 이용하고 있다. 이들은 메인프레임 컴퓨터에서 실행되는 오래된 응용 프로그램들을 수십 개 가지고 있다. 메인프레임에 접근하는 데 이용하는 오래된 덤브 비디오 단말은 쓰이지 않은 지 오래다. 그러나 메인프레임 위의 응용 프로그램들은 아직도 사용하고 있다. 단말 에뮬레이터는 더 오래된 컴퓨터에서 실행하고 있는 응용 프로그램들에 사용자가 접근할 수 있는 유일한 방법이기도 하다.
Truecolor
- [추천] Color standards for terminal emulators - 지원되는 터미널 목록 확인 가능.
- Setting up True Color Support for Neovim and Tmux on Mac - jdhao's digital space
- ANSI escape code (Terminal Control Escape Sequences)
다음의 awk 명령으로 확인할 수 있다.
awk 'BEGIN{
s="/\\/\\/\\/\\/\\"; s=s s s s s s s s;
for (colnum = 0; colnum<77; colnum++) {
r = 255-(colnum*255/76);
g = (colnum*510/76);
b = (colnum*255/76);
if (g>255) g = 510-g;
printf "\033[48;2;%d;%d;%dm", r,g,b;
printf "\033[38;2;%d;%d;%dm", 255-r,255-g,255-b;
printf "%s\033[0m", substr(s,colnum+1,1);
}
printf "\n";
}'
정상적으로 트루컬러가 지원된다면:
Terminal_emulator_-truecolor-_support.png
지원되지 않는다면 아래 그림과 같이 색상의 경계가 뚜렷하게 나타난다:
Terminal_emulator_-truecolor-_not_support.png
- tmux 설정 방법은 tmux#Truecolor 항목 참조.
- neovim 설정 방법은 Neovim#Truecolor 항목 참조.
COLORTERM
VTE, Konsole및 iTerm2은 모두 사용자의 셸 환경에 COLORTERM=truecolor
를 배치하여 트루컬러 지원을 알립니다. 이것은 잠시 동안 VTE에 있었지만 Konsole 및 iTerm2에서는 비교적 새로운 기능이며 컴파일 시 활성화되어야 합니다 (대부분의 패키지는 그렇지 않으므로 git 소스 저장소에서 직접 컴파일해야 함).
S-Lang 라이브러리에는 $COLORTERM
가 truecolor
또는 24bit
(대소문자 구분) 가 포함된 검사가 있습니다.
때론 직접 설정해야할 수 있다:
case $TERM in
iterm |\
linux-truecolor |\
screen-truecolor |\
tmux-truecolor |\
xterm-truecolor ) export COLORTERM=truecolor ;;
vte*)
esac
Projects
- iTerm2
- Alacritty: A cross-platform, GPU-accelerated terminal emulator
- hyper: A terminal built on web technologies
- bterm: cross-platform terminal emulator
- terminator
- Extraterm: The swiss army chainsaw of terminal emulators
- tmux
- Streamhut: stream your terminal
- termux: Android terminal emulator.
- rxvt: rxvt (acronym for our extended virtual terminal) is a terminal emulator for the X Window System, and in the form of a Cygwin port, for Windows.
- rxvt-unicode: Light in resource usage, fast, and more feature-rich (tabs, transparency, Unicode, etc.).
Terminal Live Streaming
See also
- carbon: 소스코드를 예쁜 이미지로 출력해줌.
- xterm.js
- Command-line argument
- terminfo
- ANSI escape code (Terminal Control Escape Sequences)
- pseudoterminal
- Command Line Tools (Commandline tools)
- Template:List:BasicUnixCommands