Chromium
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
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
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
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:
# 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):
# 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:
--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:
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:
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.
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:
{
"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 achrome
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.