如何在终端中显示缩略图

前段时间,我们讨论过 结尾它看到了 – CLI 图像查看器应用程序,用于从命令行显示各种类型的图像,例如 bmp、gif、jpeg 和 png 等。 今天,我偶然发现了一个类似的实用程序,名为 lsix. 它就像是 ‘ls‘ 类 Unix 系统中的命令,但仅适用于图像。 lsix 是一个简单的 CLI 实用程序,旨在使用 西塞尔 图形。 对于那些想知道的人,Sixel,简称 六个像素, 是一种位图图形格式。 它用 ImageMagick,因此几乎所有 imagemagick 支持的文件格式都可以正常工作。

特征

关于 lsix 的特性,我们可以列举如下:

  • 自动检测您的终端是否支持 Sixel 图形。 如果您的终端不支持 Sixel,它会通知您启用它。
  • 自动检测终端背景颜色。 它使用终端转义序列来尝试找出终端应用程序的前景色和背景色,并清楚地显示缩略图。
  • 如果目录中有更多图像,通常 >21,lsix 将一次显示这些图像一行,因此您无需等待整个蒙太奇创建完成。
  • 在 SSH 上运行良好,因此您可以轻松操作存储在远程 Web 服务器上的图像。
  • 支持非位图图形,如.svg、.eps、.pdf、.xcf等。
  • 用 BASH 编写,因此适用于几乎所有 Linux 发行版。

在 Linux 中安装 lsix

由于 lsix 使用 ImageMagick,请确保您已安装它。

ImageMagick 在大多数 Linux 发行版的默认存储库中都可用。 例如,在 Arch Linux 及其变体(如 Antergos、Manjaro Linux、ImageMagick)上,可以使用以下命令安装:

$ sudo pacman -S imagemagick

在 Debian、Ubuntu、Linux Mint 上:

$ sudo apt-get install imagemagick

lsix 不需要任何安装,因为它只是一个 BASH 脚本。 只需下载它并将其移动到您的 $PATH 中。 就是这么简单。

从项目的 github 页面下载最新的 lsix 版本。 我将使用以下命令下载 lsix 存档文件:

$ wget https://github.com/hackerb9/lsix/archive/master.zip

解压下载的 zip 文件:

$ unzip master.zip

此命令会将所有内容提取到名为 ‘lsix-master‘。 例如,将此目录中的 lsix 二进制文件复制到 $PATH /usr/local/bin/.

$ sudo cp lsix-master/lsix /usr/local/bin/

最后,使 lsbix 二进制可执行文件:

$ sudo chmod +x /usr/local/bin/lsix

而已。 现在是在终端本身中显示缩略图的时候了。

在开始使用 lsix 之前, 确保您的终端支持 Sixel 图形.

开发人员在 Xterm 上开发了 lsix vt340 仿真模式. 但是,他声称 lsix 应该可以在任何与 Sixel 兼容的终端上运行。

Xterm 支持 Sixel 图形,但默认情况下不启用。

您可以使用命令(从另一个终端)在启用 Sixel 模式的情况下启动 Xterm:

$ xterm -ti vt340

或者,您可以将 vt340 设置为 Xterm 的默认终端类型,如下所述。

编辑 .Xresources 文件(如果它不可用,只需创建它):

$ vi .Xresources

添加以下行:

xterm*decTerminalID    :   vt340

退出 并输入 :wq 保存和 close 文件。

最后,运行以下命令以应用更改:

$ xrdb -merge .Xresources

现在 Xterm 将在每次启动时默认启用 Sixel 模式。

在终端中显示缩略图图像

启动 Xterm(不要忘记以 vt340 模式启动它)。 这是 Xterm 在我的系统中的样子。

xterm 窗口

就像我已经说过的,lsix 是一个非常简单的实用程序。 它没有任何命令行标志或配置文件。 您所要做的就是将文件的路径作为参数传递,如下所示。

$ lsix ostechnix/logo.png
使用 lsix 显示缩略图

如果您在没有路径的情况下运行它,它将在您当前的工作目录中显示缩略图。 我在一个名为的目录中有几个文件 ostechnix.

要在此目录中显示缩略图,只需运行:

$ lsix
使用 lsix 显示缩略图使用 lsix 显示缩略图

看? 所有文件的缩略图都显示在终端本身中。

如果你使用 'ls‘ 命令,您只会看到文件名,而不是缩略图。

ls 命令输出ls 命令输出

您还可以使用通配符显示特定类型的特定图像或图像组。

例如,要显示单个图像,只需提及图像的完整路径,如下所示。

$ lsix girl.jpg
显示单个缩略图显示单个缩略图

要显示特定类型的所有图像,例如 PNG,请使用如下通配符。

$ lsix *.png
显示特定类型的所有图像显示特定类型的所有图像

对于 JPEG 类型的图像,命令将是:

$ lsix *.jpg

缩略图图像质量出奇的好。 我以为 lsix 只会显示模糊的缩略图。 我错了。 缩略图清晰可见,就像它们出现在图形图像查看器上一样。

而且,这就是现在的全部。 如您所见, lsix 与 ‘ 非常相似ls‘ 命令,但它仅用于显示缩略图。 如果您在工作中处理大量图像,则 lsix 可能会非常方便。

试一试,并在下面的评论部分告诉我们您对该实用程序的看法。 如果您知道任何类似的工具,也请推荐它们。 我将检查并更新本指南。

资源:

  • lsix GitHub 存储库

BASHImageMagickLinuxlslsixSixelTerminalThumbnail Imagesxterm