Pull to refresh

Comments 51

off По поводу ASCII, может хаброобщество знает ответ на исторический вопрос.
Однажды я увидел очень старую распечатку на бумажной ленте. Даже не матричный принтер, а электрическая печатная машинка. Погуглил и неожиданно нашел с описанием.
«ASCII JESUS SUPERSTAR (original print. Center for Computer Sciences, Dept. of Mathematics, Tartu University, pre-PC computer/ascii art wave in Soviet Union, late 1970s. 42x82 cm, framed)»
Кто-нибудь знает историю происхождения этой картинки?
Распечатка на ленте
image
очень старую распечатку на бумажной ленте

Тогда уж вспомним про «кошечку».
Просто уточнение — это не «электрическая печатная машинка», это советский клон IBM'овского принтера.
Или АЦПУ-128.
вот с таким валом
image
О да, у меня в комнате такую родители повесили :-)
Судя по названию, альтернативный постера мюзикла «Jesus Christ Superstart», созданный в частном порядке на матфаке Тартусского университета в конце 1970-ых.

В то время был расцвет ASCII-art'а в СССР, разумеется, у тех, у кого был доступ к технике. Были и умельцы, которые с произвольной картинки делали ее ASCII-версию, потом эти «картинки» на перфолентах бродили по разным вычислительным центрам. В одном из фильмов так даже «фотографию» главной героини распечатывали.

А еще конец семидесятых — период фанатства этой рок-оперой, особенно после ее релкамы в передаче Севы Новгородцева. Легально ее поставят в 1989 году в Рыбинске, а до этого — десять лет подполья. Причем некоторые умудрялись устраивать и полу-легальные коллективные прослушивания с винила или катушек в актовых залах. Видимо, сначала «лекция» о буржуазной музыке, которая использует религию для развращения умов молодежи, а потом — «демонстрация» того, чего советский человек должен был избегать. Примерно так же слушали «Emerson, Lake and Palmer», только под соусом «русская классическая музыка в современной обработке». Видимо, под такое полу-легальное коллективное прослушивание и сделали этот постер…
UFO just landed and posted this here

В linux так то вообще есть виртуальные фреймбуфферы и вы можете на сервере без видеокарты запускать GUI приложения.

О. Не знал. Тыкнете меня в ссылку для начача изучения. Спасибо
В свое время python + phantomjs были сильной связкой. Даже графические капчи можно было решать на сервере без графики как таковой

проверил в iterm2 – работает без дополнительных настроек. правда если переключиться в mc по ⌃O, то при переключении обратно картинка заменяется на однотонный прямоугольник :) ещё картинку из iterm можно drag-and-drop-нуть в файндер – он сохраняет текстовый файл с escape-последовательностями, но что-то пропускает – повторно вывести её в терминал через cat уже не выходит…

c iterm2 идет imgcat, очень удобно:


$ imgcat picture.png
c iterm2 идет imgcat, очень удобно:

странно, но у меня нет. iTerm 3.4.4
Спасибо, не знал. Жаль svg не понимает
Там нет поддержки vt340. Надо поставить более нормальный терминал. Например, в том же iTerm2 работает.
а какой смысл в этих всех режимах эмуляции по типу vt340?
Они разные команды поддерживают для всяких плюшек помимо простого вывода текста. Там обычно есть поддержка ANSI и прочего. Что-то пришло из-за железа, что-то чисто для решения каких-то софтовых ограничений или особенностей связи.
У них корни идут в древние 70-80-ые годы, когда на них ещё динозавры сочиняли свои мемуары для потомков.
Никогда-бы не подумал что текстовые терминалы умеют графику.
Это, походу, какая-то очень специфическая фича от старых терминалов типа VT3xx. Удивлён что её умеет xterm. Хотелось-бы получить файл который-бы можно было сделать cat и получить в консоли картинку =) Чтобы проверить какой эмулятор терминала поддерживает графику а какой нет.

Если я правильно угадал, то вот в этой команде


convert <(curl -s https://upload.wikimedia.org/wikipedia/en/7/7d/Lenna_%28test_image%29.png) sixel:-

конечный минус является указателем на stdout, и его можно заменить на имя файла.

Это фича convert:
man convert
By default, the image format of `file' is determined by its magic number. To specify a particular image format, precede the filename with
an image format name and a colon (i.e. ps:image) or specify the image type as the filename suffix (i.e. image.ps). Specify 'file' as '-'
for standard input or output.


Т.е. можно sixel:filename можно filename.sixel.
Если я правильно угадал, то вот в этой команде

А я в этой команде не очень понял конструкцию со знаком <
Обычно этот знак говорит о том, что надо прочитать файл, который после этого знака указан. А тут указана в скобках команда, которая этот файл читает из интернетов (причём, знак < указан не после всех аргументов программы convert, а прямо посреди списка аргументов). Но это же всё-равно, что сделать так:
curl -s $url | convert sixel:-
Попробовал сделать так — и ничего не получилось.


И ещё:


Пример показан для xterm.
А в konsole такое возможно?
И не просто в konsole. Вот сижу я в konsole в скринах с TERM соответствено = screen.
Внутри скрина можно ли как-то так графику отобразить?

Конструкция <(…) запускает команду в скобках и передаёт её вывод внешней команде как файл (а не как stdin).


Когда вы меняете эту конструкцию на пайп — у вас "пропадает" один из параметров, отсюда и ошибка. Конкретно в случае convert можно попытаться вот так сделать:


curl -s $url | convert - sixel:-

Здесь первый минус означает, что читать надо с stdin.

Конструкция <(…) запускает команду в скобках
и передаёт её вывод внешней команде как файл

Т.е. получается наверно так — stdout команды, которая указана в скобках подставляется в командную строку вместо всей конструкции <(...)?
Ну типа как вместо $url вставляется значени переменной url, так же и вместо <(...) подставляется stdout выполняемой внутри скобок команды поди?
Ну в общем надо будет это попроверять немного.

Нет, подставляется не stdout, а его fd преобразованный в имя файла, чтобы программа могла открыть его как файл и читать из него.

У меня почему-то не работает. Если перенаправить вывод в файл, то он создаётся, и весь код там есть. Но ни xterm, ни LXTerminal ничего не выводят, даже пустой строки.
Видимо, нужно что-то настроить или доустановить.
Upd. Разобрался. Вот здесь есть проект, посвящённый выводу видео FFmpeg напрямую в терминал через sixel, и там подробно рассказывается, что нужно сделать. Требуется поправить .Xresources и, если всё равно не поможет, пересобрать xterm с поддержкой sixel (опция --enable-sixel-graphics в ./configure).
виндовые ssh клиенты такое поддерживают?
Сходу в putty ничего не вышло

Сделайте лучше так, чтобы GUI-библиотеки могли прозрачно работать в текстовом 80x25.

Правильно ли я понимаю, что теперь я могу делать чисто консольное приложение в терминале с отображением графики (если требуется взаимодействие только с клавиатурой)? Есть ли какой-то образец, чтобы посмотреть как это возможно?

Что значит теперь? Автор же пишет, что эта фича появилась в VT340, который поступил в продажу где-то между 1987 и 1990 (не смог найти в интернете более точную информацию).

VT320 != VT340. По последний там ничего не сказано.

Там внизу есть ссылка на «VT330/VT340 Programmer Reference Manual», датированный мартом 1987. В апреле 1987 VT340 продавали за $2795 (для масштаба, свежевыпущенные IBM PS/2 тогда начинались от $1695 за компьютер целиком). Как ни парадоксально, VT320 вышел уже после VT330 и VT340.

Интересно, спасибо. Так глубоко я не копнул.

А нет бенчмарка на анимацию? Как быстро и часто можно обновлять экран с изображением?
Анимация точно возможна и стриминг видео тоже. Так что скорее всего 25 кадров в секунду достижимы. Думаю главным ограничительным фактором в данном случае будет размер области, требующей обновления. Вполне возможно, что 4k video сиксельная графика в реальном времени не потянет.
Похоже, кроме xterm из коробки не поддерживается нигде в линуксе. Так что правильнее было бы озаглавить статью «Графика в терминале VT320 или его эмуляторах».
Так, а Гуй с кнопками таким образом можно сорганизовать?

На "Апогее" можно похожим способом через ВГ75 графику выводить.

Графику (даже с намёками на анимацию) в текстовые терминалы отображать научились.
Осталось научиться выводить в терминалы звук и всё! Можно ваять видопроигрыватели!
Уже потираю руки от того, что от всего этого можно будет когда-нибудь для текстовых терминалов наваять:
Браузеры "графические", редакторы графические, ютубы там всякие, прямые трансляции и всё такое.
Иксы для текстового режима случае ещё никто не наваял ли?

Sign up to leave a comment.

Articles

Change theme settings