Представлен новый консольный web-браузер Carbonyl, основанный на движке Chromium и способный отображать в терминале любые сайты, в том числе YouTube. Браузер поддерживает почти все Web API, включая WebGL, WebGPU и средства для воспроизведения видео, звука и анимации. Работа возможна как при прямом запуске терминала, так и при подключении через SSH. Обвязка вокруг движка Chromium написана на языках TypeScript, C++ и Rust.

Проект продолжает развитие утилиты html2svg, которая изначально была разработана для преобразования HTML и <canvas> в векторные (SVG, PDF) или растровые изображения (PNG, JPEG, WebP), а теперь задействована в качестве основы для отрисовки в терминал. Для вывода графики задействованы возможности терминалов, таких как xterm-256, выводить unicode-символы в цвете - в качестве виртуального пикселя используется символ U+2584 ("▄"). Пользуясь тем, что соотношение сторон в этом символе 1:2, имеется возможность отображения на его основе двух квадратных пикселей, верхний из которых задаёт цвет фона, а нижний - переднего плана.
Для отслеживания движения мыши, перемещения курсора и изменения цвета текста используются escape-последовательности xterm. Для терминала xterm возможно задействование RGB-палитры 6x6x6, а при установке режима COLORTERM - 24-разрядной полноцветной палитры RGB. Текст отрисовывается в фиксированном размере, отдельно от изображений. Для перехвата текста в библиотеке Skia подключается отдельный обработчик.Код отрисовки оптимизирован для работы в терминале и позволяет выводить графику с частотой обновления на уровне 60 FPS с минимальной нагрузкой на CPU.
// cc-by opennet.ru
// converted with crypt’s opennet autoreposter
<<<
Во людям делать нечего
Но прикольно
Охуеть, к нему бы еще сиксель прикрутить и можно вообще из консоли не вылезать
сиксель
сиски-чего?
да, вещь крутая, но я так и не понял, где они взяли терминал с таким разрешением. у меня стандартный 80x25 строк.
сходу не въехал, как они реализуют вывод группы пихелей в позицию терминала. но почему ты говоришь, что этого нет? твоя ссылка - это прямо, как скрины в новости.
Я про графику, в сикселе вывод точечный, а эта хрень использует символы.
А этот сиксель работает только если запускаешь графику? Или по ssh тоже? Все скрины вроде из графического режима там
Эмулятор терминала должен поддерживать. Про ссш хз
он не точечный, а там матрица 6х6.
и здесь, мне кажется, это квадратики, а не символы
Это хуйня. Вот если бы они запилили чтобы браузер запускался на голом VT и рендерил напрямую в DRM мимо всяких иксов-вейландов, с аппаратным ускорением и норм шрифтами, вот это было бы круто.
Ну и нафейхоа.
Тут основная фишка, что можно на удаленной машине запускать по ssh.
Зачем?
Зачем его вообще запускать? У вас там графический режим ещё не освоили? Он в Windows 3 уже был
Это хуйня. Вот если бы они запилили чтобы браузер запускался на голом VT и рендерил напрямую в DRM мимо всяких иксов-вейландов… вот это было бы круто.
Плюсую. Через svgalib, например.
Недавно кстати в MPV запилили вывод видео через sixel. Непонятно зачем, но прикольно.
Wow! Надо как-нибудь заценить. Я иногда Lynx пользовался, когда иксов нет, а глянуть инфу нужно, но это не удобно, а тут такая штука!
Wow! Надо как-нибудь заценить. Я иногда Lynx пользовался, когда иксов нет, а глянуть инфу нужно, но это не удобно, а тут такая штука!
Может и нужно заценить, нот нет собранных бинарников, что означает, что нужно будет компелять. А если у вас машина слабая, это все займет ОЧЕНЬ много времени.
как выше написали, есть что-то похожее для firefox в портах freebsd (читать тред целиком полезно)
Про
browshя знаю. Он гогно.ты думал сабж будет чем-то лучше?
ты думал сабж будет чем-то лучше?
Хотел попробовать. Все же на chromium он. А вдруг лучше?
А
browshя пробовал. Он как бешеный создает зомби процессы.ты думал сабж будет чем-то лучше?
В browsh ну очень неудобный интерфейс: каждую страницу вручную вводить приходится.
О Х Р Е Н Е Т Ь Ъ
хочу сабж под FreeBSD :(
Как же мне его не хватало, лет 10 назад.
Уже была похожая штука - browsh , правда там движок firefox, но по сути то же самое
нэ, этот даже в консоли будет тормозить
по-моему есть какая-то разница между этими двумя. в browsh совсем по-другому выглядят шрифты (лучше читаются, но хуже центруются). и квадраты в browsh как будто крупнее.
«по-другому выглядят шрифты» Шрифты же из консолечки, какой выбран шрифт в терминале, а квадраты размером со знакоместо, или не?
нет, квадраты, как сосиска выше замечает, рисуются через какой-то сискель-пиксель. они меньше по размеру, я так понял, чем обычная терминальная позиция. @cocucka
а хрифты в этой новости явно не консольные - а рендеринг через пиксели, как и все остальное.
Сосиска говорит, неплохо бы прикрутить, а так вроде без сисек, обычные квадраты. Собственно тогда бы картинки нормальные были, а так только буквы читаются
ну он так говорит, но на картинке явно слишком мелкие квадраты. больше похоже, что это какая-то часть от квадратов.
я пытался читать про сиски-пиксели, написано, что это какой-то грид 6x6 внутри обычного знакоместа. или я что-то не понял.
видишь, буквы больше квадратов

Квадрат - половина знакоместа
Ну это никакие не сиксели, на знакоместо два квадрата. Символ - половина закрашенного знакоместа, соответственно два цвета, фон - один квадрат, основной - второй. Это любой терминал умеет. А сиксели выглядит как какое-то ненужно, т.к. нужен специальный терминал с их поддержкой, тогда уж можно и нормальное графическое приложение запустить, а в терминале всё равно цвета шакальные (судя по странице https://linuxtalks.co/news/chrome/56312?cid=56325). Вот что неплохо было бы - сделать легковесный браузер а-ля опера-мини, только графику не в сиксели преобразовывать (и тем более не в квадраты-знакоместа), а в например обычные растровые жпеги. А то веб на клиентской стороне разжирел, а так хоть можно будет браузер вынести на отдельный сервер
на языках TypeScript, C++ и Rust.
Странно и жаль, что нет собранных бинарников. Часто программы, написанные на Rust уже бывают собранные, а тут нет. А самому компелять никакой охоты нет.











