Chromium

From Gentoo Wiki
Jump to:navigation Jump to:search
This page is a translated version of the page Chromium and the translation is 100% complete.

A Chromium a Google Chrome webböngésző nyílt forráskódú változata. (Valójában a Google Chrome böngésző a nyílt forráskódú Chromium bőngésző "fejlesztéséből" származik. Más szavakkal, a Chromium fő fejlesztési ág egyik fejlesztési mellékága a Google Chrome. Fordítói megjegyzés). A Chromium minimális felhasználói felülettel, hatékony webfejlesztő eszközökkel és beépített feladatkezelővel rendelkezik. A Chromium projekt élen jár az új webes szabványok bevezetésében.

Mivel a Chromium nyílt forráskódú, jogilag nem tartalmazhat több olyan funkciót, amelyet a Google Chrome böngésző alapértelmezés szerint tartalmaz. Mégpedig az automatikus frissítések. A különbségek teljes listája megtalálható a Chromium szoftvertárolójában.

Telepítés

USE jelölőzászlók

USE flags for www-client/chromium Open-source version of Google Chrome web browser

+X Add support for X11
+hangouts Enable support for Google Hangouts features such as screen sharing
+official Enable Official build instead of Developer build.
+proprietary-codecs Enable codecs for patent-encumbered audio and video formats.
+screencast Enable support for remote desktop and screen cast using PipeWire
+system-harfbuzz Use system media-libs/harfbuzz instead of the bundled library.
+system-icu Use system dev-libs/icu instead of the bundled one
+system-png Use system media-libs/libpng instead of the bundled library
+system-zstd Use system app-arch/zstd instead of the bundled one.
+vaapi Enable Video Acceleration API for hardware decoding
+wayland Enable dev-libs/wayland backend
+widevine Unsupported closed-source DRM capability (required by Netflix VOD)
bindist Flag to enable or disable options for prebuilt (GRP) packages (eg. due to licensing issues)
bundled-toolchain Download and use the upstream binary toolchain(s) to build Chromium
cups Add support for CUPS (Common Unix Printing System)
custom-cflags Build with user-specified CFLAGS (unsupported)
debug Enable DCHECK feature with severity configurable at runtime. Mostly intended for debugging and development, NOT RECOMMENDED for general use.
ffmpeg-chromium (binpkg only) Use Chromium FFmpeg fork (media-video/ffmpeg-chromium) rather than mainline FFmpeg (media-video/ffmpeg)
gtk4 Build with GTK4 headers.
headless Build Ozone only with headless backend, NOT RECOMMENDED for general use.
kerberos Add kerberos support
pax-kernel Allow building on a PaX-enabled kernel
pgo Build with Profile Guided Optimizations (2-stage compilation)
pulseaudio Add sound server support via media-libs/libpulse (may be PulseAudio or PipeWire)
qt5 Add support for the Qt 5 application and UI framework
qt6 Add support for the Qt 6 application and UI framework
selinux !!internal use only!! Security Enhanced Linux support, this must be set by the selinux profile or breakage will occur
test Enable dependencies and/or preparations necessary to run tests (usually controlled by FEATURES=test but can be toggled independently)

icu

Important
Azért, hogy elkerüljük a dev-libs/libxml2 programcsomaggal való emerge slot ütközést, ami megakadályozza a Chromium összeállítását, az icu USE jelölőzászlót be kell állítani a /etc/portage/make.conf fájlban. Ha az icu először van beállítva, akkor frissítse a rendszert a chromium összeállítása előtt a következő parancs kiadásával:

root #emerge --ask --update --deep --newuse @world

L10N

Sok nyelv érhető el a Chromium L10N USE_EXPAND változóján keresztül. A nyílt forráskódnak köszönhetően, valójában annyira sok nyelv érhető el, hogy azokat még ez a Wiki se nem tudja mind megjeleníteni. A lokalizációs nyelvek teljes listájához futtassa a következő parancsot:

user $equery u www-client/chromium | grep -i l10n
Note
A equery eszközök részei az app-portage/gentoolkit programcsomagnak, abban találhatók meg. Tehát a fenti parancs használatához, először kérjük, hogy telepítse a programcsomagot.

A lokalizációval kapcsolatos további információkért tekintse meg a Lokalizáció leírásáról szóló cikket.

Emerge

Tip
Ne feledje, hogy a Chromium bináris kódra történő lefordítása jelentős mennyiségű valós időt, processzoridőt és rendszermemóriát igényelhet. Engedjen meg 2 GiB RAM memóriát minden a make-t használó processzor folyamatszálnak. (A MAKEOPTS meghatározása szerint. Tekintse meg ezt a bejegyzést). Valószínűleg nem jó ötlet Chromium böngészőt építeni forráskódból, amikor a számítógépes rendszerünk amúgy is nagy terhelés alatt áll.

Az USE jelölőzászlók beállítása után hozza létre az emerge parancs segítségével a Chromium webböngészőt a következőképpen:

root #emerge --ask www-client/chromium

Konfiguráció

Clang

Ha Chromium webböngészőt a Clang segítségével szeretné létrehozni, akkor először nézze meg a Clang környezet leírását.

Kifejezetten a Chromium esetében a következő env beállítások szükségesek:

FILE /etc/portage/env/clang-chromium
# Optionally, add these to EXTRA_GN:
# - thin_lto_enable_optimizations=true 
# - use_thin_lto=true
# - is_cfi=true 
EXTRA_GN="use_lld=true is_clang=true clang_use_chrome_plugins=false" 
#
# Needed with GCC 11
CHROMIUM_FORCE_LIBCXX=yes

Majd engedélyezze azt (vegye figyelembe, hogy az alap Clang konfigurációt a másik cikkből vettük, majd hozzáadjuk az imént meghatározott beállításokat):

FILE /etc/portage/package.env
# compiler-clang: build with a general Clang environment (see Clang article)
# clang-chromium: build with tweaks specifically for Chromium
www-client/chromium compiler-clang clang-chromium

HiDPI

A Chromium vizuális kimenete általában le van választva az Asztali környezet DPI-skálázásáról. A --force-device-scale-factor parancssori kapcsoló használatával utasítható, hogy skálázott módban induljon el. Ez az opció egész vagy decimális értéket adhat át. A szabványos méretezés a 1.0 értéknél kezdődik. Például a Chromium felhasználói felületének másfélszeresére (1.5 *) történő növeléséhez ezt a parancsot kell kiadni:

user $chromium --force-device-scale-factor=1.5

A parancssori kapcsolók teljes listája itt található.

Natív Wayland támogatás

A 87-es verzió óta a Chromium natív Wayland támogatása a következő opciók átadásával engedélyezhető:

user $chromium --enable-features=UseOzonePlatform --ozone-platform=wayland

A Chromium beállításához, hogy minden alkalommal elinduljon a Wayland háttérprogram használatakor, fűzze hozzá a következő sorokat a felhasználó Chromium konfigurációs fájljához:

FILE ~/.config/chromium-flags.conf
--enable-features=UseOzonePlatform
--ozone-platform=wayland

Sötét téma engedélyezése az oldalakon (prefers-color-scheme)

A 2022. májusi Chromium a GTK-n egy hiba miatt nem érti, hogy a felhasználó sötét oldalakat szeretne látni. De ezt a beállítást manuálisan is beállíthatja:

FILE /etc/chromium/default
CHROMIUM_FLAGS="--force-dark-mode
--enable-features=WebUIDarkMode"

Az első a normál oldalakhoz, a második a belső chrome:// oldalakhoz való.

A lapokon megjelenő kártyák letiltása

A 91.0.4472.77-es verzió óta már nem lehet letiltani a lapokon megjelenő kártyákat a Chrome jelölőzászlókkal. Úgy tűnik, hogy a Google-nél nincs prioritás arra, hogy ezt a funkciót visszakapjuk. A letiltáshoz hozzáadhatja ezt a javítást a Portage csomagkezelőhöz:

FILE /etc/portage/patches/www-client/chromium/hover-card.patch
diff --git a/chrome/browser/ui/views/tabs/tab_strip.cc b/chrome/browser/ui/views/tabs/tab_strip.cc
index 2c94eb0..1f7bde0 100644
--- a/chrome/browser/ui/views/tabs/tab_strip.cc
+++ b/chrome/browser/ui/views/tabs/tab_strip.cc
@@ -2149,6 +2149,7 @@ void TabStrip::OnMouseEventInTab(views::View* source,
 }
 
 void TabStrip::UpdateHoverCard(Tab* tab, HoverCardUpdateType update_type) {
+  return;
   // Some operations (including e.g. starting a drag) can cause the tab focus
   // to change at the same time as the tabstrip is starting to animate; the
   // hover card should not be visible at this time.

Tekintse meg továbbá a Hozzáadott beállítás a lapok felett megjelenő kártyák részére leírást.

Irányelvek

A Chromium-hoz speciális házirendeket lehet beállítani. Ez különösen akkor lehet hasznos, ha a böngészőnek elérhetőnek kell lennie a felhasználók számára, de a tartalmat megbízható oldalakra kell korlátozni. Konfigurálható úgy is, hogy korlátozza a hozzáférést a megadott URI-khoz. Például a file:// protokollhoz, hogy megakadályozza a felhasználókat a fájlrendszerben való böngészésben.

A Chromium az /etc/chromium/policies fájlban keresi a meglévő házirendeket. Kétféle házirendet lehet meghatározni:

  • Felügyelt
  • Ajánlott

Az általánosan felügyelt házirendeket a rendszergazda tartja karban, és az ajánlott házirendek ajánlottak a felhasználók számára, de nem kötelezőek.
A két házirend-típusról további információkat kaphat a Google Chrome támogatási oldalán lévő dokumentációból.

A következő példa felügyelt házirendeket feltételez. Az ajánlott házirendek eljárása azonban nagyon hasonló, és megtalálható a Chromium dokumentációjában.

Felügyelt házirendek létrehozása

Egyéni felügyelt házirendek beállításához létre kell hozni egy JSON fájlt az /etc/chromium/policies/managed/<fájlnév>.json fájlban.

Note
Fontos gondoskodni arról, hogy a <fájlnév>.json fájlt ne írhassák nem adminisztrátor felhasználók, nehogy a felhasználók felülírják a házirendeket, ami meghiúsítaná a házirendek célját! A chown(1) és chmod(1) parancsok használhatók a tulajdonjog és a műveletijogosultságok megváltoztatására, ha a fájl bármilyen okból írható nem adminisztrátor felhasználók számára.

A JSON fájl szerkezete ugyanaz minden Chromium alapú böngészőben (Chrome, Chromium, Brave stb.). Egy példa JSON fájl így nézhet ki:

CODE
{
"IncognitoModeAvailability": 1,
"URLBlocklist": [
    "https://facebook.com",
    "file://*",
    "javascript://*",
    "ftp://*",
    "mailto:*"
],
"DefaultGeolocationSetting": 2,
"DefaultNotificationsSetting": 2,
}

Ez megakadályozza, hogy a felhasználó a fájlprotokoll segítségével a fájlrendszerben böngésszen. Megakadályozza az inkognitó mód használatát, blokkolja a listázott ​​URI-kat és URL-eket, valamint a helyet és az értesítéseket. További beállítások találhatók az irányelvlistában: https://www.chromium.org/administrators/policy-list-3/. Ha más felhasználók számára van beállítva szolgáltatásként, akkor az ajánlatos először az összes webhelyet blokkolni, majd ezt követően meg kell határozni az engedélyezett oldalakat, a szolgáltatással való visszaélés elkerülése érdekében. Kérjük, vegye figyelembe, hogy ez csak az előre megadott helyek látogatását blokkolja a felhasználó számára. Nem tiltja le a protokollokat a rendszeren, ezért a többi alkalmazást külön kell konfigurálni.

Ha a házirend megfelelően van konfigurálva, akkor ellenőrizheti a speciális oldalon: chrome://policy.

A jobb struktúra érdekében az irányelvek több JSON-fájlra is szétoszthatók. Ebben az esetben elengedhetetlen annak biztosítása, hogy ugyanaz a házirend minden fájlonként csak egyszer forduljon elő! Ha egy házirend többször van megadva a JSON-fájlokban, akkor a házirend állapota nem lesz meghatározva, és nem egyértelmű, hogy melyik szabályt használják!

Az értelmes fájlnevek használata, és kétségek esetén az egyszerű grep a fájlok használata segíthet megelőzni az ilyen hibás konfigurációkat.

Használat

Chrome URL-ek

A Firefox-hoz hasonlóan a Chromium-nak is sok belső Chrome URL-je (speciális oldala) van, amelyeket további konfigurációhoz, hibaelhárításhoz, feladatkezeléshez stb. használnak. A speciális oldalak kimerítő listája a következő címen érhető el: chrome://about/ .

Kiemelt speciális oldalak közé tartozik:

  • chrome://components/ - Megjeleníti az engedélyezett összetevőket, és egy gombot biztosít amelynek segítségével ellenőrizhető az összetevők frissítése. Chrome használatakor néha manuálisan kell frissíteni a PPAPI Adobe Flash modult ezen az interfészen keresztül.
  • chrome://chrome/ - Megjeleníti a névjegy oldalt, amely tartalmazza a böngészőhöz tartozó verzióinformációkat.
  • chrome://extensions/ - Egy oldal a bővítmények (plugin-ek, kiterjesztések) kezelésére.
  • chrome://flags/ - Kísérleti funkciók be és kikapcsolása.
  • chrome://flash/ - Speciális információkat jelenít meg az Adobe Flash Player-ről. (Ha azok elérhetőek a Chromium számára).
  • chrome://gpu/ - Információkat jelenít meg a grafikus gyorsítás használatáról.
  • chrome://history/ - A webes előzményeket jeleníti meg. A szendvicsmenüből vagy a Ctrl+h megnyomásával is elérhető.
  • chrome://memory-redirect/ - Méri a böngésző össz memóriahasználatát, és a laponkénti memóriahasználatot.
  • chrome://net-internals/ - Sok információt jelenít meg a hálózati kapcsolatokról.
  • chrome://plugins/ - A beépülő-modulok (plugin-ek) listáját mutatja. Ugyanezen a interfészen keresztül ki és bekapcsolhatóak a beépülő-modulok. (Ez a lap elévült a Chrome 57-es verziójától kezdve[1]).
  • chrome://version/ - Több verzióinformációt jelenít meg, mint a chrome oldal.

Hibaelhárítás

Screencast támogatás

A Screencast alapértelmezés szerint le van tiltva futás közben. Vagy engedélyezze a chrome://flags/#enable-webrtc-pipewire-capturer oldalra navigálással a Chromium-ban, vagy adja hozzá az --enable-features=WebRTCPipeWireCapturer-t értékként a CHROMIUM_FLAGS változóhoz az /etc/chromium/default fájlban.

Összeomlanak a lapok

Időnként a lapok összeomlanak a Chromium böngészőben. Ezt a jelenséget jó néhány dolog okozhatja, azonban az egyik leggyakoribb okozó az, hogy a számítógépünkön kevés a RAM memória. Ez különösen akkor fordulhat elő a Gentoo rendszeren, amikor a rendszer éppen a www-client/chromium csomagfrissítést fordítja bináris kódra, és közben még futtatjuk a Chromium böngészőt is.

A free paranccsal ellenőrizhető, hogy mennyi memória áll rendelkezésre a rendszerben:

user $free -h
              total        used        free      shared  buff/cache   available
Mem:            15G         11G        735M        789M        3.4G        3.1G

A megoldás az, hogy memóriát szabadítunk fel, amíg a nagy csomagok fordításai be nem fejeződnek. Nyisson meg egy tetszőleges erőforrás-figyelőt, és ölje meg a nagy mennyiségű memóriát használó alkalmazásokat.

További olvasnivaló a témában

  • Firefox — Mozilla's web browser.
  • Chrome — Google's proprietary (closed source) web browser.

Hivatkozások