Contents

从Linux的终端查看图像

1. 概述

开源社区为光栅和矢量图形提供了大量图像查看器,从轻量级图像查看器到高度可配置的图形处理程序。

在本文中,我们将通过几个工具来查看从 Linux 命令行查看图像的唯一目的。

2. feh

feh 是用于从命令行查看光栅图像的最小工具。我们不需要任何花哨的桌面环境或窗口管理器来运行它,因为它只使用 X 窗口系统。默认情况下,它不随大多数 Linux 发行版一起提供,因此我们需要自己安装它。

2.1. 安装

feh包应该在我们的包存储库中可用,因此我们可以通过aptyum安装 它。安装feh后,我们可以通过以下方式验证它:

$ feh --version
feh version 3.7
Compile-time switches: curl exif inotify <span class="token function">help</span> stat64 verscmp xinerama

2.2. 使用feh

使用feh非常简单。我们只需键入feh后跟路径:

$ feh [OPTIONS] <path>...

让我们打开一个图像:

$ feh ~/Downloads/myimage.png

/uploads/view_images_from_terminal/1.png

或者,我们也可以提供多个路径或一个目录:

$ feh ~/Downloads

此外,我们还可以使用 URL 查看图像:

$ feh wp-content/uploads/2018/02/photo-eugen.png

** feh没有任何 GUI 控件,但我们可以使用左右箭头**键在图像中导航。对于放大和缩小,我们可以使用向上向下箭头键。**

3. sxiv

*sxiv *是一个轻量级和可扩展的图像查看器。它代表 Simple X Image Viewer。

3.1. 安装

大多数官方包存储库中都提供 sxiv 包。像往常一样,我们可以使用aptyum 安装软件包。安装后,继续并验证sxiv是否已成功安装:

$ sxiv -v
sxiv 26

3.2. 使用sxiv

我们可以像使用feh一样使用sxiv

$ sxiv [OPTIONS] <path>...

sxiv也有内置的 GIF 支持:

$ sxiv -A 10 ~/Pictures/flower.gif

/uploads/view_images_from_terminal/2.gif

-A标志代表动画,它需要 FPS 值。因此,上面的图像将每秒显示 10 帧。像feh一样,我们也可以将目录提供给sxiv

$ sxiv -f -S 5 ~/Downloads
  • -f标志将以全屏模式启动sxiv
  • -S参数将以幻灯片模式启动查看器,图像之间有五秒的延迟

或者,我们可以使用鼠标浏览图像并使用*+ / –*键进行放大和缩小。

4. 图片魔术

ImageMagick 是一组用于对光栅图像执行操作的工具。它带有许多方便的实用程序,我们可以独立使用

4.1. 安装

一些 Linux 发行版预装了 ImageMagick。但是,如果未使用aptyum 安装imagemagick包,我们可以搜索并安装它。让我们验证一下imagemagick是否已经安装成功:

$ display --version 
Version: ImageMagick 7.1.0-2 Q16 x86_64 2021-06-25 https://imagemagick.org
Copyright: (C) 1999-2021 ImageMagick Studio LLC

4.2. 使用 ImageMagick 的显示工具

ImageMagick 带有一个显示实用程序,我们可以使用它来显示我们的图像:

$ display [OPTIONS] <path>...

我们可以给display任意数量的图像路径以按顺序显示:

$ display ~/Downloads/img_1.png ~/Downloads/img_2.png

它还带有一个经典的用户界面,我们可以用它来进行各种图像操作。例如,如果我们想旋转图像,我们只需将鼠标按钮放在图像上并选择Transform > Rotate Right

/uploads/view_images_from_terminal/3.png

5. 终端图像查看器

Terminal Image Viewer 是一个有趣的工具,可以在现代终端内显示图像。虽然它在大多数包存储库中不可用,但我们可以使用g++make自己编译和安装它。

5.1. 安装tiv

我们将从使用git克隆官方存储库开始:

$ git clone https://github.com/stefanhaustein/TerminalImageViewer.git

接下来,我们将编译并安装它,这需要在我们的机器上同时安装g++make

$ g++ --version
g++ (GCC) 11.1.0
Copyright (C) 2021 Free Software Foundation, Inc.
$ make --version
GNU Make 4.3
Built for x86_64-pc-linux-gnu
Copyright (C) 1988-2020 Free Software Foundation, Inc.
$ cd TerminalImageViewer/src/main/cpp
$ make
$ sudo make install
install -D tiv /usr/local/bin/tiv

5.2. 使用tiv

安装后,我们可以使用以下语法在终端内查看图像:

$ tiv [OPTIONS] <path>

默认情况下,它只需要一个文件路径。尽管如此,我们可以通过提供-f*标志来指定多个路径:*

$ tiv -f ~/Downloads/flower1.jpg ~/Downloads/flower2.jpg

此外,我们还可以分别使用*-h-w*标志指定行大小和字符大小:

$ tiv -w 64 -h 32 ~/Downloads/myimage.jpg

/uploads/view_images_from_terminal/4.png

6. ranger文件管理器

*ranger *是一个功能强大的 TUI 文件管理器,它还能够在终端内预览图像。

6.1. 安装ranger

大多数包存储库都提供ranger包。不过我们可以使用*pip 工具来安装。由于 Python 安装在大多数 Linux 机器上,我们将使用pip安装最新版本的ranger*:

$ sudo pip install ranger-fm

安装ranger后,通过运行以下命令对其进行验证:

$ ranger --version
ranger version: ranger 1.9.3
Python version: 3.9.6 (default, Jun 30 2021, 10:22:16) [GCC 11.1.0]
Locale: en_US.UTF-8

现在我们已经安装了ranger我们还需要一个名为w3m的附加包来进行图像预览。w3m包在大多数官方存储库中都可用,并且可以使用yum或 apt 安装。

6.2. 使用ranger

要启动ranger,只需键入ranger命令:

$ ranger

**启动后,我们可以使用hjkl键导航到我们的图像目录。**突出显示要预览的图像后,我们会注意到它并不像我们预期的那样工作。这是因为ranger默认禁用图像预览。

与 Vim 一样,Ranger 具有命令模式功能,我们可以通过它配置文件管理器的行为。只需按*“:”*键进入命令模式,然后输入命令以启用图像预览:

:set preview_images true

如果我们希望配置持久化,我们可以简单地将其保存在~/.config/ranger/rc.conf*文件*中:

$ echo "set preview_images true" >> ~/.config/ranger/rc.conf

现在,我们将能够在ranger中预览我们的图像。*此外,如果遇到w3m问题,我们可以从 Python 包索引存储库安装ueberzug *包。

/uploads/view_images_from_terminal/5.png

7. 使用浏览器作为图像查看器

现代浏览器能够查看图像,但**如果我们要查看图像会消耗更多资源。**因此,这应该是我们最后的手段。对于 Mozilla Firefox,键入firefox命令,后跟图像路径:

$ firefox ~/Downloads/myimage.png

同样,对于其他浏览器,我们可以使用适当的浏览器名称后跟图像路径:

$ opera ~/Downloads/myimage.png
$ google-chrome ~/Downloads/myimage.png
$ brave ~/Downloads/myimage.png
$ chromium ~/Downloads/myimage.png

8. GUI 图像查看器

大多数桌面环境(如 GNOME、KDE和 XFCE)都带有图像查看器作为好东西。如果我们使用的是桌面环境,我们可以简单地从命令行启动图像查看器包。例如,在 GNOME 上,我们可以使用*eog *:

$ eog ~/Downloads/myimage.png

同样,对于其他桌面环境,我们可以输入程序名称,后跟图像路径或目录:

$ gwenview ~/Downloads/
$ ristretto ~/Downloads/
$ eom ~/Downloads/

9. xdg-open工具

有时在 Linux 上,我们可能不确定我们的 Linux 系统上安装了哪种图像查看器。出于这个原因,我们可以使用*xdg-open *工具,它将在我们首选的程序中打开图像:

$ xdg-open ~/Downloads/myimage.png

但是,如果它找不到合适的程序来处理该文件,它将以状态码 3 退出