Het probleem
Playwright installeert Chromium in je eigen map, maar de browser heeft systeembibliotheken nodig die op een kale server ontbreken. De gebruikelijke oplossing, playwright install-deps, vraagt sudo. Heb je dat niet, of wil je het systeem niet aanpassen, dan start Chromium niet:
error while loading shared libraries: libatk-1.0.so.0: cannot open shared object file
Stap 1: Playwright in een eigen omgeving
python3 -m venv ~/.local/share/pw
~/.local/share/pw/bin/pip install playwright
~/.local/share/pw/bin/playwright install chromium
Stap 2: haal de ontbrekende pakketten op zonder ze te installeren
apt-get download haalt een .deb op zonder iets te installeren, en daar zijn geen beheerdersrechten voor nodig. Op Ubuntu 26.04 waren dit de pakketten die ontbraken:
mkdir -p ~/.local/share/pw/libs/deb && cd ~/.local/share/pw/libs/deb
apt-get download libatk1.0-0t64 libatk-bridge2.0-0t64 libatspi2.0-0t64 \
libxcomposite1 libxdamage1 libxfixes3 libxrandr2 libgbm1 libasound2t64 \
libxi6 libxrender1 libxres1 fonts-inter fonts-dejavu-core
Welke jij mist, zie je aan de foutmelding: start Chromium, voeg het genoemde pakket toe en probeer opnieuw.
Stap 3: pak ze uit in je eigen map
for f in *.deb; do dpkg-deb -x "$f" ../root; done
De bibliotheken staan dan in libs/root/usr/lib/x86_64-linux-gnu, de lettertypen in libs/root/usr/share/fonts.
Stap 4: geef lettertypen een eigen fontconfig
Zonder lettertypen tekent Chromium blokjes. Maak libs/fonts.conf:
<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<fontconfig>
<dir>/home/jij/.local/share/pw/libs/root/usr/share/fonts</dir>
<cachedir>/home/jij/.local/share/pw/libs/fontcache</cachedir>
<alias><family>sans-serif</family><prefer><family>Inter</family><family>DejaVu Sans</family></prefer></alias>
</fontconfig>
Stap 5: start met de juiste paden
L=~/.local/share/pw/libs
LD_LIBRARY_PATH=$L/root/usr/lib/x86_64-linux-gnu \
FONTCONFIG_FILE=$L/fonts.conf \
~/.local/share/pw/bin/python mijn_test.py
Of zet beide variabelen in je script voordat je de browser start. Daarna werkt chromium.launch() gewoon.
Weer verwijderen
Alles staat in je eigen map: verwijder ~/.local/share/pw en de browsercache in ~/.cache/ms-playwright. Het systeem zelf is nooit aangepast.
