从Linux的终端查看图像
1. 概述
开源社区为光栅和矢量图形提供了大量图像查看器,从轻量级图像查看器到高度可配置的图形处理程序。
在本文中,我们将通过几个工具来查看从 Linux 命令行查看图像的唯一目的。
2. feh
feh 是用于从命令行查看光栅图像的最小工具。我们不需要任何花哨的桌面环境或窗口管理器来运行它,因为它只使用 X 窗口系统。默认情况下,它不随大多数 Linux 发行版一起提供,因此我们需要自己安装它。
2.1. 安装
feh包应该在我们的包存储库中可用,因此我们可以通过apt或yum安装 它。安装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
或者,我们也可以提供多个路径或一个目录:
$ feh ~/Downloads
此外,我们还可以使用 URL 查看图像:
$ feh wp-content/uploads/2018/02/photo-eugen.png
** feh没有任何 GUI 控件,但我们可以使用左右箭头**键在图像中导航。对于放大和缩小,我们可以使用向上和向下箭头键。**
3. sxiv
*sxiv *是一个轻量级和可扩展的图像查看器。它代表 Simple X Image Viewer。
3.1. 安装
大多数官方包存储库中都提供 sxiv 包。像往常一样,我们可以使用apt或yum 安装软件包。安装后,继续并验证sxiv是否已成功安装:
$ sxiv -v
sxiv 26
3.2. 使用sxiv
我们可以像使用feh一样使用sxiv:
$ sxiv [OPTIONS] <path>...
sxiv也有内置的 GIF 支持:
$ sxiv -A 10 ~/Pictures/flower.gif
-A标志代表动画,它需要 FPS 值。因此,上面的图像将每秒显示 10 帧。像feh一样,我们也可以将目录提供给sxiv:
$ sxiv -f -S 5 ~/Downloads
- -f标志将以全屏模式启动sxiv
- -S参数将以幻灯片模式启动查看器,图像之间有五秒的延迟
或者,我们可以使用鼠标浏览图像并使用*+ / –*键进行放大和缩小。
4. 图片魔术
ImageMagick 是一组用于对光栅图像执行操作的工具。它带有许多方便的实用程序,我们可以独立使用。
4.1. 安装
一些 Linux 发行版预装了 ImageMagick。但是,如果未使用apt或yum 安装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。
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
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
**启动后,我们可以使用h、j、k和l键导航到我们的图像目录。**突出显示要预览的图像后,我们会注意到它并不像我们预期的那样工作。这是因为ranger默认禁用图像预览。
与 Vim 一样,Ranger 具有命令模式功能,我们可以通过它配置文件管理器的行为。只需按*“:”*键进入命令模式,然后输入命令以启用图像预览:
:set preview_images true
如果我们希望配置持久化,我们可以简单地将其保存在~/.config/ranger/rc.conf*文件*中:
$ echo "set preview_images true" >> ~/.config/ranger/rc.conf
现在,我们将能够在ranger中预览我们的图像。*此外,如果遇到w3m问题,我们可以从 Python 包索引存储库安装ueberzug *包。
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 退出。