Chromium tabanlı bir terminal web tarayıcısı olan Carbonyl

karbonil

Carbonyl bir konsol web tarayıcısı

lansman haberi tabanlı yeni bir konsol web tarayıcısı olan Carbonyl motor Krom ve YouTube da dahil olmak üzere terminaldeki herhangi bir siteyi görüntüleyebilir.

Tarayıcı WebGL, WebGPU dahil neredeyse tüm web API'lerini destekler ve video, ses ve animasyon oynatmak için araçlar. İşlem, hem terminalin doğrudan başlatılmasıyla hem de SSH üzerinden bağlantıyla mümkündür.

Karbonil Hakkında

proje html2svg yardımcı programının geliştirilmesine devam ediyor, başlangıçta HTML'yi dönüştürmek için geliştirildi ve vektör (SVG, PDF) veya bitmap (PNG, JPEG, WebP) görüntülerde ve artık Terminal'de işleme için temel olarak kullanılıyor.

Grafikleri görüntülemek için xterm-256 gibi terminallerin yeteneği kullanılır. Unicode karakterleri renkli görüntülemek için: U+2584 ("▄") sembolü kullanılır sanal piksel olarak Bu semboldeki en-boy oranının 1:2 olması gerçeğinden yararlanarak, buna dayalı olarak, üst kısmı arka plan rengini ve alt kısmı ön planı ayarlayan iki kare piksel görüntülemek mümkündür.

Şaşırtıcı bellek bant genişliği kullanımını açıklayan, GPU'dan donanım hızlandırmalı görüntüler indirir. Kurtarmayı devre dışı bırakabilir ve hatta donanım hızlandırmayı devre dışı bırakabiliriz, ancak yine de bizi geride tutan pahalı IPC makinelerimiz var.

Yazılım oluşturma hala çok yaygın, hatta buna inanabiliyorsanız, varsayılan olarak kullanılıyordu. Tek işlem günlerinde yeterince kolaydı, ancak bugün paylaşılan bellek bölgeleri, birden çok işlem kullanılarak verimli bir şekilde işlenecek şekilde ayarlanıyor.

Piksellerimizi bu bellek bölgelerinden birine yerleştirebilirsek, tarayıcı işlemimizi basit bir IPC mesajıyla bilgilendirmemiz yeterli olacaktır.

Kaçış dizileri xterm, fare hareketini izlemek için kullanılır, imleç hareketi ve metin rengi değişir. xterm terminali için 6x6x6 RGB paleti kullanmak mümkündür ve COLORTERM moduna ayarlandığında 24 bit tam renkli RGB paleti kullanmak mümkündür.

Metin sabit bir boyutta işlenir, görüntülerden ayrı, ayrıca Skia kitaplığındaki metni yakalamak için ayrı bir denetleyici takılmıştır. Oluşturma kodu, terminalde çalışacak şekilde optimize edilmiştir ve grafikleri minimum CPU yükü ile 60 FPS yenileme hızında görüntülemenizi sağlar.

Görüntüleri işlemek için, CapturePaintPreview'in html2svg için harika olduğundan bahsediliyor, ancak işlem dışı iframe'leri uygun şekilde desteklemek için IPC çağrılarını kullandığı ve tarayıcı işlemleri , GPU ve oluşturucu arasında gidiş dönüşler yaptığı için gerçek zamanlı işleme için tasarlanmamıştır.

Carbonyl'in yapabilecekleri arasında aşağıdakiler öne çıkıyor:

  • imleci hareket ettir
  • Unicode karakterler yaz
  • Bir karakterin arka plan ve ön plan rengini ayarlayın
  • 6x6x6 RGB paleti veya COLORTERM truecolor olarak ayarlanmışsa 24 bit RGB kullanın.

Için hakkında daha fazla bilgi edinmekle ilgilenen, Chromium motoru bağlantısının TypeScript, C++ ve Rust ile yazıldığını bilmeleri gerekir. Geliştirme hakkında daha fazla bilgi edinebilirsiniz Aşağıdaki bağlantıda.

Carbonyl'i Linux'a nasıl kurarım?

Bu web tarayıcısını sistemlerine kurabilmekle ilgilenenler için, Temelde Chromium'u derlemek olduğu için biraz zaman aldığını belirtmeliyim. ve tarayıcının docker görüntüsünü oluşturabilmek için gerekli yamaları uygulayın.

İlk şey Chromium kodunu şununla al:

./scripts/gclient.sh sync

Yamaları uygulamaya devam ediyoruz (Chromium'da yapılan tüm değişiklikler geri alınacak, bu nedenle yaptığınız değişiklikleri kaydettiğinizden emin olun).

./scripts/patches.sh apply

Daha sonra yapılandırmaya devam ediyoruz:

./scripts/gn.sh args out/Varsayılan

Varsayılan varış yeri adıdır, birkaçını kullanabilir ve istediğiniz adı seçebilirsiniz, yani:

  • ./scripts/gn.sh args out/release
  • ./scripts/gn.sh args out/debug
  • ./scripts/gn.sh args out/arm64
  •  ./scripts/gn.sh args out/amd64

Daha sonra istendiğinde aşağıdaki bağımsız değişkenler girilmelidir:

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

# arm64 için derlemek üzere bunun açıklamasını kaldırın
# target_cpu=”arm64”

# ccache'yi etkinleştirmek için bunun açıklamasını kaldırın
# cc_wrapper=”env CCACHE_SLOPPINESS=time_macros ccache”

# macOS için geliştiriyorsanız bu yorumu kaldırın
# use_lld=yanlış

# bir yayın derlemesi için bunun açıklamasını kaldırın
# is_debug=yanlış
# sembol_düzeyi=0

İkili dosyaları oluşturmaya devam ediyoruz:

./scripts/build.sh Default

Hangisi aşağıdaki sonuçları üretmelidir:

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

ve nihayet Bir Docker görüntüsü oluşturmak için sadece çalıştırın aşağıdakiler (mimari durumunuza bağlı olarak). ARM için:

./scripts/docker.sh arm64 Default

X64 için:
./scripts/docker.sh amd64 Default

Son olarak, tarayıcı şu şekilde çalıştırılabilir:

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


Yorumunuzu bırakın

E-posta hesabınız yayınlanmayacak. Gerekli alanlar ile işaretlenmiştir *

*

*

  1. Verilerden sorumlu: Miguel Ángel Gatón
  2. Verilerin amacı: Kontrol SPAM, yorum yönetimi.
  3. Meşruiyet: Onayınız
  4. Verilerin iletilmesi: Veriler, yasal zorunluluk dışında üçüncü kişilere iletilmeyecektir.
  5. Veri depolama: Occentus Networks (AB) tarafından barındırılan veritabanı
  6. Haklar: Bilgilerinizi istediğiniz zaman sınırlayabilir, kurtarabilir ve silebilirsiniz.