Introduksjon til QtWebEngine
        
        
          ![[Viktig]](../images/important.png) 
          
            Viktig
          
          
            Denne pakken har historisk sett hatt hyppige oppdateringer som
            adresserer sikkerhetssårbarheter. For å finne den siste status
            sjekk BLFS Security
            Advisories.
          
         
        
          QtWebEngine integrerer
          chromium sin nettfunksjoner i Qt.
          Den sender med sin egen kopi av ninja som den bruker til byggingen
          hvis den ikke kan finne en systemkopi og forskjellige kopier av
          biblioteker fra ffmpeg, icu, libvpx, og zlib (inkludert libminizip)
          som har blitt skilt ut av chromium
          utviklere.
        
        
          Denne pakken og nettlesere som bruker den kan være nyttig hvis du
          trenger å bruke et nettsted utviklet for google chrome, eller
          chromium, nettlesere.
        
        
          ![[Advarsel]](../images/warning.png) 
          
            Advarsel
          
          
            QtWebEngine bruker en utskilt kopi av chromium, og er derfor
            sårbar for mange problemer som finnes der. Qt-utviklerne ser ut
            til å forgrene en nyere versjon for mindre Qt-versjoner, men
            fordi krom flyttes til nyere versjoner veldig ofte, når
            Qt-utviklerne får en forgrenet versjon for å bestå deres utvidede
            tester er det alltid en gammel versjon og sikkerhet reparasjoner
            fra krom (hvorav noen har et CVE-nummer) kan ta flere måneder for
            å vises i en QtWebengine-utgivelse, selv om alvorlighetsgraden
            har vært vurdert som kritisk.
          
          
            Derfor bør du være forsiktig med å bruke QtWebEngine i en
            sensitiv kontekst og bør alltid oppdatere til neste utgivelse så
            snart den vises i denne boken, selv om den ikke er merket som en
            sikkerhetsoppdatering. Identifisere hvilke sårbarheter som er
            fikset i en bestemt utgivelsen krever å trekke den riktige
            'baserte NNN'-grenen rett før tidligere og nåværende utgivelser
            og er ofte upraktisk. Rapporter om faste QTBUG-elementer ser ikke
            ut til å være tilgjengelige, og det er ikke noen dokumentasjon i
            tarball for endringer etter qt-5 versjonene.
          
         
        
          ![[Notat]](../images/note.png) 
          
            Notat
          
          
            Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre
            noen pakker riktig hvis LFS eller avhengigheter har blitt
            oppdatert siden de siste stabile versjonene av bøkene.
          
         
        
          ![[Advarsel]](../images/warning.png) 
          
            Advarsel
          
          
            Som standard vil ninja bruke alle online CPUer +2 (hvis minst 4
            finnes), selv om de ikke er tilgjengelige for gjeldende oppgave
            på grunn av at byggeterminalen har blitt begrenset med
            'oppgavesett'. I BLFS, denne pakken tar mer tid å bygge enn noen
            annen. I ett eksempel, konstruksjonen av denne pakken krasjet ved
            omtrent 90 prosent punktet på grunn av et lite minneproblem på et
            system med 24 kjerner og 32 GB av minne.
          
          
            For å omgå dette, se kommandoforklaringene nedenfor.
          
         
        
          Pakkeinformasjon
        
        
        
          qtwebengine Avhengigheter
        
        
          Påkrevd
        
        
          Cups-2.4.14, html5lib-1.1, nodejs-22.20.0, nss-3.117, pciutils-3.14.0, og Qt-6.10.0
        
        
          Anbefalt
        
        
          ![[Notat]](../images/note.png) 
          
            Notat
          
          
            Hvis disse pakkene ikke er installert, vil byggeprosessen
            kompilere og installere sin egen (kanskje eldre) versjon, med
            bivirkning av økt bygg og installert diskplass og byggetid.
          
         
        
          enten alsa-lib-1.2.14 eller PulseAudio-17.0 (eller begge), FFmpeg-7.1.2, ICU-77.1, libevent-2.1.12, libwebp-1.6.0,
          libxslt-1.1.43, Opus-1.5.2, og
          pipewire-1.4.9
        
        
          Valgfri
        
        
          MIT Kerberos V5-1.22.1, Poppler-25.10.0, jsoncpp,
          libsrtp, og
          snappy
        
       
      
        
          Installasjon av qtwebengine
        
        
          Installer qtwebengine ved å kjøre
          følgende kommandoer:
        
        mkdir build &&
cd    build &&
cmake -D CMAKE_MESSAGE_LOG_LEVEL=STATUS             \
      -D QT_FEATURE_webengine_system_ffmpeg=ON      \
      -D QT_FEATURE_webengine_system_icu=ON         \
      -D QT_FEATURE_webengine_system_libevent=ON    \
      -D QT_FEATURE_webengine_proprietary_codecs=ON \
      -D QT_FEATURE_webengine_webrtc_pipewire=ON    \
      -D QT_BUILD_EXAMPLES_BY_DEFAULT=OFF           \
      -D QT_GENERATE_SBOM=OFF                       \
      -G Ninja ..                                   &&
ninja
        
          Denne pakken kommer ikke med en testpakke.
        
        
          Nå, som root bruker:
        
        ninja install
       
      
        
          Parameterforklaringer
        
        
          CMAKE_MESSAGE_LOG_LEVEL=STATUS:
          Sender ut interessante meldinger som prosjektbrukere kan være
          interessert i. Ideelt sett bør disse være konsise, ikke mer enn en
          enkelt linje, men fortsatt informativ.
        
        
          QT_FEATURE_webengine_system_*:
          Spesifiser hvilke eksterne pakker systemet skal bruke.
        
        
          QT_BUILD_EXAMPLES_BY_DEFAULT=OFF:
          Ikke bygg eksempler som standard.
        
        
          NINJAJOBS=4 make: Hvis du oppdaterte
          system ninja i LFS til å gjenkjenne miljøvariabelen NINJAJOBS, vil
          denne kommandoen kjøre systemets ninja med det angitte antall
          jobber (dvs. 4). Det er flere grunner til at du kanskje vil bruke
          alternativer som dette:
        
        
          
            - 
              
                Å bygge på et undersett av CPUer gjør det mulig å måle
                byggetiden for et mindre antall prosessorer, og/eller kjører
                andre CPU intensive oppgaver samtidig. For en redaktør på en
                maskin med mange CPUer, å prøve å måle byggetiden for en
                4-CPU maskin, NINJAJOBS=4 makevil gi en rimelig tilnærming (det er en kort periode hvor N+2
                python og node jobber kjøres).
 
- 
              
                På en maskin med bare 4 CPUer tilgjengelig, standard
                planlegging med N+2 jobber for qtwebengine er tregere med
                mellom 3% og 7%, sannsynligvis på grunn av størrelsen på C++
                filene og deres mange inkluderinger og maler. Derfor, hvis du
                er i tvil, sett NINJAJOBS til antall CPUer.
               
- 
              
                Å redusere antall kjerner som brukes på langvarig CPU
                intensive pakker kan hjelpe på varmeproblemer.
               
- 
              
                Redusering av antall kjerner vil forhindre potensielt tomt
                minne problemer på systemer som ikke har nok minne (eller
                vekselminne) når alle kjerner er aktive. En foreslått
                tilnærming er å begrense antall kjerner til omtrent en kjerne
                for hver 1,5 GB av kombinert RAM og vekselminne.
               
 
       
      
        
          Konfigurere QtWebEngine
        
        
          
            Konfigurasjonsinformasjon
          
          
            Hvis du oppgraderer fra en eldre mindre versjon av denne
            applikasjon, for at enkelte nettsider skal lastes, må du kanskje
            fjerne nettleseren sin
            mellomlagring, f.eks. til falkon
            vil de bli funnet i ~/.cache/falkon/. Du må gjøre dette hvis
            nettleseren begynner å gjengi siden og endres deretter til en tom
            fane med en melding at noe gikk galt, og en knapp for å prøve på
            nytt. Til og med etter at du har fjernet de gamle mellomlagrene,
            kan det hende du må prøve noen ganger for hver berørt fane.
          
          
            Hvis en nettleser som bruker denne pakken ikke klarer å kjøre og
            når den kjøres fra en term rapporterer det 'Trace/breakpoint
            trap', dvs sannsynligvis et problem med kjernekonfigurasjon - det
            er ikke nødvendig å gjenoppbygge QtWebEngine, se neste avsnitt,
            kompiler på nytt kjernen og start på nytt til den nye kjernen.
          
         
       
      
        
          Kjernekonfigurasjon
        
        
          Denne pakken krever ingen av de valgfrie kjernenavneromselementene,
          men hvis brukernavneområdet er aktivert (som
          skjer i noen enhetsfiler, for økt sikkerhet) PID navneområde
          må også være aktivert. Aktiver i så fall følgende alternativer i
          kjernekonfigurasjonen og kompiler kjernen på nytt om nødvendig:
        
        General setup --->
  -*- Namespaces support --->                                       [NAMESPACES]
    # Enable or disable *both* of them:
    [ /*] User namespace                                               [USER_NS]
    [ /*] PID Namespaces                                                [PID_NS]