답변:
여러 터미널 에뮬레이터 는 PySixel github 페이지 에서 Sixel Graphics를 지원 합니다.
위에서 언급 한 PySixel로 이미지를 표시 할 수 있으며, 필요한 변환을 수행 할 수있는 것 같습니다. 다른 옵션은의 도구를 사용하는 것 netpbm
입니다. mlterm에서 JPEG 이미지를 변환하고 표시하기 위해 다음을 사용하여 좋은 결과를 얻었습니다.
jpegtopnm image.jpg | pnmquant 256 | ppmtosixel >/dev/tty
결과:
XTerm은 Sixel 이미지도 표시 할 수 있지만 지원은 현재 16 색 (및 버그)으로 제한됩니다. 스크립트가 손상된 것 같지만 샘플 이미지가 포함 된 아카이브를 여기 에서 다운로드 할 수 있습니다 . XTerm은 정확한 형식 출력을 표시하지 않습니다 ppmtosixel
(시작 / 끝에 사용 된 제어 순서를 지원하지 않습니다). 를 찾기 전에 PySixel
다음 스크립을 사용하여 ppmtosixel
XTerm이 표시 할 내용으로 출력 을 해킹했습니다 .
#!/bin/bash
echo -e '\eP0;0;0;q"1;2;400;400'
jpegtopnm "$1" |
pnmquant 16 |
ppmtosixel |
tail -n +2 |
head -c -3
echo -e '\x1b\x5c\x0d'
tput cup "$(tput lines)" 0
기본 VT420 모드에서는 이미지가 표시되지 않습니다. VT240, VT241, VT330 또는 VT340 모드에서만 표시됩니다. 또한 --enable-sixel-graphics
빌드 옵션이 필요합니다. VT340 ( xterm -ti vt340
) 에서 최상의 결과를 찾았습니다 . 결과는 다음과 같습니다 (첫 번째는 샘플 아카이브의 매우 멋진 트론 이미지입니다).
perl -wpe 'use bytes;s!([\x80-\x9f])!qq(\e).chr(ord($1)-64)!ge'
ppmtosixel (및 8 비트 c1 코드를 7 비트 등가로 전환하려는 경우) 이후 훌륭한 필터로 작동합니다.
예를 들어-터미널의 배경을 변경하고 싶습니까?
printf '\033}bp%s\000' \
'http://hdwalldesktops.com/wp-content/uploads/2014/02/background-backgrounds-high-resolution-abstract-picture-background-wallpaper.jpg'
약간 확장 된 vt100과 일부 확장 및 블링 블링을 에뮬레이트합니다 .
> Most escapes supported by xterm, rxvt etc. work
> Xterm 256 color escapes work
> Backgrounds (bitmap, scalable/vector, animated gif, videos)
> Transparency
> Bitmap and scalable fonts supported
> Themes for the layout and design
> URL, file path and email address detection and link-handling
> Inline display of link content
> Multiple copy and paste selections and buffer support
> Works in X11
> Works in Wayland
> Works directly in the linux framebuffer (fbcon)
> Can be finger/touch controlled
> Scan scale by UI scaling factors
> Can render using OpenGL or OpenGL-ES2 (not a requirement - just an
option)
> Can display inlined media content (images, video, documents)
> Can do multiple "tabs"
> Can do splitting into multiple panes
> Block text selection
> Drag and drop of text selections and links
> Can stream media from URLs
> Tab switcher has live thumbnail content
> Single process, multiple windows/terminals support
> Fast (gives urxvt a run for its money)
> Themable visual bell
> Compress backscroll
> Text reflow on resize
> Color palette selection
> More...
위에 보입니까? 그것은이 작업을 수행 프레임 버퍼에.
유닉스 월드 터미널 에뮬레이터는 시리얼 터미널을 에뮬레이션하는데, 사용자에게 보여줄 데이터 스트림은 시리얼 라인을 통해 한 번에 하나씩 전송됩니다.
모뎀 시간에서 이것은 일반적으로 초당 약 1000-2000 자이지만 에뮬레이트 된 하드웨어 만 관련된 경우 오늘날 훨씬 더 빠를 수 있습니다. 전송 된 바이트를 이해하는 것은 터미널에 달려 있습니다. 일반적으로 이것은 문자 표시, 커서 이동 및 화면 표시 조작을위한 것입니다. 몇몇 터미널은 그래픽 모드로 전환 할 수 있습니다. gnuplot은 상당히 비트를 지원합니다. 그러나 대역폭은 비디오 측면에서 흥미로운 것을하기에는 너무 작습니다.
여전히 에뮬레이트 하드웨어가 장착 된 최신 컴퓨터의 경우 터미널 에뮬레이터가 많은 작업을 수행 할 수 있습니다. "ttyquake"라는 검색어로 이미지를 검색하여 그 중 일부를보십시오. 그래도 HD를 갈망한다면 실망 할 것입니다.