Amazon Linux 2에서 Headless Chrome을 실행해 보았습니다.

개요



Amazon Linux에서 Google 크롬을 실행하려고 하면 패키지 종속성 문제로 인해 설치가 잘 작동하지 않습니다.

Amazon Linux 2의 LTS 버전이 나왔기 때문에 빨리 다시 도전해 보았습니다.

시도한 환경은 이런 느낌.
$ cat /etc/system-release

Amazon Linux 2

Google 크롬 설치



Linux 버전이 RPM으로 배포되었으므로 사용합니다.
$ sudo yum -y install https://dl.google.com/linux/direct/google-chrome-stable_current_x86_64.rpm

패키지 종속성 오류가 발생하지 않고 설치가 완료되었습니다.

헤드리스 모드로 움직이기



스크린샷을 찍어봅니다.
$ google-chrome --headless --disable-gpu --window-size=1024,768 --hide-scrollbars --screenshot='yahoo.png' https://www.yahoo.co.jp

[0716/141244.079664:ERROR:gpu_process_transport_factory.cc(1017)] Lost UI shared context.
Fontconfig warning: "/etc/fonts/fonts.conf", line 146: blank doesn't take any effect anymore. please remove it from your fonts.conf
[0716/141245.205569:INFO:headless_shell.cc(590)] Written to file yahoo.png.

오류가 발생했지만 스크린샷을 저장한 이미지 파일이 생성되었습니다.

결과



죄송합니다.
스크린샷은 찍을 수 있었지만 일본어가 나오지 않습니다.

일본어 글꼴을 설치한 후 다시.
$ sudo yum -y install ipa-gothic-fonts

$ google-chrome --headless --disable-gpu --window-size=1024,768 --hide-scrollbars --screenshot='yahoo.png' https://www.yahoo.co.jp

[0716/142052.156208:ERROR:gpu_process_transport_factory.cc(1017)] Lost UI shared context.
Fontconfig warning: "/etc/fonts/fonts.conf", line 146: blank doesn't take any effect anymore. please remove it from your fonts.conf
[0716/142053.271844:INFO:headless_shell.cc(590)] Written to file yahoo.png.

같은 오류가 발생했지만 스크린샷을 저장한 이미지 파일이 생성되었습니다.

결과



성공🎉

발생한 오류에 대해


Fontconfig warning: "/etc/fonts/fonts.conf", line 146: blank doesn't take any effect anymore. please remove it from your fonts.conf

이 에러는 Fontconfig 의 설정 파일( /etc/fonts/fonts.conf )의 변경으로 대응.
blank 태그 정의가 더 이상 필요하지 않으므로 <blank></blank>를 지우거나
<!-- <blank> -->
※この間はそのまま
<!-- </blank> -->

같이 코멘트 아웃으로 대응.
[????/??????.??????:ERROR:gpu_process_transport_factory.cc(1017)] Lost UI shared context.

이 오류는 Chrome이 Headless 모드에서 실행될 때 발생하는 것 같습니다. 대응 방법에 대해서는 현시점에서는 불명. Chrome 업데이트로 해결될 것으로 기대합니다.

요약



Headless Chrome을 사용하면 웹 사이트의 미리보기 이미지를 만들거나 Selenium에서 여러분을 즐길 수 있습니다.

Amazon Linux 2의 LTS 버전이 나왔으므로 앞으로 다양한 AWS 서비스에서도 사용할 수 있을지도 모르겠네요.

Lambda나 Fargate 같은 서버리스 서비스에서도 사용할 수 있게 되면 재미있을 것 같다.

좋은 웹페이지 즐겨찾기