4 điểm bởi GN⁺ 2024-06-08 | 1 bình luận | Chia sẻ qua WhatsApp

lsix: Công cụ hiển thị ảnh thu nhỏ trong terminal

Cách dùng

  • Có thể sử dụng bằng lệnh lsix [các_tệp ...].
  • Mặc định sẽ hiển thị các hình ảnh trong thư mục làm việc hiện tại.
  • Có thể chỉ định tên tệp hoặc dùng ký tự đại diện (ví dụ: lsix *jpg*png).

Ví dụ

Cách dùng cơ bản

  • Nhập lệnh lsix để hiển thị các hình ảnh trong thư mục hiện tại.
  • Để buộc hiển thị một định dạng tệp cụ thể, hãy chỉ định tên tệp hoặc dùng ký tự đại diện (ví dụ: lsix *.pdf).

Mở rộng GIF

  • Khi chỉ định tệp GIF, tất cả các khung hình sẽ được bung ra và hiển thị dưới dạng montage (ví dụ: lsix nyancat.gif).

Phát hiện màu nền terminal

  • Các tệp PNG và SVG sẽ hiển thị alpha channel đúng theo màu nền của terminal.
  • Tự động phát hiện màu chữ và màu nền của terminal để điều chỉnh phù hợp.

Tính năng

  • Phát hiện terminal có thể hiển thị đồ họa SIXEL hay không.
  • Hoạt động tốt cả trên máy chủ từ xa qua SSH.
  • Cũng hoạt động tốt với đồ họa không phải bitmap (ví dụ: .svg, .eps, .pdf, .xcf).
  • Tự động phát hiện số lượng color register của terminal để cải thiện chất lượng hình ảnh.
  • Tự động phát hiện màu chữ và màu nền của terminal.
  • Khi có nhiều hình ảnh, hiển thị theo từng dòng nên không cần chờ toàn bộ montage hoàn tất.
  • Hiển thị tên tệp dài với việc xuống dòng hợp lý.
  • Có thể dễ dàng thay đổi chiều rộng tile của montage, font family, cỡ point và nhiều thứ khác.

Cài đặt

  • Đặt tệp lsix vào đường dẫn và chạy nó (ví dụ: /usr/local/bin).
  • Cần có ImageMagick. Có thể cài dễ dàng qua trình quản lý gói (ví dụ: apt-get install imagemagick).
  • Người dùng MacOS có thể cài bằng lệnh brew install lsix.

Hỗ trợ terminal

  • Các terminal hỗ trợ đồ họa SIXEL: XTerm, MLterm, foot, Wezterm, Contour, iTerm2, Konsole, yakuake, WSLtty, MinTTY, Yaft, VTE, sixel-tmux, ttyd.
  • Các terminal không hỗ trợ đồ họa SIXEL: MacOS Terminal, kitty, tất cả terminal tiêu chuẩn dựa trên libvte (gnome-terminal, terminator, lxterm), Alacritty.

Cấu hình

  • lsix được thiết kế rất đơn giản nên không có tệp cấu hình riêng hay cờ dòng lệnh.
  • Có thể dễ dàng chỉnh sửa bằng cách sửa trực tiếp script.

Lỗi

  • Ở chế độ reverse video của XTerm, màu nền không hiển thị đúng.
  • Chiều rộng màn hình của XTerm bị giới hạn ở 1000px.
  • Nếu tên tệp bắt đầu bằng "@", ImageMagick sẽ gây lỗi.
  • Nếu chỉ định chuỗi rỗng làm tên tệp, ImageMagick sẽ treo.
  • Tên tệp dài bị xuống dòng kém hiệu quả.
  • Thư mục được chỉ định trên dòng lệnh không được xử lý đệ quy.
  • Có thể phát sinh vấn đề khi chỉ định tệp video.

Các vấn đề trong tương lai

  • Chuẩn SIXEL không có cách truy vấn kích thước của màn hình đồ họa.
  • Không có cách truy vấn số lượng color register.
  • Một số terminal emulator không tương thích với lsix.

Ý kiến của GN⁺

  • Xem ảnh trong terminal: lsix là công cụ hữu ích giúp xem hình ảnh trong terminal một cách dễ dàng. Đặc biệt hữu ích khi cần kiểm tra hình ảnh trên máy chủ từ xa.
  • Vấn đề tương thích: Không phải terminal nào cũng hỗ trợ đồ họa SIXEL, vì vậy cần kiểm tra khả năng tương thích trước khi sử dụng.
  • Cài đặt đơn giản: Việc cài đặt rất đơn giản và phần mềm cần thiết cũng dễ kiếm.
  • Khả năng tùy biến: Script đơn giản nên người dùng có thể dễ dàng sửa đổi và mở rộng.
  • Công cụ thay thế: Các công cụ khác cung cấp tính năng tương tự gồm có img2sixel.

1 bình luận

 
GN⁺ 2024-06-08
Ý kiến Hacker News
  • Nhánh sixel thử nghiệm của Tmux đã được hợp nhất vào nhánh chính khoảng 10 tháng trước. Giờ đây có thể build Tmux với tùy chọn --enable-sixel và dùng các công cụ như lsix. Nếu muốn kiểm tra terminal hoặc multiplexer yêu thích của bạn có hỗ trợ sixel hay không, có thể tham khảo trang "Are We Sixel Yet".
  • Tính năng tôi thích nhất trong repository này là thư mục README.md.d. Tôi nghĩ đó là một ý tưởng hay. Có lẽ bỏ .md đi cũng không sao.
  • Tự động phát hiện hỗ trợ sixel bằng \e[c. \e[c là chức năng "gửi thuộc tính thiết bị".
  • Theo hướng tương tự, cũng có công cụ tên là timg.
  • Ý tưởng hay, nhưng không hoạt động trên PuTTY/ KiTTY. Bạn cần dùng terminal hỗ trợ đồ họa sixel. Để kiểm tra terminal có hỗ trợ sixel hay không, bạn có thể chuyển đổi một hình ảnh để xác nhận. Nếu không được hỗ trợ, bạn có thể gửi báo cáo lỗi.
  • iTerm2 trên macOS cung cấp tính năng tương tự nhưng làm giảm tải phía server. Thay vì render hình ảnh thành sixel ở phía server, nó gửi hình ảnh được mã hóa base64 tới client để render cục bộ.
  • Từ phiên bản 0.44.0, fzf cung cấp hỗ trợ hình ảnh sixel (thử nghiệm) trong cửa sổ xem trước. Tuy nhiên, không thể dùng trên Windows.
  • Font của HN có thể gây hiểu lầm. Tôi đang chờ tiêu đề tiếp theo: 'Isis, giống như "ls", nhưng dành cho bọn khủng bố.'
  • Cần cẩn thận khi chạy công cụ này trong các thư mục không đáng tin cậy. Đặc biệt phải lưu ý nếu nó dùng ImageMagick để xử lý các tệp như pdf.
  • Miễn là terminal hỗ trợ đồ họa sixel thì sẽ không có vấn đề gì.