Terminal öykünücüsünün içinde görüntüleri görebilir ve film izleyebilir miyim


13

Terminal öykünücüsünün içinde resim görebilir ve film izleyebilir miyim? Sanal konsol durumunda bunu framebuffer üzerinden yapabilirim, ama terminal emülatörlerine ne dersiniz?


Bu U&L S ve
slm

Yanıtlar:


6

terminoloji

istediğin şey bu.

Mesela - Terminalimin arka planını değiştirmek istiyorum?

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

Bu ne işe yarıyor?

Bazı uzantıları ve bling atılan hafifçe uzatılmış bir vt100'ü öykünür .

> 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...

Yukarıda görüyor musunuz? Bunu çerçeve arabelleğinde yapar.


5

Bir dizi terminal emülatörü , PySixel github sayfasından Sixel Graphics'i destekler , liste:

  • rlogin
  • tanasinn
  • mlterm
  • XTerm
  • DECterm
  • Kermit
  • WRQ Yansıma
  • ZSTEM

Görüntüleri daha önce bahsedilen PySixel ile görüntüleyebilirsiniz , bu da gerekli dönüşümleri yapabiliyor gibi görünüyor. Başka bir seçenek de araçları kullanmaktır netpbm. Mlterm bir JPEG görüntüsünü dönüştürmek ve görüntülemek için aşağıdakileri kullanarak iyi sonuçlar elde ettim:

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

Sonuç:

mlterm Sixel fotoğraf görüntüleme

XTerm, Sixel görüntülerini de gösterebilir, ancak destek şu anda 16 renkle sınırlıdır (ve aynı zamanda buggy). Örnek görüntüler içeren bir arşiv buradan indirilebilir , ancak komut dosyaları bozuk görünüyor. XTerm, tam çıktı biçimini görüntülemez ppmtosixel(başlangıç ​​/ bitişte kullanılan kontrol sekanslarını desteklemez). Bulmadan önce PySixel, ppmtosixelçıktıyı XTerm'in görüntüleyeceği bir şeye kesmek için kullandım:

#!/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

Görüntüler varsayılan VT420 modunda görüntülenmez. Sadece VT240, VT241, VT330 veya VT340 modlarında görüntülenecektir. Ayrıca --enable-sixel-graphicsderleme seçeneği de gereklidir. VT340 ( xterm -ti vt340) ile en iyi sonuçları buldum . Sonuçlar (birincisi örnek arşivden çok güzel bir tron ​​görüntüsü):

resim açıklamasını buraya girin


1
Senaryonuz echos ve kafa ve kuyruk ile tam olarak sağlam değildir. Savaşmaya çalıştığınız sorun, utf8 modundaki xterm'in 8bit c1 kodlarıyla ilgili problemleri olmasıdır. Neyse ki c1 kodları da 7bit kodlanabilir. perl -wpe 'use bytes;s!([\x80-\x9f])!qq(\e).chr(ord($1)-64)!ge'ppmtosixel'den sonra harika bir filtre olarak çalışır (ve 8bit c1 kodlarını 7 bit eşdeğerlerine geçirmek istediğiniz diğer zamanlarda).
Hildred

Konsol veya diğer modern terminal emülatörleri için böyle bir şey var mı?
ctrl-alt-delor

2

Geçenlerde Frame Buffer Image viewer, fbi'yi keşfettim.


1

Evet, bir çeşit. Mplayer, örneğin, bir metin terminalinde videonun hem aalib (tek renkli) hem de libcaca (renkli) oluşturulmasını destekler. Tam olarak yüksek çözünürlük değil, ancak hem alt "piksel" oluşturma ve geçici renk taklidi etkin çözünürlüğü artırırken, genellikle neler olduğunu anlayabilirsiniz.


0

Unix dünyasında terminal emülatörleri, kullanıcıya gösterilecek veri akışının seri hat üzerinden birer birer gönderildiği seri terminalleri taklit eder.

Modem zamanında bu tipik olarak saniyede 1000-2000 karakter arasındaydı, ancak bugün sadece taklit donanım söz konusu olduğunda çok daha hızlı olabilir. Gönderilen baytları anlamak terminale kalmıştır. Bu genellikle karakterleri göstermek, imleci hareket ettirmek ve ekran görüntüsünü değiştirmek içindi. Birkaç terminal grafik modlarına geçebilir - gnuplot desteği biraz - ancak bant genişliği video açısından ilginç bir şey yapmak için çok küçük.

Yine de, taklit donanımı olan modern bir bilgisayar için bir terminal emülatörü çok şey yapabilir. Aralarından bazılarını görmek için "ttyquake" arama terimi bulunan görselleri aramayı deneyin. Yine de, eğer HD istersen büyük olasılıkla hayal kırıklığına uğrayacaksın.

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


Bazı terminal emülatörlerinin satıcıya özel uzantılar sağlayabileceğini unutmayın.
Thorbjørn Ravn Andersen

0

Resim görüntüleme için fim'e gidin

Video oynatma seçeneği için mplayer kullanın

DÜZENLE:

Aksine fim, resim tüpünü deneyin . Henüz test etmeme rağmen


Bu bir terminal emülatörü değil , Linux Konsolu çerçeve tamponu içindir .
Graeme
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.