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

Fro*_*art 14 terminal-emulator video images

我可以在终端模拟器中查看图像和观看电影吗?在虚拟控制台的情况下,我可以通过帧缓冲区来完成,但是终端模拟器呢?

mik*_*erv 6

术语

是你想要的。

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

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

它有什么作用?

它模拟了一个稍微扩展的 vt100,并加入了一些扩展和金光闪闪。

> 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...
Run Code Online (Sandbox Code Playgroud)

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


Gra*_*eme 5

许多终端模拟器支持Sixel Graphics,来自PySixel github page,列表是:

  • 登录
  • 丹宁
  • 长期
  • XTerm
  • 十二月
  • 克米特
  • WRQ 反射
  • ZSTEM

您可以使用前面提到的PySixel显示图像,它似乎能够进行必要的转换。另一种选择是使用来自netpbm. 我使用以下方法在 mlterm 上转换和显示 JPEG 图像取得了不错的效果:

jpegtopnm image.jpg | pnmquant 256 | ppmtosixel >/dev/tty
Run Code Online (Sandbox Code Playgroud)

结果:

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
Run Code Online (Sandbox Code Playgroud)

图像不会以默认的 VT420 模式显示。只有在 VT240、VT241、VT330 或 VT340 模式下才会显示。还--enable-sixel-graphics需要构建选项。我发现 VT340 ( xterm -ti vt340) 的效果最好。以下是结果(第一个是来自示例档案的非常酷的 tron 图像):

在此处输入图片说明


Tho*_*sen 0

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

在调制解调器时代,这通常约为每秒 1000-2000 个字符,但如果仅涉及模拟硬件,现在可能会快得多。然后由终端来理解发送的字节。通常这用于显示字符、移动光标和操作屏幕显示。一些终端可以切换到图形模式 - gnuplot 支持相当多 - 但带宽太小,无法在视频方面做任何有趣的事情。

尽管如此,对于具有模拟硬件的现代计算机来说,终端模拟器可以做很多事情。尝试使用搜索词“ttyquake”搜索图像以查看其中的一些内容。但我想说的是,如果你渴望高清,你很可能会失望。

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