我可以在终端模拟器中查看图像和观看电影吗?如果是虚拟控制台,我可以通过帧缓冲区来完成,但是终端模拟器呢?
答案1
术语
就是你想要的。
例如 - 我想更改终端的背景?
printf '\033}bp%s\000' \
'http://hdwalldesktops.com/wp-content/uploads/2014/02/background-backgrounds-high-resolution-abstract-picture-background-wallpaper.jpg'
它有什么作用?
它模拟一个轻微地扩展了 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...
你看到上面那个了吗?它这样做在帧缓冲区中。
答案2
多种终端仿真器支持六色图形, 来自PySixel github 页面,列表为:
- 登录
- 塔纳辛
- 多术语
- XTerm
- 十二月术语
- 克米特
- WRQ 反射
- ZSTEM
您可以显示具有上述内容的图像皮斯塞尔,这似乎能够进行必要的转换。另一种选择是使用netpbm
.我使用以下方法在 mlterm 上转换并显示 JPEG 图像,取得了良好的结果:
jpegtopnm image.jpg | pnmquant 256 | ppmtosixel >/dev/tty
结果:
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-graphics
需要构建选项。我发现 VT340 的最佳结果 ( xterm -ti vt340
)。以下是结果(第一个是来自示例存档的非常酷的 tron 图像):
答案3
答案4
在 Unix 世界中,终端模拟器模拟串行终端,向用户显示的数据流通过串行线路一次发送一个。
在调制解调器时代,这通常约为每秒 1000-2000 个字符,但如果仅涉及模拟硬件,现在可能会快得多。然后由终端来理解发送的字节。通常这用于显示字符、移动光标和操作屏幕显示。一些终端可以切换到图形模式 - gnuplot 支持相当多 - 但带宽太小,无法在视频方面做任何有趣的事情。
尽管如此,对于具有模拟硬件的现代计算机来说,终端模拟器可以做很多事情。尝试使用搜索词“ttyquake”搜索图像以查看其中的一些内容。但我想说的是,如果你渴望高清,你很可能会失望。