Carbonyl, browser web terminal berbasis Chromium

karbonil

Carbonyl browser web konsol

Berita tentang peluncuran browser web konsol baru, Carbonyl, berdasarkan motor Khrom dan mampu menampilkan situs apa pun di terminal, termasuk YouTube.

Browser mendukung hampir semua API web termasuk WebGL, WebGPU dan alat untuk memutar video, suara, dan animasi. Pengoperasian dimungkinkan baik dengan peluncuran langsung terminal dan dengan koneksi melalui SSH.

Tentang Karbonil

Proyek melanjutkan pengembangan utilitas html2svg, yang awalnya dikembangkan untuk mengonversi HTML dan dalam gambar vektor (SVG, PDF) atau bitmap (PNG, JPEG, WebP), dan sekarang digunakan sebagai dasar untuk rendering ke Terminal.

Untuk menampilkan grafik, kemampuan terminal seperti xterm-256 digunakan untuk menampilkan karakter Unicode berwarna: simbol U+2584 ("▄") digunakan sebagai piksel virtual. Mengambil keuntungan dari fakta bahwa rasio aspek dalam simbol ini adalah 1:2, dimungkinkan untuk menampilkan dua piksel persegi berdasarkan itu, yang bagian atasnya mengatur warna latar belakang dan bagian bawahnya mengatur latar depan.

Ini mengunduh gambar yang dipercepat perangkat keras dari GPU, yang menjelaskan penggunaan bandwidth memori yang mengejutkan. Kami dapat menonaktifkan pemulihan dan bahkan menonaktifkan akselerasi perangkat keras, tetapi kami masih memiliki mesin IPC yang mahal yang menahan kami.

Rendering perangkat lunak masih sangat umum, bahkan dulunya adalah default jika Anda bisa mempercayainya. Itu cukup mudah dalam satu hari proses, tetapi hari ini wilayah memori bersama diatur untuk merender secara efisien menggunakan banyak proses.

Jika kami dapat menempatkan piksel kami di salah satu wilayah memori ini, kami hanya perlu memberi tahu proses browser kami melalui pesan IPC sederhana.

urutan melarikan diri xterm digunakan untuk melacak pergerakan mouse, gerakan kursor, dan perubahan warna teks. Untuk terminal xterm, dimungkinkan untuk menggunakan palet RGB 6x6x6, dan ketika diatur ke mode COLORTERM, dimungkinkan untuk menggunakan palet RGB 24-bit penuh warna.

Teks diberikan pada ukuran tetap, terpisah dari gambar, plus untuk mencegat teks di perpustakaan Skia, pengontrol terpisah dipasang. Kode rendering dioptimalkan untuk berjalan di terminal dan memungkinkan Anda menampilkan grafik pada kecepatan refresh 60 FPS dengan beban CPU minimal.

Untuk merender gambar disebutkan bahwa CapturePaintPreview bagus untuk html2svg, tetapi tidak dirancang untuk rendering waktu nyata karena menggunakan panggilan IPC untuk mendukung iframe di luar proses dengan benar, melakukan perjalanan bolak-balik antara proses browser , GPU, dan perender.

Dalam apa yang dapat dilakukan Carbonyl, berikut ini menonjol:

  • memindahkan kursor
  • Tulis karakter Unicode
  • Atur warna latar belakang dan latar depan karakter
  • Gunakan palet RGB 6x6x6, atau RGB 24-bit jika COLORTERM diatur ke truecolor.

untuk tertarik untuk mengetahuinya lebih lanjut, mereka harus tahu bahwa tautan mesin Chromium ditulis dalam TypeScript, C++, dan Rust. Anda dapat mempelajari lebih lanjut tentang perkembangannya Di tautan berikut.

Bagaimana cara menginstal Carbonyl di Linux?

Bagi mereka yang tertarik untuk dapat menginstal browser web ini di sistem mereka, Saya harus menyebutkan bahwa ini agak memakan waktu, karena pada dasarnya mengkompilasi Chromium dan terapkan tambalan yang diperlukan untuk dapat membuat gambar buruh pelabuhan dari browser.

Yang pertama adalah dapatkan kode Chromium dengan:

./scripts/gclient.sh sync

Kami melanjutkan untuk menerapkan tambalan (setiap perubahan yang dibuat di Chromium akan dikembalikan, jadi pastikan untuk menyimpan perubahan yang telah Anda buat).

./scripts/patches.sh apply

Setelah itu kami melanjutkan untuk mengkonfigurasi:

./scripts/gn.sh argumen keluar/Default

Default adalah nama tujuan, Anda dapat menggunakan beberapa dan memilih nama yang Anda inginkan, yaitu:

  • ./scripts/gn.sh argumen keluar/rilis
  • ./scripts/gn.sh argumen keluar/debug
  • ./scripts/gn.sh args out/arm64
  •  ./scripts/gn.sh args out/amd64

Kemudian, saat diminta, argumen berikut harus dimasukkan:

import("//carbonyl/src/browser/args.gn")

# batalkan komentar ini untuk membangun arm64
# target_cpu=”lengan64″

# batalkan komentar ini untuk mengaktifkan ccache
# cc_wrapper=”env CCACHE_SLOPPINESS=time_macros ccache”

# batalkan komentar ini jika Anda membuat untuk macOS
# use_lld=salah

# batalkan komentar ini untuk versi rilis
# is_debug=salah
# tingkat_simbol=0

Kami melanjutkan untuk membangun binari dengan:

./scripts/build.sh Default

Yang seharusnya menghasilkan hasil sebagai berikut:

out/Default/headless_shell: browser binary
out/Default/icudtl.dat
out/Default/libEGL.so
out/Default/libGLESv2.so
out/Default/v8_context_snapshot.bin

dan akhirnya Untuk membuat gambar Docker, jalankan saja berikut (tergantung pada kasus arsitektur Anda). Untuk LENGAN:

./scripts/docker.sh arm64 Default

Untuk x64:
./scripts/docker.sh amd64 Default

Terakhir, browser dapat dijalankan dengan:

./scripts/run.sh Default https://wikipedia.org


tinggalkan Komentar Anda

Alamat email Anda tidak akan dipublikasikan. Bidang yang harus diisi ditandai dengan *

*

*

  1. Penanggung jawab data: Miguel Ángel Gatón
  2. Tujuan data: Mengontrol SPAM, manajemen komentar.
  3. Legitimasi: Persetujuan Anda
  4. Komunikasi data: Data tidak akan dikomunikasikan kepada pihak ketiga kecuali dengan kewajiban hukum.
  5. Penyimpanan data: Basis data dihosting oleh Occentus Networks (UE)
  6. Hak: Anda dapat membatasi, memulihkan, dan menghapus informasi Anda kapan saja.