在控制台上显示图像的选项


Answers:


9

您可以使用AA-Project中的库

在此处输入图片说明

应用范围:

  • xine-console [视频]
  • xaos [fractals / mandelbrod]
  • vlc [视频]
  • 观看[照片]
  • ...阿莫

7

首先,您必须确保已启用帧缓冲区,绝对没有办法以文本模式查看图像。一旦启用了帧缓冲区,就可以使用该程序fbi查看图像。

包装:fbi

Linux帧缓冲区图像查看器

这是用于Linux帧缓冲设备的图像查看器。它具有对多种常见图像文件格式的内置支持。对于未知文件,它将尝试使用ImageMagick包中的convert作为外部转换器。它还包括fbgs,Postscript和PDF查看器。


7

许多图像都是彩色的,因此您可以使用libcaca的 ASCII图像查看器(cacaview)和图像到文本转换器(img2iso)。

  • 要浏览图像,请使用ASCII图像浏览器

    cacaview /usr/share/pixmaps/*.*
    
  • 将图像转换为基于文本的彩色文件:

    img2txt -W 150 penguins_mating.png > penguins_mating.txt
    
  • 在文本控制台中查看电影和视频:

    mplayer -vo caca https://upload.wikimedia.org/wikipedia/commons/4/41/Big_Buck_Bunny_medium.ogv
    

    通常,-vo caca如果您在纯文本环境(带ssh连接的终端,虚拟终端等)中观看视频,则无需使用该选项。默认情况下,您将获得非彩色文本输出(即-vo aa),但是颜色可能会更好。

对于Fedora和Ubuntu caca-utils,必须安装该软件包。

在此处阅读更多信息。

在此处输入图片说明


2

mplayer有一个帧缓冲驱动程序(两个版本,以防一个版本不起作用)。采用

mplayer -vo fbdev [or fbdev2] <filename>

用于图像fbifim工作。不管这两个不能处理什么,您都可以随时转换为图像(imagemagick就像魔术一样工作),因此您可以覆盖所有内容。


1

您可以使用帧缓冲设备。引导时,帧缓冲机制是一种用于显示Tux的机制。

还有一个libcaca用于显示ASCII图像。


您能否添加更多细节?人们将如何使用这些工具?
terdon

这在很大程度上取决于您的硬件和需求。您应该在问题中提供更多详细信息并给出具体背景。
lgeorget 2014年

不是我的问题。我要指出的是,在回答问题时,您应包括有关如何做的详细信息。您仅提供了两个指向外部资源的链接,我们尽量避免这样做。这个想法是SE网站上的答案是独立的。
terdon

当然,但是使用这些工具并非只有一种方法。这个问题没有太多的背景,所以……
lgeorget

0

ffmpeg可以全屏显示任何图像格式:

ffmpeg -i image.ext -s $(< /sys/class/graphics/fb0/virtual_size tr , x) \
       -vcodec rawvideo -f image2 -pix_fmt bgra -y /dev/fb0 &>/dev/null && read


0

今天有一个名为SVGAlib的库。它通过用户空间驱动程序(主要从X导入)直接处理视频卡。

它没有当前大多数视频卡的驱动程序,但是

  • 它具有VESA输出驱动程序(即,基本上可以使用BIOS驱动程序处理输出)
  • 它具有fbdev驱动程序(它/dev/fb0作为视频卡处理,因此本质上使用内核驱动程序)。

有许多使用SVGALib的软件,例如mplayer(用于视频输出),并回答您的问题,即xzgv图像查看器

尽管您必须从源代码进行编译,但是由于Linux发行版开发人员都已经考虑了大约十年的时间,因此X(具有持续不断的,从未兑现的承诺,如kgi,ggi和今天的wayland)将是未来。


0

此答案仅限于启用了帧缓冲的本机linux控制台。此选项将为您提供全分辨率的真实图像和真实视频(不是ascii-art),而不带X11waylandmir

从2018年开始,debian提供了一个fim包含图像查看器fim和文档查看器的软件包fimgs。对于fimgs,默认分辨率为96x96,您可能会发现该分辨率不足。我发现用option调用就-r 256x256足够了。这两个程序是debian fbi和中提供的其他程序的“现代化”版本fbgs。较旧的程序特别令人失望的fbgs是,它显示速度缓慢,并且即使在显示一页之前,也将呈现整个pdf文件,因此,如果您有多页的文档,则需要等待很长时间。

有一些不特定于帧缓冲操作的程序都具有良好的帧缓冲支持。安装w3m支持包后,Web浏览器将显示图像w3m-img。该feh图像浏览器工作在帧缓冲控制台一样,vlc对于视频。

所有这些都很好,但是要使用这些选项中的任何一个,您首先需要进行设置。

好消息是,几乎所有现代linux发行版都附带带有可用帧缓冲的内核。通常不做的是配置要实际使用的帧缓冲区。为此,如果您使用的是grub引导加载程序,则需要确保文件中存在以下内容/etc/default/grub(您的特定分辨率编号可能有所不同):

  GRUB_GFXMODE=1024x768
  GRUB_GFXPAYLOAD_LINUX=1024x768

并且您需要确保注释掉以下行:

  #GRUB_TERMINAL=console

之后,您将需要通过运行来更新grub,update-grub并且需要重新启动才能使更改生效。

您可能还需要将用户添加到video权限组:

  usermod -a -G video <user_name>

某些程序可能需要特殊功能访问。根据我的注释,情况就是这样fbi,但我在系统上看到的情况并非如此fim。去搞清楚。无论如何,该命令是:

  setcap 'cap_sys_tty_config+ep' /usr/bin/fbi

我不推荐使用,仅遇到麻烦的程序是fbterm。它不停地与我的配色方案搞乱emacsmcless等节目,我记得它不会发挥很好会tmux

关于vlc在帧缓冲区控制台中使用的重要说明:我发现有时,由于无法可靠地进行复制,vlc冻结并且不释放帧缓冲区,但缺少“ alt-sysrq”-使计算机重新启动。有时,这种情况是在尝试切换到另一个虚拟控制台时发生的。有时在尝试使用哪些vlc击键命令时会起作用。你被警告了。


还有术语仿真器术语,可以在帧缓冲控制台(terminology --nowm)上运行。附带的实用程序tycat可以嵌入图像。
quixotic

那是来自“启蒙”桌面的人吗?我大概在一年前对它进行了评估,当时那是越野车,但是如果您能保证的话,太好了!
user1404316 '18

我刚刚开始研究它,无法确认缺少错误,对不起。它在一个系统(intel gpu)上几乎可以正常工作,在另一个系统上不工作(nvidia专有驱动程序,未经测试,但很可能在nouveau下工作)。XKB_DEFAULT_{LAYOUT,VARIANT,OPTIONS}为xkb布局设置env变量(尽管AltGr似乎在atm上不起作用)。
quixotic

-6

没有。您需要某种显示服务器来显示图像。Xserver,mir,wayland或类似服务器提供图像接口。getty旨在模拟文本终端,并且无法显示图像。


2
我有点不同意。Tux在引导时如何显示?commons.wikimedia.org/wiki/File:KNOPPIX_booting.png ;-)
lgeorget 2014年

帧缓冲区。没有启用帧缓冲就无法完成,应该提到这一点。但是,他们还提到在真实终端上。忘记它们不在真实终端,真实终端(vt1000)或类似终端上,我可以肯定这是不可能的。
Livinglifeback 2014年

许多真实的终端都有绘制图形的能力。图形功能是1980年代的卖点。并且getty没有模仿任何东西。
JdeBP 2015年
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.