ฉันสามารถดูรูปภาพและชมภาพยนตร์ภายในเทอร์มินัลอีมูเลเตอร์ได้ไหม


13

ฉันสามารถดูรูปภาพและชมภาพยนตร์ภายในเครื่องจำลองเทอร์มินัลได้หรือไม่? ในกรณีของ virtual console ฉันสามารถทำได้ผ่าน framebuffer แต่ terminal emulators ล่ะ?


ดูเหมือนว่าคุณกำลังมองหาแอพที่ระบุไว้ใน U&L คำถาม & คำตอบนี้: ตัวเลือกเพื่อแสดงรูปภาพเมื่ออยู่บนคอนโซล
slm

คำตอบ:


6

คำศัพท์

คือสิ่งที่คุณต้องการ

ตัวอย่าง - ฉันต้องการเปลี่ยนพื้นหลังของเทอร์มินัลของฉัน

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

คุณเห็นว่าข้างต้น? มันทำเช่นนี้ใน framebuffer


5

จำนวนเทอร์มินัลอีมูเลเตอร์รองรับSixel Graphicsจากหน้าGithub PySixelรายการคือ:

  • rlogin
  • tanasinn
  • mlterm
  • XTerm
  • DECterm
  • มิต
  • การสะท้อนของ WRQ
  • ZSTEM

คุณสามารถแสดงภาพด้วยPySixel ข้างต้นซึ่งดูเหมือนว่าจะสามารถทำการแปลงที่จำเป็นได้ netpbmอีกตัวเลือกหนึ่งคือการใช้เครื่องมือจาก ฉันได้ผลลัพธ์ที่ดีโดยใช้สิ่งต่อไปนี้เพื่อแปลงและแสดงภาพ JPEG บน mlterm

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

ผลลัพธ์:

mlterm แสดงภาพ Sixel

XTerm ยังสามารถแสดงภาพ Sixel ได้แม้ว่าการสนับสนุนจะ จำกัด อยู่ที่ 16 สี (และยังมีบั๊กกี้) สามารถดาวน์โหลดไฟล์เก็บถาวรที่มีภาพตัวอย่างได้ที่นี่แม้ว่าสคริปต์จะเสีย XTerm ไม่แสดงผลลัพธ์รูปแบบที่แน่นอนโดยppmtosixel(ไม่สนับสนุนลำดับการควบคุมที่ใช้ในการเริ่ม / สิ้นสุด) ก่อนที่จะค้นพบPySixelฉันใช้ scrip ต่อไปนี้เพื่อแฮ็ค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) นี่คือผลลัพธ์ (ภาพแรกคือภาพตรอนที่ยอดเยี่ยมมากจากไฟล์เก็บตัวอย่าง):

ป้อนคำอธิบายรูปภาพที่นี่


1
สคริปต์ของคุณไม่แข็งแรงพอที่จะสะท้อนกับเสียงสะท้อน ปัญหาที่คุณพยายามต่อสู้คือ xterm ในโหมด utf8 มีปัญหากับรหัส 8 บิต c1 โชคดีที่รหัส c1 ยังสามารถเข้ารหัสได้ 7 บิต perl -wpe 'use bytes;s!([\x80-\x9f])!qq(\e).chr(ord($1)-64)!ge'ทำงานเป็นตัวกรองที่ยอดเยี่ยมหลังจาก ppmtosixel (และเวลาอื่น ๆ ที่คุณต้องการเปลี่ยนรหัส 8 บิต c1 เป็นเทียบเท่า 7 บิตของพวกเขา)
hildred

มีอะไรเช่นนี้สำหรับ konsole หรือเทอร์มินัลอีมูเลเตอร์สมัยใหม่อื่น ๆ หรือไม่?
ctrl-alt-delor


1

ใช่แล้ว ตัวอย่างเช่นMplayerรองรับการแสดงผลวิดีโอทั้งแบบaalib (monochrome) และlibcaca (สี) ในเทอร์มินัลข้อความ มันไม่ได้มีความละเอียดสูง แต่ด้วยการเรนเดอร์ย่อย "พิกเซล" และการเปลี่ยนแปลงชั่วคราวเพื่อเพิ่มความละเอียดที่มีประสิทธิภาพคุณมักจะสามารถบอกได้ว่าเกิดอะไรขึ้น


0

ในเทอร์มินัลอีมูเลเตอร์ของโลก Unix จำลองเทอร์มินัลอนุกรมซึ่งสตรีมข้อมูลที่จะแสดงต่อผู้ใช้จะถูกส่งทีละครั้งผ่านสายอนุกรม

ในช่วงเวลาของโมเด็มปกติจะมีความยาวประมาณ 1,000-2,000 ตัวอักษรต่อวินาที แต่อาจเร็วกว่านี้ในทุกวันนี้หากเกี่ยวข้องกับฮาร์ดแวร์ที่จำลองเท่านั้น มันขึ้นอยู่กับเทอร์มินัลเพื่อทำความเข้าใจกับไบต์ที่ส่ง โดยปกติจะเป็นการแสดงตัวอักษรเลื่อนเคอร์เซอร์และปรับการแสดงผลบนหน้าจอ เทอร์มินัลไม่กี่สามารถเปลี่ยนเป็นโหมดกราฟิก - gnuplot รองรับได้ไม่น้อย - แต่แบนด์วิดท์นั้นเล็กเกินไปที่จะทำสิ่งที่น่าสนใจในแง่ของวิดีโอ

ถึงกระนั้นสำหรับคอมพิวเตอร์ที่ทันสมัยที่มีฮาร์ดแวร์ที่มีการจำลองเทอร์มินัลอีมูเลเตอร์สามารถทำได้ค่อนข้างมาก ลองค้นหารูปภาพด้วยคำค้นหา "ttyquake" เพื่อดูบางส่วน ฉันจะบอกว่าถ้าคุณกระหายความคมชัดระดับ HD คุณอาจจะผิดหวังมากที่สุด

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


โปรดทราบว่าตัวจำลองเทอร์มินัลบางตัวอาจจัดเตรียมส่วนขยายเฉพาะของผู้ขาย
Thorbjørn Ravn Andersen

0

สำหรับการดูภาพให้ไปที่fim

สำหรับตัวเลือกการเล่นวิดีโอใช้mplayer

แก้ไข:

ลองใช้ภาพหลอดแทน แม้ว่าฉันจะยังไม่ได้ทดสอบก็ตาม


นี่สำหรับ Linux Console framebuffer ไม่ใช่เทอร์มินัลอีมูเลเตอร์
แกรม
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.