从终端查看图像的最快方法是什么?


240

终端是快速访问目录和文件的快捷方式(比查找并单击目录要快)。

它无法以文本模式显示的一件事是“图片”。

当您在终端中工作时(例如命令nautilus或任何程序-但应该快速且方便),查看图片的最佳方式是什么(就像您在Nautilus中看到图片缩略图一样)?



我只是在桌面环境下运行终端仿真器。因此,您同时拥有两者的优势。
vonbrand 2014年

这里我要反对,因为需要(大概是GUI)终端查看图像文件(此问题)与需要在控制台查看图像文件(另一个问题)之间存在很大差异。
goldilocks 2014年

在此问答中,我提供了几乎所有选项的列表:如何快速获取JPEG缩略图
slm

Answers:


224

从命令行“双击”文件的方法是xdg-open

如果您使用的是Gnome(可能是使用Nautilus),则可以eog直接使用,也可以使用其他任何图像程序(feh相当不错)。

feh <image-name>      

如果您想查阅image-name文件easilly。


1
feh甚至可以使用多个URL!
Serge Stroobandt,2016年

6
@Searene是的!长寿feh。但是我发现feh没有缩放或任何其他功能。eog但是,它还是轻量级的,此外,它还可以缩放旋转和浏览文件夹中的图像:)。只是为了让人们在做出选择之前就知道。
love.by.Jesus

1
虽然eog在我的Ubuntu操作系统是预装的,我还是喜欢feh表兄弟姐妹它可以被关闭q,同时eogxdg-open可以被关闭esc
伊万·胡

5
实际上,feh它确实具有缩放,全屏,滚动等功能。请
参见

1
@pikachuchameleon,您需要设置X11环境并转发。看看这些说明
Kevin Kevin

101

如果您恰巧安装了imagemagick,则可以使用其非常方便的显示命令行工具。

display path/to/picture.png

2
我个人更喜欢feh,但是display通常安装在feh未安装或未安装其他图像浏览器的Web服务器上。
pevik 2014年

3
在Ubuntu 16.04 LTS Desktop和股票Raspbian上,显示效果很好。无需安装。从2017
开始的

太好了,甚至可以在流中使用:curl https://example.com/image.jpg | display
Pavel

96

我通常python -m SimpleHTTPServer 8080从包含图像的文件夹运行,然后从浏览器在localhost:8080 / path / to / image.jpg进行查看。非常适合浏览和查看同一目录中的不同图像和文本文件。

编辑:此方法也适用于远程框。只需如上所述运行python服务器,如果端口打开,则可以连接到myserver.com:8080/path/to/image.jpg。如果服务器未公开端口,则可以使用设置ssh隧道,ssh me@myserver.com -N -L localhost:8080:localhost:8080然后从本地浏览器在localhost:8080 / path / to / image.jpg查看图像。请注意,此http接口比ssh -X 快得多


11
聪明!像魅力一样工作,无需键入/path/to/image.jpg。只需打开localhost:8080并单击文件名即可。
罗杰·达尔2015年

1
关于最后一段,您也可以使用PuTTY配置轻松添加隧道!然后,您可以通过浏览器访问它。太棒了!
ADTC

12
我需要python -m http.serverPython 3
drstevok

x-www-browser /path/to/imagefirefox /path/to/image
Gayan Weerakutti

很棒的把戏!正是我想要的。
Neara

70

我创建了一个工具,该工具使用各种unicode块图形字符来提高分辨率(与此处发布的其他解决方案采用的每个字符2像素的规范方法相比)。如果提供了多个图像作为输入,它也会以缩略图模式自动显示图像。

安装:

git clone https://github.com/stefanhaustein/TerminalImageViewer.git
cd TerminalImageViewer/src/main/cpp
make
sudo make install

用法:

tiv <image(s)>

github项目上的更多详细信息:https : //github.com/stefanhaustein/TerminalImageViewer

屏幕截图示例:

屏幕截图


4
不知道为什么要投票,是因为自我促进吗?我认为这是完成这项工作的最佳工具,而今天的问题仍然存在。
Stefan Haustein,2017年

可惜的是它不起作用apt install。也许是时候制作ppa了?无论如何,这个软件包对我有用,而其他软件包都不起作用(也许我以错误的方式使用了它们)。我需要能够在终端中查看图像(例如,当我在Docker容器中时),并且不能从终端调用图像查看器。感谢您的回答,我只能感谢您创建这个小而有价值的包装!
Artur Barseghyan

谢谢!您介意在github项目上为PPA创建FR吗?也许有人乐意介入–至少直到我找到一些空闲时间来研究它时,它才会被遗忘……
Stefan Haustein

一个快照对每个人来说都比较容易:没有为您设置的ppa,没有为用户添加的ppa-
Daniele Dellafiore,

不错的工具@StefanHaustein!我刚刚创建了一个PR,以允许用户通过Docker使用它:-)
BrunoPérel,

27

我想feh将是您要找的那个。

尽管像mplayer播放视频一样弹出一个类似终端的窗口来显示图片,但是Feh由于其命令密集型的控制方式仍被认为是基于终端的图片查看器。


19

如果您使用的是OS X,则iTerm 2支持显示嵌入式图像:

iTerm2内嵌图像

可以想象,当您只想显示图像而无需打开并打开Preview.app或不必打开Finder并单击图像的空格键时,此功能将非常有用。

该功能记录在iTerm2的功能页面上


我的经历真的很落后。
伊利亚·西多连科

3
对我来说很好。没有滞后的问题。MBP / OSX 10.12.6
Heinrich Hartmann

18

如果您处于启用了帧缓冲的纯终端中,建议使用fbi。它总是在我的后装列表。

否则,正如Kevin提到的,eog是Gnome中的默认图片打开器。而且,肖特韦尔似乎为我打开得很快。:-)


谢谢你这-对我来说是新闻。顺便说一句,谷歌搜索使我只进入了一些搜索结果(改进了fim's自样式的帧缓冲图像查看器)联机帮助页。尚不知道它们之间的区别。
mikeserv


9

w3m的imgdisplay库能够直接显示图像。它仅适用于某些终端仿真器,例如Xterm和URxvt。

Ranger是一种文件浏览器,利用该库显示预览。将此添加到护林员的配置文件以启用该功能:

set preview_images true

6

实际上,有一种方法可以使用图片管以文本模式在终端中显示PNG文件:

屏幕截图

您可以在GitHub上查看该项目。

考虑到最小像素是一个字符,该图像当然是实际图像的近似图像-尝试在文本编辑器中查看结果,您将看到大量的颜色代码。

您可以像这样安装工具(假设您已经安装了node / npm): npm install -g picture-tube


5

另一个很棒的基于终端的图片查看器是fim,它是具有类似vim的控制系统的改进的fbi。


好的解决方案,但是没有显示出解决方法。
戈达德

我试过了 万一有人奇怪,它将在SSH上打开一个单独的X窗​​口。对我而言,理想的是可以通过SSH进行工作的嵌入式终端显示器,但我认为没有一个好的选择。
Sridhar Sarnobat

5

没有依赖关系,一个C文件,一个头文件:imcat

适用于Linux,MacOS,Windows。具有高质量的下采样功能,可自动缩放至端子宽度。

在此处输入图片说明

备注:认真吗?否决了?下次,也许在评论中解释原因。


知道为什么我找不到这个apt-get吗?
Sridhar Sarnobat

4

这是一个有4年历史的问题,但我发现人们仍然在看它。因此,今天我想仅针对回答我自己的问题iTerm2

第一次我问这个问题。术语“最快”是我想查看图像的速度与cat命令显示文本的速度一样快。因此,今天我找到了答案iTerm2,这是两个方便的命令:name imgcatimgls

要使用它们,首先安装iterm2-nigthly

$ brew cask install iterm2-nightly

然后访问网站:

https://github.com/olivere/iterm2-imagetools

并安装imgcatimgls命令:

$ go install github.com/olivere/iterm2-imagetools/cmd/imgcat
$ go install github.com/olivere/iterm2-imagetools/cmd/imgls

所以,我真的很喜欢他们,也希望这对大家有用!


非常有用的,所以感谢稍后回答这个4年。就像一个超级按钮一样工作,但可能想要为brew install go尚未安装的用户包括install go步骤()。
jamescampbell '16

@jamescampbell,您无需安装go即可获取imgcat和imgls脚本。它们是iTerm的开发人员自己在这里提供的:iterm2.com/documentation-images.html,这些是bash脚本。
akshay

1
imgcat在Linux上最接近的选择是什么?我正在尝试切换atm
rien333 '18


3

终端?为什么不能终端:cacaview可能是最快的。默认情况下,如果终端没有图形,则最快。

在Debian中: sudo apt-get install caca-utils


3

pxl是一个不错的选择,尚未提及。与先前发布的显像管类似,尽管它支持更多图像格式,但它直接在终端中显示图像。


3

我只是使用Chrome webrowser,支持jpgsvgpngico,动画gif...基本上一切我可能需要:

google-chrome ./myphoto.jpg

如果您更喜欢Firefox:

firefox ./myphoto.jpg

3

小猫终端可显示与ICAT“小猫”在终端内部

例如

kitty +kitten icat /path/to/image

例:

在此处输入图片说明

猫咪文档建议创建一个别名,例如

alias icat="kitty +kitten icat"

这样,您就可以简单地执行以下操作:

icat /path/to/image


2

在Linux中,您可以安装gnome-open。

# In Debian flavors

sudo apt-get install gnome-open

然后创建一个别名:

alias open='gnome-open'

那么你也能:

open file.pdf
open file.jpg
etc

这是我的Ubuntu安装中默认安装的。
starbeamrainbowlabs

1

我刚刚找到此页面,并且今天仍然非常相关。OP并未真正指定他们是否需要X或fb查看器。

我使用了一个名为pho的小型实用程序:http : //www.shallowsky.com/software/pho/

需要X,因此在终端窗口中从命令行调用。当然可以查看许多图片格式,gif和jpg以及其他图片格式。

可以从命令行进行通配符遍历:例如 “ $ pho img00 ??。jpg”将按顺序查看所有匹配的文件。空格通过列表前进,而退格则退回。它可以快速加载单个图像-按住空间不放,您就可以通过它们。

如果您想浏览一堆图片,标记感兴趣的图片,旋转图片,删除不需要的图片,则速度非常快...我会继续关注它。

从上面的网页:

pho(像“照片”中的第一个音节一样发音)是一种轻量级程序,用于快速查看大量图像,旋转或删除一些图像,并记下每个图像的处理方式(例如,浏览数百个图像)从数码相机上传它们之后。


1

甚至很难给出很好的答案,我的问题是在终端本身中查看图像,而没有打开任何图形应用程序,因此我编写了自己的小脚本。我只需要标识图像,就不需要图像的细节,也不想下载任何相对较大的数据包,如果有人需要,他们也可以使用它:https : //github.com/Deniz97/terminal-image-观看者


0

我有一个名为macOS的外壳程序别名,preview它可以(1)从stdin或指定的文件路径中显示图像内联(-i--inline选项),以及(2)只需在Apple的预览应用程序中打开图像(不带任何选项),后者也来自标准输入或文件路径,例如:

cat image.jpg | preview

preview -i image.png

内联显示仅适用于iTerm imgcat别名,因此您需要安装,运行和最前端安装iTerm。但是请preview检查所有这些是否正确。

在这里在线:https : //github.com/JayBrown/Tools/blob/master/Aliases/preview



By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.