Skip to content

Instantly share code, notes, and snippets.

@3p3r
Created February 17, 2022 18:51
Show Gist options
  • Select an option

  • Save 3p3r/dfd4467c0f9beebdfce617cecff5ddc7 to your computer and use it in GitHub Desktop.

Select an option

Save 3p3r/dfd4467c0f9beebdfce617cecff5ddc7 to your computer and use it in GitHub Desktop.

Revisions

  1. 3p3r created this gist Feb 17, 2022.
    24 changes: 24 additions & 0 deletions puppeteer-wsl2-2022.sh
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,24 @@
    #! bash -eu

    # *** BEFORE EXECUTION OF THIS SCRIPT: ***
    # follow these links CAREFULLY, step by step, and in order:
    # to install X11: https://medium.com/@japheth.yates/the-complete-wsl2-gui-setup-2582828f4577
    # to install Chromium: https://askubuntu.com/a/1206153

    sudo apt update && sudo apt upgrade -y && sudo apt autoremove -y
    sudo apt install -y build-essential git cmake net-tools xrdp
    sudo apt install -y libnss3 libatk-adaptor libcups2 libxkbcommon0 libgtk-3-0 libgbm1
    sudo systemctl enable xrdp
    sudo apt install -y tasksel
    sudo tasksel install xubuntu-desktop
    sudo apt install gtk2-engines
    echo '
    export DISPLAY=$(cat /etc/resolv.conf | grep nameserver | awk '"'{print \$2; exit;}'"'):0.0
    export LIBGL_ALWAYS_INDIRECT=1
    alias xx="sudo /etc/init.d/dbus start &> /dev/null"
    ' >> ~/.bashrc

    # every time you need to use Puppeteer or any other GUI apps:
    # 1- on Windows side you launch X server by running xlaunch.exe (make sure you have no access control set for X)
    # 2- on WSL2 side execute "xx" in your shell and enter your password
    # after that everything should just work. open FireFox for example: "firefox &"