use*_*825 79
也许caca就是你想要的。对于图像:
sudo apt-get install caca-utils
cacaview /PATH/TO/image.jpg
Run Code Online (Sandbox Code Playgroud)
确保您的终端窗口足够大。
例如,以下是此图像的显示方式cacaview:

我有时会用它来娱乐在 mplayer 中以 ASCII 格式观看视频:) 像这样:
mplayer -vo caca /PATH/TO/video.mpg
Run Code Online (Sandbox Code Playgroud)
joe*_*lom 77
更新 2021-03-02
Viu是一个图像查看器,可以使用 kitty、iterm 或 libsixel 方法显示图像。它还具有后备模式来显示块状 ascii 图像。
更新 2018-12-31
全能的终端模拟器 kitty 有一个icat显示图像的命令(在 tmux 中不起作用)。Kitty 还启用了Ranger(一个终端文件管理器)中的图像预览,这是我目前最常用的方法(在 tmux 中有效)。
虽然主要目的w3m是提供控制台内的网页浏览,但它也可用于在终端中查看图像。要安装的相关软件包是w3m和w3m-img(至少在 Ubuntu 上)。然后,您需要通过传递-o ext_image_viewer=0或进入内部的选项菜单 ('o')w3m并禁用外部图像查看来禁用外部图像查看器。
现在,键入w3m <image_name>将在终端中显示图像。w3m将使用整个终端窗口,因此在退出之前您无法看到以前的命令w3m(想想less,不是cat)。请注意,如果图像太大以适合终端窗口,它仍将在外部打开(对我来说在 imagemagick 中)。另请注意,即使我阅读了多个w3m内嵌图像不起作用的地方gnome-terminal,它对我来说也很好用。您必须键入q两次才能先关闭图像,然后再关闭,这有点烦人w3m。
tycat是terminology图像的一部分并显示图像,如cat显示文本文件和imgcat适用于 OS X 上的 iTerm2 的作品。
安装libsixel-bin和任何兼容的终端(本自述文件的“要求”下提到的示例,例如mlterm或xterm使用正确的标志编译,您可以使用img2sixel命令查看图像。这两个包都在 Ubuntu 存储库中可用。
然后是FIM,它是fbi. 主页说明它不仅可以使用帧缓冲区显示图像,还可以使用 X 显示图像。但是,它不会为我安装。编辑我通过下载 0.5 主干版本来运行它,运行./configure --disable-exif然后anaconda从我的路径中临时删除(python 发行版),因为它libpng在运行之前引起了冲突,make并且sudo checkinstall(您需要使用 手动写入版本号checkinstall,但它使它更容易删除比make install)。然而,图像仍然显示在一个单独的窗口中,尽管fbi你不需要运行 X,这很酷。
您还可以发挥创意并使用 jupyter-qtconsole 作为您的系统控制台,将其配置为显示内联图 ( %matplotlib inline),然后使用 matplotlib =)显示图像
feh正在使用 X 显示图像,但feh -x在无边框窗口中弹出它们,该窗口可以使用q或快速关闭x。虽然图像没有显示在终端中,但我认为值得一提,因为它是我迄今为止发现的侵入性最小的方式,并且在gnome-terminal获得imgcat/tycat等效之前我正在使用它。
Ste*_*ein 53
我编写了一个小型 C++ 工具,用于将图像转换为 ANSI RGB 控制代码和 Unicode 块图形字符,用于支持这些功能的现代终端:https : //github.com/stefanhaustein/TerminalImageViewer
安装:
git clone https://github.com/stefanhaustein/TerminalImageViewer.git
cd TerminalImageViewer/src/main/cpp
make
sudo make install
Run Code Online (Sandbox Code Playgroud)
用法:
tiv <image(s)>
Run Code Online (Sandbox Code Playgroud)
编辑:更改了主存储库的链接/说明;添加用法。
例子:
hac*_*rb9 41
我制作了一个非常快速、简单的单行 shell 函数,它完全按照模型中的要求解决了原始问题。请注意,下面的屏幕截图是实际图像,而不是模型。
function lsix() { montage -tile 7x1 -label %f -background black -fill white "$@" gif:- | convert - -colors 16 sixel:-; }
Run Code Online (Sandbox Code Playgroud)
先决条件是最少的:xterm 和 ImageMagick ( apt-get install xterm imagemagick)。您的 xterm 必须处于 vt340 模式,您可以~/.Xresources在命令行 ( xterm -ti vt340)中或从命令行进行设置。
限制:所有显示的图像仅使用 16 种颜色。这意味着,单独查看图像时可能会更好看。(见下文)。
更新
虽然我上面的答案仍然正确,但我已经创建了一个更好的 shell 脚本,它能够将图像的“ls”直接输入到终端中。我添加了各种各样的改进来使图像看起来更好(更多的颜色、适当的 alpha、JPEG 方向、处理大量图像、紧凑的平铺布局……)。它仍然是一个相当小的程序,但我认为人们可能想要定制它,所以我把它放在 github 上:https : //github.com/hackerb9/lsix。
Ami*_* KK 32
您不能在终端窗口中执行此操作,但可以在Linux 控制台中使用fbi. 您需要一个帧缓冲区来允许它工作:
sudo apt-get install fbi
Run Code Online (Sandbox Code Playgroud)
去一个Linux控制台(使用Ctrl+ Alt+ F1),并输入fbi <filename>
它应该显示您的图像。
Jav*_*pez 23
另一种选择是术语:
https://www.youtube.com/watch?feature=player_embedded&v=ibPziLRGvkg
您可以通过添加enlightenment-git存储库在Ubuntu 上安装它:
sudo add-apt-repository ppa:enlightenment-git/ppa
sudo apt-get update && sudo apt-get install terminology
Run Code Online (Sandbox Code Playgroud)
或者在最近的 Ubuntu 版本 >= Vivid (15.04) 中,它可以从官方存储库中获取。
sudo apt-get install terminology
Run Code Online (Sandbox Code Playgroud)
要查看图像,请键入tycat IMAGENAME,要查看图像列表,请键入tyls -m。
小智 18
另一个工具是catimg可以使用安装
sudo apt-get install catimg
Run Code Online (Sandbox Code Playgroud)
它实际上并不查看图像,而是将其转换为彩色字符。
Meh*_*ian 13
只是为了添加到该集合中(也许也是为了将来的我),还有一个名为chafa的积极开发/维护的软件,其工作原理与catimg类似。除了 GIF 之外,两者都可以显示图像。
# install chafa
sudo apt install chafa
# open a file
chafa file.gif
Run Code Online (Sandbox Code Playgroud)

# install catimg
sudo apt install catimg
# open a file
catimg filename.gif
Run Code Online (Sandbox Code Playgroud)

sak*_*jur 12
实际上有一个名为TermKit的项目,如果你想测试它 - 查看http://blog.easytech.com.ar/2011/05/21/playing-with-termkit-with-chrome/但它相当未完成(因为你似乎有一台 Mac,你应该尝试 Mac 版本,因为它是“原版”)
所以是的,这是一个值得探索的想法,但是 - 图形和纯文本模式之间的切换必须很快,因为我并不总是需要查看图像。此外 - 它需要与例如 Vim 完全兼容..
这不存在;gnome-terminal只能显示文本,至少据我所知。
但是,您可以从命令行调用图像查看器来查看特定文件夹中的图片。因此,从上面显示您列出当前文件夹中所有 .jpg 图片的模型开始,您可以使用命令行中的 Eye of GNOME(Ubuntu 的默认图像查看器)进行类似操作:
eog *.jpg &
Run Code Online (Sandbox Code Playgroud)
请注意,出现的窗口一次只会显示一张图像,但您可以使用提供的箭头按钮在它们之间循环。
小智 8
我写了一个工具来做到这一点。我将我的在终端中显示图像命名为 ( siit)。它假设您有一个 256 色终端和 UTF8 支持,并且它是用 perl 编写的。
我把它放在我的~/bin. 它假设您有 Image::Magick、Term::Size、Getopt::Long 和 Time:HiRes,它们都应该在您的发行版存储库或 CPAN 中可用。
我的目的是通过 ssh 进入我的房子,并在不通过 X 上启动显示器的情况下快速查看图像。脚本缩放到您所在终端的适当宽度/高度。我使用 UTF8 字符有效地将终端的垂直分辨率加倍,这真的有助于清晰。天啊。
除了Joel 的回答之外,带有扩展名的Ranger终端文件管理器w3mimgdisplay可以显示全彩色图像,还支持“oldschool ASCII art previews”。这是启用它的方法。这可能不是您正在寻找的确切内容,而是一种在终端中预览图像的方法。