lsix: 터미널에서 이미지 썸네일을 보여주는 도구
사용법
-
lsix [파일들 ...]
명령어로 사용 가능함.
- 기본적으로 현재 작업 디렉토리의 이미지를 보여줌.
- 파일 이름을 지정하거나 와일드카드를 사용할 수 있음 (예:
lsix *jpg*png
).
예제
기본 사용법
-
lsix
명령어를 입력하면 현재 디렉토리의 이미지를 보여줌.
- 특정 파일 형식을 강제로 표시하려면 파일 이름을 지정하거나 와일드카드를 사용함 (예:
lsix *.pdf
).
GIF 확장
- GIF 파일을 지정하면 모든 프레임이 확장되어 몽타주로 표시됨 (예:
lsix nyancat.gif
).
터미널 배경색 감지
- PNG 및 SVG 파일은 터미널 배경색에 맞게 알파 채널을 올바르게 표시함.
- 터미널의 전경색과 배경색을 감지하여 적절히 조정함.
기능
- 터미널이 SIXEL 그래픽을 표시할 수 있는지 감지함.
- SSH를 통해 원격 서버에서도 잘 작동함.
- 비트맵이 아닌 그래픽도 잘 작동함 (예: .svg, .eps, .pdf, .xcf).
- 터미널의 색상 레지스터 수를 자동으로 감지하고 이미지 품질을 향상시킴.
- 터미널의 전경색과 배경색을 자동으로 감지함.
- 많은 이미지가 있는 경우 한 줄씩 표시하여 전체 몽타주를 기다릴 필요가 없음.
- 긴 파일 이름을 적절히 감싸서 표시함.
- 몽타주의 타일 너비, 폰트 패밀리, 포인트 크기 등을 쉽게 변경할 수 있음.
설치
-
lsix
파일을 경로에 넣고 실행함 (예: /usr/local/bin).
- ImageMagick이 필요함. 패키지 관리자를 통해 쉽게 설치 가능 (예:
apt-get install imagemagick
).
- MacOS 사용자는
brew install lsix
명령어로 설치 가능.
터미널 지원
- SIXEL 그래픽을 지원하는 터미널: XTerm, MLterm, foot, Wezterm, Contour, iTerm2, Konsole, yakuake, WSLtty, MinTTY, Yaft, VTE, sixel-tmux, ttyd.
- SIXEL 그래픽을 지원하지 않는 터미널: MacOS Terminal, kitty, 모든 표준 libvte 기반 터미널 (gnome-terminal, terminator, lxterm), Alacritty.
구성
-
lsix
는 매우 간단하게 설계되어 별도의 구성 파일이나 명령줄 플래그가 없음.
- 스크립트를 직접 편집하여 쉽게 변경 가능.
버그
- XTerm의 역방향 비디오 모드에서 배경색이 올바르게 표시되지 않음.
- XTerm의 화면 너비가 1000px로 제한됨.
- 파일 이름이 "@"로 시작하면 ImageMagick이 오류를 일으킴.
- 빈 문자열을 파일 이름으로 지정하면 ImageMagick이 멈춤.
- 긴 파일 이름이 비효율적으로 감싸짐.
- 명령줄에서 지정된 디렉토리가 재귀적으로 처리되지 않음.
- 비디오 파일을 지정하면 문제가 발생할 수 있음.
향후 문제
- SIXEL 표준은 그래픽 화면의 크기를 쿼리하는 방법이 없음.
- 색상 레지스터 수를 쿼리하는 방법이 없음.
- 일부 터미널 에뮬레이터는 lsix와 호환되지 않음.
GN⁺의 의견
-
터미널 이미지 보기: lsix는 터미널에서 이미지를 쉽게 볼 수 있게 해주는 유용한 도구임. 특히 원격 서버에서 이미지를 확인할 때 유용함.
-
호환성 문제: 모든 터미널이 SIXEL 그래픽을 지원하지 않으므로 사용 전에 호환성을 확인해야 함.
-
간단한 설치: 설치가 매우 간단하고 필요한 소프트웨어도 쉽게 구할 수 있음.
-
사용자 정의 가능성: 스크립트가 간단하여 사용자가 쉽게 수정하고 확장할 수 있음.
-
대체 도구: 비슷한 기능을 제공하는 다른 도구로는
img2sixel
등이 있음.