如何让终端显示图形图片?
这是我复制并粘贴在一起的快速模型。 我想这是非常酷和有用的。
这样的事情已经存在吗?
也许caca是你想要的。 对于图像 :
sudo apt-get install caca-utils cacaview /PATH/TO/image.jpg
确保您的终端窗口足够大。
例如,以下是此图像在cacaview
显示cacaview
:
我有时用它来播放 mplayer中的ASCIIvideo :)这样:
mplayer -vo caca /PATH/TO/video.mpg
w3m
虽然w3m
的主要目的是提供控制台内的Web浏览,但它也可用于查看终端中的图像。 要安装的相关软件包是w3m
和w3m-img
(至少在Ubuntu上)。 然后,您需要通过传递-o ext_image_viewer=0
或进入w3m
内的选项菜单(’o’)禁用外部图像查看器并禁用外部图像查看。
现在,键入w3m
将在终端中显示图像。 w3m
将使用整个终端窗口,因此在退出w3m
之前你无法看到以前的命令(想想less
,而不是cat
)。 请注意,如果图像大到适合终端窗口,它仍然会在外部打开(对于我来说,在imagemagick中)。 另请注意,即使我读了多个地方, w3m
内嵌图像也无法用于gnome-terminal
,但它对我来说还算不错。 有点烦人的是你必须先键入q
两次才能先关闭图像然后再关闭w3m
。
2.术语
tycat
是terminology
一部分,并显示像cat
显示文本文件的图像,以及像OS X上的imgcat
作品。
3. libsixel + mlterm / xterm
安装libsixel-bin
和任何兼容的终端( 本自述文件的’要求’中提到的示例,例如使用正确的标志编译的mlterm
或xterm
,您可以使用img2sixel
命令查看图像。这两个包都可以在Ubuntu repos中找到。
4. FIM
然后是FIM ,它是fbi
的改进版本。 该主页声明它不仅可以使用帧缓冲区显示图像,还可以使用X显示图像。但是,它不会为我安装。 编辑我通过下载0.5 trunk版本,运行./configure --disable-exif
然后暂时从我的路径中删除anaconda
(python发行版)来运行它,因为它在运行make
和sudo checkinstall
之前导致与libpng
冲突(你需要使用checkinstall
手动编写版本号,但它比make install
更容易删除。 但是,图像仍然显示在一个单独的窗口中,尽管与fbi
一样,您不需要运行X,这很酷。
5. jupyter-qtconsole
您也可以获得创意并使用jupyter-qtconsole作为系统控制台,将其配置为显示内联图( %matplotlib inline
),然后使用matplotlib =) 显示图像
6.嗯
feh
正在使用X来显示图像,但是feh -x
在无边框窗口弹出它们,可以用q
或x
快速关闭。 虽然每个说法都没有在终端上显示图像,但我认为值得一提,因为它是我迄今为止发现的最不具侵入性的方式以及我使用的内容,直到gnome-terminal
获得imgcat
/ tycat
等价物。
您不能在终端窗口中执行此操作,但可以使用fbi
在Linux控制台中执行此操作。 你需要一个framebuffer来实现这一点:
sudo apt-get install fbi
转到Linux控制台(使用Ctrl + Alt + F1 )并输入fbi
它应该显示你的形象。
我编写了一个小型C ++工具,用于将图像转换为ANSI RGB控制代码和Unicode块图形字符,用于支持这些function的现代终端: https : //github.com/stefanhaustein/TerminalImageViewer
安装:
git clone https://github.com/stefanhaustein/TerminalImageViewer.git cd TerminalImageViewer/src/main/cpp make sudo make install
用法:
tiv
编辑 :将链接/指令更改为主存储库; 增加使用量。
例子:
我做了一个非常快速,简单的单行shell函数,它完全按照模型中的要求解决了原始问题。 请注意,下面的屏幕截图是实际图像,而不是模型。
function lsix() { montage -tile 7x1 -label %f -background black -fill white "$@" gif:- | convert - -colors 16 sixel:-; }
先决条件是最小的:xterm和ImageMagick( apt-get install xterm imagemagick
)。 您的xterm必须处于vt340模式,您可以在~/.Xresources
或命令行( xterm -ti vt340
)中设置。
限制:在显示的所有图像上仅使用16种颜色。 这意味着,单独观看时图像可能看起来更好。 (见下文)。
UPDATE
虽然我的上述答案仍然正确,但我已经创建了一个更好的shell脚本,它能够直接在终端中执行“ls”图像。 我添加了各种改进,使图像看起来更好(更多的颜色,正确的alpha,JPEG方向,处理大量的图像,紧凑的瓷砖布局,……)。 它仍然是一个相当小的程序,但我想人们可能想要自定义它,所以我把它放在github上: https : //github.com/hackerb9/lsix 。
另一种选择是术语:
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
或者在最近的Ubuntu版本> = Vivid(15.04)中,它可以从官方存储库中获取。
sudo apt-get install terminology
要查看图像,请键入tycat IMAGENAME
,要查看图像列表,请键入tyls -m
。
实际上有一个名为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 &
请注意,出现的窗口一次只显示一个图像,但您可以使用提供的箭头按钮在它们之间循环。
我写了一个工具来做到这一点。 我将我的名字命名为终端显示图像( siit
)。 它假设您有256色终端和UTF8支持,并且它是用perl编写的。
我把它放在我的~/bin
。 它假设你有你的发行版存储库或CPAN中的Image :: Magick,Term :: Size,Getopt :: Long和Time:HiRes。
我的目的是ssh进入我的房子,并快速查看图像,而无需在X上启动显示。脚本缩放到适合您所在终端的宽度/高度。我使用UTF8字符有效地使终端的垂直分辨率加倍,这真的是有助于清晰。 因人而异。
这里有拍摄样品
源代码在这里
以下是node.js
中的一些解决方案(此处为安装说明)。
-
显像管
-
成像
要安装它们,请输入npm install -g
,其中package_name
是picture-tube
或imaging
。
除了Joel的回答 ,带有w3mimgdisplay
扩展的Ranger终端文件管理器可以显示全彩色图像,还支持“oldschool ASCII艺术预览”。 以下是启用它的方法。 这可能不是您正在寻找的确切内容,而是一种在终端中预览图像的方法。
另一个工具是catimg ,虽然Ubuntu没有现成的包。 它实际上不会查看图像,而是将其转换为彩色字符。