क्या मैं टर्मिनल एमुलेटर के अंदर चित्र देख सकता हूं और फिल्में देख सकता हूं? वर्चुअल कंसोल के मामले में मैं इसे फ्रेमबफ़र के माध्यम से कर सकता हूं, लेकिन टर्मिनल एमुलेटर के बारे में क्या?
क्या मैं टर्मिनल एमुलेटर के अंदर चित्र देख सकता हूं और फिल्में देख सकता हूं? वर्चुअल कंसोल के मामले में मैं इसे फ्रेमबफ़र के माध्यम से कर सकता हूं, लेकिन टर्मिनल एमुलेटर के बारे में क्या?
जवाबों:
उदाहरण के लिए - मैं अपने टर्मिनल की पृष्ठभूमि बदलना चाहता हूं?
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...
आप ऊपर देखते हैं? यह फ्रेमबफ़र में ऐसा करता है ।
कई टर्मिनल एमुलेटर , सिक्सल ग्राफिक्स का समर्थन करते हैं , PySixel github पेज से , सूची इस प्रकार है:
आप उल्लिखित PySixel के साथ चित्र प्रदर्शित कर सकते हैं , जो आवश्यक रूपांतरण करने में सक्षम प्रतीत होता है। एक अन्य विकल्प से उपकरण का उपयोग करना है netpbm
। Mlterm पर JPEG इमेज बदलने और प्रदर्शित करने के लिए मेरे पास निम्नलिखित परिणामों का उपयोग करने के अच्छे परिणाम थे:
jpegtopnm image.jpg | pnmquant 256 | ppmtosixel >/dev/tty
परिणाम:
XTerm सिक्सल छवियों को भी प्रदर्शित कर सकता है, हालांकि वर्तमान में समर्थन 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
) के साथ सबसे अच्छे परिणाम मिले । यहाँ परिणाम हैं (पहला नमूना संग्रह से एक बहुत अच्छी ट्रॉन छवि है):
perl -wpe 'use bytes;s!([\x80-\x9f])!qq(\e).chr(ord($1)-64)!ge'
ppmtosixel के बाद एक महान फिल्टर के रूप में काम करता है (और किसी भी अन्य समय जब आप 8bit c1 कोड को उनके 7bit समतुल्य में बदलना चाहते हैं)।
हाँ, की तरह। उदाहरण के लिए, Mplayer एक पाठ टर्मिनल में वीडियो के आलिब (मोनोक्रोम) और libcaca (रंग) दोनों का समर्थन करता है । यह वास्तव में उच्च-रिज़ॉल्यूशन नहीं है, लेकिन प्रभावी रिज़ॉल्यूशन को बढ़ाते हुए दोनों "पिक्सेल" रेंडरिंग और टेम्पोरल डिटेरिंग के साथ, आप आमतौर पर बता सकते हैं कि क्या चल रहा है।
यूनिक्स वर्ल्ड टर्मिनल एमुलेटर में सीरियल टर्मिनलों का अनुकरण किया जाता है, जहां उपयोगकर्ता को दिखाए जाने वाले डेटा स्ट्रीम को सीरियल लाइन पर एक बार में भेजा जाता है।
मॉडम समय में यह आम तौर पर लगभग 1000-2000 अक्षर एक सेकंड में होता था, लेकिन आज बहुत तेजी से हो सकता है अगर केवल उत्सर्जित हार्डवेयर शामिल हो। इसके बाद टर्मिनल पर भेजा गया बाइट्स को समझना था। आमतौर पर यह पात्रों को दिखाने, कर्सर को हिलाने और स्क्रीन डिस्प्ले में हेरफेर करने के लिए होता था। कुछ टर्मिनल ग्राफिक्स मोड पर स्विच कर सकते हैं - gnuplot समर्थन थोड़ा सा - लेकिन वीडियो के संदर्भ में कुछ भी दिलचस्प करने के लिए बैंडविड्थ बहुत छोटा है।
फिर भी, एमुलेटेड हार्डवेयर के साथ एक आधुनिक कंप्यूटर के लिए एक टर्मिनल एमुलेटर काफी कुछ कर सकता है। तब कुछ देखने के लिए खोज शब्द "ttyquake" के साथ छवियों को खोजने का प्रयास करें। मैं कहूंगा कि अगर आप एचडी को तरसते हैं तो आप सबसे अधिक निराश होंगे।
छवि देखने के लिए, फिम के लिए जाएं
वीडियो प्लेबैक विकल्प के लिए, mplayer का उपयोग करें
संपादित करें:
फेम के बजाय, पिक्चर-ट्यूब ट्राई करें । हालांकि मैंने अभी तक इसका परीक्षण नहीं किया है