Estoy ejecutando Windows 10 y he estado usando una distribución Ubuntu Linux bajo el subsistema Windows Linux.
Quiero poder usar Chrome.exe o google-chrome para ejecutar sin cabeza y tomar capturas de pantalla, generar archivos PDF, etc. como parte de las llamadas a la biblioteca, pero no puedo ver para hacer eso (por ejemplo, para usar la biblioteca jupyter_to_medium inicia Chrome en el fondo para tomar una captura de pantalla).
He intentado varias cosas para depurarlo con google-chrome independientemente de la biblioteca o el programa que esté usando.
Esto es lo que he intentado:
Puedo iniciar Chrome (ejecutable de Windows) a través de la terminal de Ubuntu, habiéndolo redirigido al ejecutable de Windows:
/mnt/c/Program\ Files\ \(x86\)/Google/Chrome/Application/chrome.exeCuando hago eso, se abre una nueva pestaña en mi navegador Windows Chrome, por lo que no hay problemas aquí.
Cuando trato de usar google-chrome sin cabeza en la terminal de ubuntu obtengo MÚLTIPLES PROBLEMAS , por ejemplo
2a) Tratando de obtener una captura de pantalla: FALLA que muestra el Network service crashed, restarting service , tuvo que CTRL ^ C para detenerlo
(base) etzimopoulos@DESKTOP-HI9P6E4:~$ google-chrome --headless --disable-gpu --screenshot https://www.chromestatus.com/ [0626/055458.471044:ERROR:udev_watcher.cc(61)] Failed to enable receiving udev events. [0626/055458.612113:ERROR:network_service_instance_impl.cc(262)] Network service crashed, restarting service. [0626/055458.696014:ERROR:network_service_instance_impl.cc(262)] Network service crashed, restarting service. ... 2b) Tratando de obtener una captura de pantalla usando parámetros diferentes --no-sandbox --disable-setuid-sandbox , obteniendo un error diferente esta vez.
$ sudo google-chrome --no-sandbox --disable-setuid-sandbox --headless --screenshot https://www.chromestatus.com/ [0626/061854.348849:ERROR:udev_watcher.cc(61)] Failed to enable receiving udev events. [0626/061855.311675:ERROR:platform_shared_memory_region_posix.cc(46)] Descriptor access mode (0) differs from expected (2) [0626/061855.312483:WARNING:crash_handler_host_linux.cc(366)] Could not translate tid - assuming crashing thread is thread group leader; syscall_supported=0 [0626/061855.474617:WARNING:crash_handler_host_linux.cc(366)] Could not translate tid - assuming crashing thread is thread group leader; syscall_supported=0 --2020-06-26 06:18:55-- https://clients2.google.com/cr/report Resolving clients2.google.com (clients2.google.com)... 216.58.210.46, 2a00:1450:4009:800::200e Connecting to clients2.google.com (clients2.google.com)|216.58.210.46|:443... connected. HTTP request sent, awaiting response... [0626/061855.655013:ERROR:headless_shell.cc(399)] Abnormal renderer termination. 429 Too Many Requests 2020-06-26 06:18:55 ERROR 429: Too Many Requests. Unexpected crash report id length Failed to get crash dump id. Report Id: ```Intentando ejecutar el ejecutable de Windows Chrome.exe con los mismos parámetros, parece ejecutarse pero no se está tomando una captura de pantalla (no hay archivos nuevos en mi directorio)
Al intentar ejecutar google-chrome sin privilegios elevados en WSL, aparece un error diferente:
google-chrome --headless --disable-gpu --screenshot https://www.chromestatus.com/ Failed to move to new namespace: PID namespaces supported, Network namespace supported, but failed: errno = Permission denied Failed to generate minidump.Illegal instruction (core dumped)
Cualquier ayuda o dirección sería muy apreciada. Mi otra opción sería ejecutar una máquina virtual en Windows 10 con una interfaz de usuario y un terminal nativos de Linux, lo que probablemente funcionaría.
Pero, ¿hay alguna forma de configurarlo todo en WSL?
Gracias.
Prueba esto (probado en wsl2)
En su consola wsl2 ubuntu ingrese los siguientes comandos:
#install packages sudo apt-get install -y curl unzip xvfb libxi6 libgconf-2-4 fonts-liberation #get latest chrome wget https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb #install it sudo apt install ./google-chrome-stable_current_amd64.deb #test a screenshot google-chrome --headless --disable-gpu --screenshot https://www.chromestatus.com/