Top.Mail.Ru
Загрузка

Carbonyl — полноценный браузер внутри терминала

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

Carbonyl — это браузер на основе Chromium, созданный для работы в терминале. У него есть своя уникальная миссия: превратить любой терминал Linux в современный графический веб-браузер.

Особенности Carbonyl

Прежде чем начать, стоит предупредить читателя, что какой бы крутой не была концепция разработчиков, но Carbonyl всё же имеет ряд серьёзных ограничений. Не стоит его сравнивать с другими графическими браузерами, которые вы привыкли использовать ежедневно, Carbonyl не сможет полноценно заменить их. Даже несмотря на то, что Carbonyl отображает изображения и обрабатывает потоковое видео, но делает это с гораздо меньшим разрешением и качеством, чем любой браузер, работающий поверх полноценного оконного интерфейса.

На скриншотах ниже показано, как отображают одну и ту же веб-страницу текстовый браузер Links и Carbonyl. Разница очевидна, и если не заострять внимание на зернистость и пиксельную графику, Carbonyl отображает веб-страницу гораздо лучше и гораздо ближе к тому, что вы привыкли видеть в десктопных браузерах, таких как Firefox, Chrome или Safari.

Это была вполне статичная страница, а теперь проверим, как поведут себя наши подопытные на странице с потоковым видео. Для этого откроем в каждом браузере Youtube. Как и следовало ожидать в links страница даже не отобразилась, а в Carbonyl даже возможно просмотреть видео, правда картинка будет выглядеть в стиле игры Minecraft.

В данный момент в Carbonyl нет поддержки расширений Chrome/Chromium и в нём нельзя сохранить закладки. Но, поскольку целью разработчиков является полный перенос пользовательского интерфейса Chromium, то стоит ожидать, что и закладки, и расширения со временем появятся в программе.

Как по мне, даже в том виде, в котором сейчас находится Carbonyl, он является отличной альтернативой десктопным приложениям на маломощных компьютерах, где ресурсы играют большую роль. Carbonyl поддерживает все современные веб-стандарты, которые присущи для подавляющего большинства десктопных браузеров — JavaScript, WebGL, WebGPU, iframe, воспроизведения аудио и видео (со скоростью 60 кадров в секунду). И при этом Carbonyl не обременён зависимостью от графических серверов, таких как Xorg или Wayland.

На моей тестовой машине с 8 ГБ оперативной памяти Carbonyl за пару секунд загрузил и отобразил сложную веб-страницу, которая выглядит так же, как и в браузере Firefox. Ещё одним положительным качеством этого браузера является то, что он не загружает процессор при простое. По заверениям разработчиков, Carbonyl можно использовать удалённо через SSH, что я впоследствии и проверил на реальном примере.

Carbonyl для программистов

То, что можно запустить полноценный браузер в консоли, может стать вызовом для программистов, которые захотят исследовать все возможности программы. К слову, Carbonyl написан на таких языках, как TypeScript, C++ и Rust, а для рендеринга в терминале, используется утилита html2svg. Утилита, которая изначально была разработана для преобразования HTML-страниц, включая графику, создаваемую на лету в элементах Canvas, в векторные или растровые изображения.

Разработка программы не стоит на месте, и поэтому желающие программисты могут присоединиться и внести свой посильный вклад. Carbonyl может стать отличной площадкой для изучения множества технологий и алгоритмов, о существовании которых многие и не подозревали. Так разработчики используют технологию, которую они назвали «бинаризацией квадрантов». По их словам, она представляет собой технику рендеринга четырех видимых пикселей на ячейку терминала, что бы это не значило.

Для желающих, Carbonyl может стать хорошим способом научиться использовать и разрабатывать профили Chromium для Profile Guided Optimization (PGO). Если просто, то PGO — это метод оптимизации компилятора, при котором наиболее важные для производительности части кода могут выполняться быстрее. И последнее, но не менее важное: Carbonyl может научить многим приёмам удаления мусора, который является проблемой многих пакетов, используемых в свободном программном обеспечение с открытым исходным кодом. Первые версии Carbonyl имели более 20 сложных зависимостей. В версии, актуальной на момент написания статьи (Carbonyl 0.0.3), их всего четыре.

Carbonyl для простых пользователей

Если у вас завалялся какой-нибудь старенький компьютер или ноутбук, то все в один голос будут советовать установить на него один из легковесных дистрибутивов Linux. Допустим, вы так и сделали. И вот ваше старое железо скрипя и завывая загрузилось до рабочего стола, ну, а что дальше? Всё, что вы делаете сидя за компьютером, вы делаете в интернете. Но запустить современный десктопный браузер на таком старом оборудовании может оказаться не реальной задачей. Вот тут-то Carbonyl станет безальтернативным вариантом.

Более опытный пользователь возразит и скажет, что есть и другие текстовые браузеры, как то lynx, w3m, links, links2. Да, они отлично подходят именно для текстовых страниц в интернете, но как быть, если вам надо будет провести онлайн-платёж? Здесь уже не обойтись без браузера с графическим интерфейсом, без поддержки JavaScript и iframe, или же вам придётся ножками топать до ближайшего отделения банка, чтобы оплатить счета.

С Carbonyl многие такие проблемы отпадут сами. Конечно же, качество отображения изображений и видео в Carbonyl оставляют желать лучшего, но разве это главное для консольного браузера? Кстати, я могу подсказать вам простой трюк, как сделать картинку в Carbonyl более-менее смотрибельной. Если вы уменьшите размер шрифта в терминале, в котором запущен Carbonyl, настолько, что текст станет совсем нечитаемым, то картинка станет более чёткой.

В Carbonyl вы можете прокручивать, наводить и кликать мышью на всём. Это означает, что можно закрыть все раздражающие всплывающие уведомления, окна конфигурации cookie и рекламные баннеры. Если немного увеличить разрешение, то можно даже пройти CAPTCHA на основе картинок.

Всю прелесть использования Carbonyl я испытал, когда продемонстрировал его возможности своему коллеге с другого города. Целый вечер я не мог объяснить, где ему прочитать веб-документацию на оборудование, которое было недавно приобретено. Подключившись через протокол SSH к его домашнему компьютеру, я скачал и запустил в его терминале браузер Carbonyl и мы вместе нашли искомую информацию.

Установка и использование Carbonyl

В Linux Carbonyl доступен в трёх форматах:

  • исполняемый файл,
  • контейнер Docker,
  • исходный код.

Первый представляет собой сжатый файл, доступный для систем AMD64 и ARM64. После того как вы скачаете соответствующий для вашей системы файл, распакуйте его и перейдите внутрь каталога, содержащий исполняемый файл. Если пожелаете, то можете добавить этот каталог в переменную bashrc, чтобы запускать в дальнейшем Carbonyl из командной строки, как любую другую программу командной строки.

Чтобы использовать контейнер, сначала установите версию менеджера контейнеров Docker, доступную для вашего дистрибутива Linux, а затем в приглашении введите:

docker run --rm -ti fathyb/carbonyl https://youtube.com

Инструкцию по компилированию программы из исходного кода можно прочитать на странице Github разработчика.

Запустить Carbonyl можно и без указания адреса. В таком случае сверху в адресной строке надо стереть надпись «about:blank» и прописать нужный адрес с указанем протокола http(s). Если запустить браузер с опцией —help, то он выведет небольшую справочную информацию, где указано, что Carbonyl поддерживает большинство опций командной строки Chromium, а также некоторые свои собственные:

  • -f, —fps= — установит максимальное количество кадров в секунду (по умолчанию: 60);
  • -z, —zoom= — установить уровень масштабирования в процентах (по умолчанию: 100);
  • -b, —bitmap — отобразит текст в виде растровых изображений;
  • -d, —debug — включение журнала отладки;
  • -h, —help — выведет справочное сообщение;
  • -v, —version — отобразит версию программы.

Заключение

Carbonyl — это лучшее на данный момент решение для отображения веб-страниц для слабых машин, а также он уникален в том плане, что его можно запустить удалённо через SSH, как полноценный браузер. Низкое качество изображений скорее даже плюс, так как даёт возможность не отвлекаясь сконцентрироваться на работе.

svg

Что вы думаете?

Показать комментарии / Оставить комментарий

Комментировать

svg
Быстрая навигация
  • 01

    Carbonyl — полноценный браузер внутри терминала