lsix: เครื่องมือแสดงภาพขนาดย่อในเทอร์มินัล
วิธีใช้งาน
- ใช้งานได้ด้วยคำสั่ง
lsix [ไฟล์ ...]
- โดยค่าเริ่มต้นจะแสดงรูปภาพในไดเรกทอรีทำงานปัจจุบัน
- สามารถระบุชื่อไฟล์หรือใช้ไวลด์การ์ดได้ (เช่น
lsix *jpg*png)
ตัวอย่าง
การใช้งานพื้นฐาน
- เมื่อพิมพ์คำสั่ง
lsix จะแสดงรูปภาพในไดเรกทอรีปัจจุบัน
- หากต้องการบังคับให้แสดงไฟล์ชนิดใดชนิดหนึ่ง ให้ระบุชื่อไฟล์หรือใช้ไวลด์การ์ด (เช่น
lsix *.pdf)
การขยาย GIF
- เมื่อระบุไฟล์ GIF ทุกเฟรมจะถูกขยายและแสดงเป็นมอนทาจ (เช่น
lsix nyancat.gif)
การตรวจจับสีพื้นหลังของเทอร์มินัล
- ไฟล์ PNG และ SVG จะแสดงอัลฟาแชนเนลได้อย่างถูกต้องให้เข้ากับสีพื้นหลังของเทอร์มินัล
- ตรวจจับสีตัวอักษรและสีพื้นหลังของเทอร์มินัลแล้วปรับให้เหมาะสม
คุณสมบัติ
- ตรวจจับได้ว่าเทอร์มินัลสามารถแสดงกราฟิก SIXEL ได้หรือไม่
- ทำงานได้ดีบนเซิร์ฟเวอร์ระยะไกลผ่าน SSH
- รองรับกราฟิกที่ไม่ใช่บิตแมปได้ดีด้วย (เช่น .svg, .eps, .pdf, .xcf)
- ตรวจจับจำนวน color register ของเทอร์มินัลโดยอัตโนมัติและปรับปรุงคุณภาพของภาพ
- ตรวจจับสีตัวอักษรและสีพื้นหลังของเทอร์มินัลโดยอัตโนมัติ
- เมื่อมีรูปภาพจำนวนมาก จะแสดงทีละบรรทัด จึงไม่ต้องรอให้มอนทาจทั้งหมดเสร็จก่อน
- แสดงชื่อไฟล์ยาว ๆ แบบตัดบรรทัดอย่างเหมาะสม
- เปลี่ยนความกว้างของไทล์ในมอนทาจ, font family, point size ฯลฯ ได้อย่างง่ายดาย
การติดตั้ง
- วางไฟล์
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 ถูกออกแบบให้เรียบง่ายมาก จึงไม่มีไฟล์ตั้งค่าหรือแฟลกคำสั่งแยกต่างหาก
- สามารถแก้ไขสคริปต์โดยตรงเพื่อปรับเปลี่ยนได้ง่าย
บั๊ก
- สีพื้นหลังแสดงไม่ถูกต้องในโหมด reverse video ของ XTerm
- ความกว้างหน้าจอของ XTerm ถูกจำกัดไว้ที่ 1000px
- หากชื่อไฟล์ขึ้นต้นด้วย "@" จะทำให้ ImageMagick เกิดข้อผิดพลาด
- หากกำหนดสตริงว่างเป็นชื่อไฟล์ ImageMagick จะค้าง
- ชื่อไฟล์ยาวถูกตัดบรรทัดอย่างไม่มีประสิทธิภาพ
- ไดเรกทอรีที่ระบุผ่านบรรทัดคำสั่งจะไม่ถูกประมวลผลแบบ recursive
- อาจเกิดปัญหาเมื่อระบุไฟล์วิดีโอ
ปัญหาในอนาคต
- มาตรฐาน SIXEL ไม่มีวิธี query ขนาดของหน้าจอกราฟิก
- ไม่มีวิธี query จำนวน color register
- เทอร์มินัลอีมูเลเตอร์บางตัวไม่เข้ากันกับ lsix
ความเห็นของ GN⁺
- การดูภาพในเทอร์มินัล: lsix เป็นเครื่องมือที่มีประโยชน์สำหรับการดูรูปภาพในเทอร์มินัลได้อย่างง่ายดาย โดยเฉพาะเมื่อต้องตรวจสอบรูปภาพบนเซิร์ฟเวอร์ระยะไกล
- ปัญหาความเข้ากันได้: ไม่ใช่ทุกเทอร์มินัลที่จะรองรับกราฟิก SIXEL จึงควรตรวจสอบความเข้ากันได้ก่อนใช้งาน
- ติดตั้งง่าย: การติดตั้งทำได้ง่ายมาก และซอฟต์แวร์ที่ต้องใช้ก็หาได้ไม่ยาก
- ปรับแต่งได้: สคริปต์มีความเรียบง่าย จึงทำให้ผู้ใช้แก้ไขและขยายความสามารถได้สะดวก
- เครื่องมือทางเลือก: เครื่องมืออื่นที่ให้ความสามารถคล้ายกันมี
img2sixel เป็นต้น
1 ความคิดเห็น
ความเห็นจาก Hacker News
--enable-sixelและใช้เครื่องมืออย่าง lsix ได้แล้ว หากต้องการตรวจสอบว่าเทอร์มินัลหรือมัลติเพล็กเซอร์ที่คุณชอบรองรับ sixel หรือไม่ สามารถดูได้จากเว็บไซต์ "Are We Sixel Yet"README.md.dคิดว่าเป็นไอเดียที่ดี และน่าจะตัด.mdออกไปได้ด้วย\e[cโดย\e[cคือฟังก์ชัน "Send Device Attributes"