Чи можу я бачити зображення та переглядати фільми всередині емулятора терміналу? У випадку віртуальної консолі я можу це зробити через framebuffer, а як щодо емуляторів терміналу?
Чи можу я бачити зображення та переглядати фільми всередині емулятора терміналу? У випадку віртуальної консолі я можу це зробити через framebuffer, а як щодо емуляторів терміналу?
Відповіді:
Наприклад - я хочу змінити фон свого терміналу?
printf '\033}bp%s\000' \
'http://hdwalldesktops.com/wp-content/uploads/2014/02/background-backgrounds-high-resolution-abstract-picture-background-wallpaper.jpg'
Він імітує трохи розширений vt100 з деякими розширеннями та bling, кинутими в.
> 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...
Ви бачите це вище? Це робиться в кадрі.
Ряд термінальних емуляторів підтримують Sixel Graphics , зі сторінки github PySixel , перелік:
Ви можете відображати зображення за допомогою вищезгаданого PySixel , який, здається, може зробити необхідні перетворення. Іншим варіантом є використання інструментів від netpbm
. Я мав хороші результати, використовуючи наступні для перетворення та відображення JPEG-зображення на mlterm:
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
). Ось результати (перше - дуже круте тронне зображення із зразкового архіву):
perl -wpe 'use bytes;s!([\x80-\x9f])!qq(\e).chr(ord($1)-64)!ge'
працює як чудовий фільтр після ppmtosixel (і будь-який інший раз, коли ви хочете переключити 8-бітові коди c1 на їх 7-бітні еквіваленти).
Нещодавно я відкрив для перегляду зображень буфер зображення, fbi.
Так, начебто. Наприклад, Mplayer підтримує як ааліб (монохромний), так і лібкака (кольоровий) візуалізацію відео в текстовому терміналі. Це не зовсім висока роздільна здатність, але як із відображенням субпікселів, так і тимчасовим зворушенням, що збільшує ефективну роздільну здатність, зазвичай можна розповісти, що відбувається.
У світових емуляторах терміналів Unix емуляція послідовних терміналів, де потік даних, що відображається користувачеві, надсилається по черзі через послідовну лінію.
За час модему це становило близько 1000-2000 символів в секунду, але сьогодні може бути набагато швидшим, якщо задіяно лише емуляційне обладнання. Тоді до терміналу було зрозуміло надіслані байти. Зазвичай це було для показу символів, переміщення курсору та маніпулювання екраном. Кілька терміналів можуть переключитися на графічні режими - gnuplot підтримує зовсім небагато - але пропускна здатність є занадто малою, щоб зробити щось цікаве з точки зору відео.
Тим не менш, для сучасного комп’ютера з емульованим обладнанням термінальний емулятор може зробити дуже багато. Спробуйте пошукати зображення із пошуковим терміном "ttyquake", щоб переглянути деякі з них. Я б сказав, що якщо ви прагнете HD, ви, швидше за все, розчаруєтесь.