我可以在终端仿真器中查看图像和观看电影吗


Answers:


6

术语

是你想要的。

例如-我想更改终端的背景吗?

printf '\033}bp%s\000' \
  'http://hdwalldesktops.com/wp-content/uploads/2014/02/background-backgrounds-high-resolution-abstract-picture-background-wallpaper.jpg'

它有什么作用?

它模拟了稍微扩展的vt100,并带有一些扩展和bling。

> Most escapes supported by xterm, rxvt etc. work

> Xterm 256 color escapes work

> Backgrounds (bitmap, scalable/vector, animated gif, videos)

> Transparency

> Bitmap and scalable fonts supported

> Themes for the layout and design

> URL, file path and email address detection and link-handling

> Inline display of link content

> Multiple copy and paste selections and buffer support

> Works in X11

> Works in Wayland

> Works directly in the linux framebuffer (fbcon)

> Can be finger/touch controlled

> Scan scale by UI scaling factors

> Can render using OpenGL or OpenGL-ES2 (not a requirement - just an 
option)

> Can display inlined media content (images, video, documents)

> Can do multiple "tabs"

> Can do splitting into multiple panes

> Block text selection

> Drag and drop of text selections and links

> Can stream media from URLs

> Tab switcher has live thumbnail content

> Single process, multiple windows/terminals support

> Fast (gives urxvt a run for its money)

> Themable visual bell

> Compress backscroll

> Text reflow on resize

> Color palette selection

> More...

你在上面看到了吗?它在帧缓冲区中执行此操作


5

许多终端模拟器都支持Sixel Graphics,从PySixel github页面开始,列表为:

  • 登录
  • 塔纳辛
  • 词条
  • XTerm
  • DECterm
  • 柯密特
  • WRQ反射
  • 斯蒂姆

您可以使用上述PySixel显示图像,该PySixel似乎能够进行必要的转换。另一种选择是使用的工具netpbm。使用以下命令在mlterm上转换并显示JPEG图像,我获得了良好的结果:

jpegtopnm image.jpg | pnmquant 256 | ppmtosixel >/dev/tty

结果:

mlterm显示Sixel图片

XTerm还可以显示Sixel图像,尽管目前仅支持16种颜色(并且还存在许多问题)。尽管脚本似乎已损坏,但是可以在此处下载包含示例图像的存档。XTerm不显示输出的确切格式ppmtosixel(不支持开始/结束处使用的控制序列)。在找到之前PySixel,我使用以下脚本将ppmtosixel输出修改为XTerm将显示​​的内容:

#!/bin/bash

echo -e '\eP0;0;0;q"1;2;400;400'
jpegtopnm "$1" |
  pnmquant 16 |
  ppmtosixel |
  tail -n +2 | 
  head -c -3
echo -e '\x1b\x5c\x0d'
tput cup "$(tput lines)" 0

图像将不会在默认的VT420模式下显示。仅在VT240,VT241,VT330或VT340模式下才会显示它们。另外,--enable-sixel-graphicsbuild选项是必需的。我用VT340(xterm -ti vt340)找到了最佳结果。结果如下(第一个是样本档案中非常酷的tron图像):

在此处输入图片说明


1
您的脚本在回声,头部和尾部方面并不十分可靠。您要解决的问题是utf8模式下的xterm出现8位c1代码问题。幸运的是,c1代码也可以进行7位编码。perl -wpe 'use bytes;s!([\x80-\x9f])!qq(\e).chr(ord($1)-64)!ge'在ppmtosixel之后(以及您希望将8位c1代码切换为7位等效代码的任何其他时间)起一个很好的过滤器的作用。
2013年

konsole或其他现代终端模拟器是否有类似的东西?
ctrl-alt-delor


1

是的,有点。例如,Mplayer支持文本终端中视频的aalib(单色)和libcaca(彩色)渲染。它不是完全高分辨率,但是随着亚“像素”渲染和时间抖动的增加,有效分辨率通常可以告诉您发生了什么。


0

在Unix世界中,终端仿真器模拟串行终端,其中要显示给用户的数据流通过串行线路一次发送一次。

在调制解调器时代,这通常约为每秒1000-2000个字符,但如果仅包含模拟硬件,则今天可能会更快。然后由终端了解发送的字节。通常,这是为了显示字符,移动光标和操纵屏幕显示。一些终端可以切换到图形模式-gnuplot支持很多-但带宽太小,无法进行视频方面的任何有趣的操作。

对于具有仿真硬件的现代计算机而言,终端仿真器仍然可以完成很多工作。尝试使用搜索词“ ttyquake”搜索图像,以查看其中的一些内容。我想说的是,如果您渴望高清,您很可能会失望。

http://onyx.chattanoogastate.edu/~jack/matrix/insert.jpg


请注意,某些终端仿真器可能会提供特定于供应商的扩展。
托尔比约恩Ravn的安徒生

0

要查看图像,请转至fim

对于视频播放选项,请使用mplayer

编辑:

相反,请尝试使用显像管。虽然我还没有测试


这是针对Linux控制台帧缓冲区的,而不是终端模拟器的。
Graeme 2014年
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.