Как установить Chromium в Ubuntu и CentOS?

Пошаговое руководство по установке Headless Chromium в Ubuntu и CentOS.


Что такое Chrome без головы?

Headless Chrome похож на запуск браузера Chrome без пользовательского интерфейса (браузера), то есть он работает в автономной среде, что очень полезно для запуска автоматических тестов.

Итак, что же делает безголовый Chrome для нас?

Одна из самых интересных вещей – это возможность протестировать новейшие и лучшие функции веб-платформы, такие как модули ES6, работники сферы обслуживания и потоки. С помощью безголового Chrome вы можете создавать приложения и тестировать их с современным рендерингом. Еще одна вещь, которую он открывает, – это удивительные функции, такие как регулирование сети, эмуляция устройств и покрытие кода..

С Chrome без головы вы можете выполнять тесты, даже не написав ни строчки кода, разве это не круто!

Вы можете просто выполнить их через командную строку. Ниже приведены некоторые из популярных флагов.

–снимок экрана # сделать снимок экрана
–печать в PDF # преобразование веб-страницы в PDF
–dump-dom #dump DOM (объектная модель документа) данные

Установка Chromium в Ubuntu

Шаг 1: Обновите Ubuntu

В начале обновите пакеты в Ubuntu.

[Электронная почта защищена]: ~ $ sudo apt-get update
Хит: 1 https://download.docker.com/linux/ubuntu bionic InRelease
Хит: 2 http://security.ubuntu.com/ubuntu космическая безопасность InRelease
Хит: 3 http://ppa.launchpad.net/ansible/ansible/ubuntu космический InRelease
Хит: 5 http://apt.puppetlabs.com бионический InRelease
Ign: 6 http://pkg.jenkins.io/debian-stable binary / InRelease
Хит: 7 http://us.archive.ubuntu.com/ubuntu космический InRelease
Хит: 8 http://ppa.launchpad.net/canonical-chromium-builds/stage/ubuntu космический InRelease
Hit: 9 http://pkg.jenkins.io/debian-stable binary / Release
Хит: 10 http://us.archive.ubuntu.com/ubuntu космические обновления InRelease
Хит: 11 http://us.archive.ubuntu.com/ubuntu cosmic-backports InRelease
Хит: 4 https://packages.cloud.google.com/apt kubernetes-xenial InRelease
Чтение списков пакетов … Готово

Шаг 2: Установите зависимости

Установите эти зависимости, которые необходимы для установки.

[Электронная почта защищена]: ~ $ sudo apt-get install -y libappindicator1 fonts-liberation
Чтение списков пакетов … Готово
Построение дерева зависимостей
Чтение информации о состоянии … Готово
fonts-liberation уже является самой новой версией (1: 1.07.4-7).
Шрифты-освобождение установлено вручную.
Следующий пакет был автоматически установлен и больше не требуется:
хром-кодеки-FFmpeg-экстра
Используйте sudo apt autoremove, чтобы удалить его.
Будут установлены следующие дополнительные пакеты:
libdbusmenu-gtk4 libindicator7
Предлагаемые пакеты:
Индикатор-приложения
Будут установлены следующие НОВЫЕ пакеты:
libappindicator1 libdbusmenu-gtk4 libindicator7
0 обновлено, 3 недавно установлено, 0 для удаления и 238 не обновлено.
Нужно достать 68,2 кБ архивов.
После этой операции будет использовано 280 КБ дополнительного дискового пространства..
Получить: 1 http://us.archive.ubuntu.com/ubuntu космический / вселенная amd64 libdbusmenu-gtk4 amd64 16.04.1 + 18.10.20180917-0ubuntu1 [27,1 кБ]
Получить: 2 http://us.archive.ubuntu.com/ubuntu космический / вселенная amd64 libindicator7 amd64 16.10.0 + 18.04.20180321.1-0ubuntu1 [21,7 кБ]
Получить: 3 http://us.archive.ubuntu.com/ubuntu космический / вселенная amd64 libappindicator1 amd64 12.10.1 + 18.04.20180322.1-0ubuntu1 [19,4 кБ]
Получено 68,2 кБ за 1 с (61,1 кБ / с)
Выбор ранее невыбранного пакета libdbusmenu-gtk4: amd64.
(Чтение базы данных … 318270 файлов и каталогов, установленных в настоящее время.)
Подготовка к распаковке … / libdbusmenu-gtk4_16.04.1 + 18.10.20180917-0ubuntu1_amd64.deb …
Распаковка libdbusmenu-gtk4: amd64 (16.04.1 + 18.10.20180917-0ubuntu1) …
Выбор ранее не выбранного пакета libindicator7.
Подготовка к распаковке … / libindicator7_16.10.0 + 18.04.20180321.1-0ubuntu1_amd64.deb …
Распаковка libindicator7 (16.10.0 + 18.04.20180321.1-0ubuntu1) …
Выбор ранее не выбранного пакета libappindicator1.
Подготовка к распаковке … / libappindicator1_12.10.1 + 18.04.20180322.1-0ubuntu1_amd64.deb …
Распаковка libappindicator1 (12.10.1 + 18.04.20180322.1-0ubuntu1) …
Настройка libindicator7 (16.10.0 + 18.04.20180321.1-0ubuntu1) …
Настройка libdbusmenu-gtk4: amd64 (16.04.1 + 18.10.20180917-0ubuntu1) …
Обработка триггеров для libc-bin (2.28-0ubuntu1) …
Настройка libappindicator1 (12.10.1 + 18.04.20180322.1-0ubuntu1) …
Обработка триггеров для libc-bin (2.28-0ubuntu1) …
libappindicator1: эта библиотека используется для экспорта меню приложением в панель
fonts-liberation: эта библиотека имеет такие же показатели шрифта, как Arial, Times и Courier

Могут быть случаи, когда для установки chrome не хватает нескольких зависимостей. Итак, запустите команду ниже, она установит все недостающие зависимости, необходимые для установки Chromium.

[Электронная почта защищена]: ~ $ sudo apt-get install -f
Будут установлены следующие дополнительные пакеты:
at-spi2-core cpp cpp-7 dconf-gsettings-backend dconf-service gcc-7-base glib-network glib-network-common
glib-network-services gsettings-desktop-схемы libappindicator3-1 libasound2 libasound2-data libatk-bridge2.0-0
libatspi2.0-0 libauthen-sasl-perl libcairo-gobject2 libcolord2 libdata-dump-perl libdbusmenu-gtk3-4 libdconf1
libdrm-amdgpu1 libdrm-intel1 libdrm-nouveau2 libdrm-radeon1 libencode-locale-perl libepoxy0 libfile-basedir-perl
libfile-desktopentry-perl libfile-list-perl libfile-mimeinfo-perl libfont-afm-perl libfontenc1 libgl1
libgl1-mesa-dri libgl1-mesa-glx libglapi-mesa libglvnd0 libglx-mesa0 libglx0 libgtk-3-0 libgtk-3-bin libgtk-3-common
libhtml-form-perl libhtml-format-perl libhtml-parser-perl libhtml-tagset-perl libhtml-tree-perl libhttp-cookies-perl
libhttp-daemon-perl libhttp-date-perl libhttp-message-perl libhttp -gotiate-perl libice6 libindicator3-7
libio-html-perl libio-socket-ssl-perl libipc-system-simple-perl libisl19 libjson-glib-1.0-0 libjson-glib-1.0-common
liblcms2-2 libllvm9 liblwp-mediatypes-perl liblwp-protocol-https-perl libmailtools-perl libmpc3 libnet-dbus-perl
libnet-http-perl libnet-smtp-ssl-perl libnet-ssleay-perl libnspr4 libnss3 libpciaccess0 libproxy1v5 librest-0.7-0
libsensors4 libsm6 libsoup-gnome2.4-1 libsoup2.4-1 libtie-ixhash-perl libtimedate-perl libtry-tiny-perl liburi-perl
libwayland-client0 libwayland-cursor0 libwayland-egl1 libwww-perl libwww-robotrules-perl libx11-protocol-perl
libx11-xcb1 libxaw7 libxcb-dri2-0 libxcb-dri3-0 libxcb-glx0 libxcb-present0 libxcb-shape0 libxcb-sync1 libxft2
libxkbcommon0 libxml-parser-perl libxml-twig-perl libxml-xpathengine-perl libxmu6 libxpm4 libxshmfence1 libxss1 libxt6
libxtst6 libxv1 libxxf86dga1 libxxf86vm1 perl-openssl-defaults x11-common x11-utils x11-xserver-utils xdg-utils
Предлагаемые пакеты:
cpp-doc gcc-7-locales индикатор-приложение libasound2-plugins alsa-utils libdigest-hmac-perl libgssapi-perl colord
gvfs liblcms2-utils libcrypt-ssleay-perl lm-sensor libauthen-ntlm-perl libunicode-map8-perl libunicode-string-perl
xml-twig-tools mesa-utils nickle cairo-5c xorg-docs-core
Будут установлены следующие НОВЫЕ пакеты:
at-spi2-core cpp cpp-7 dconf-gsettings-backend dconf-service gcc-7-base glib-network glib-network-common
glib-network-services gsettings-desktop-схемы libappindicator3-1 libasound2 libasound2-data libatk-bridge2.0-0
libatspi2.0-0 libauthen-sasl-perl libcairo-gobject2 libcolord2 libdata-dump-perl libdbusmenu-gtk3-4 libdconf1
libdrm-amdgpu1 libdrm-intel1 libdrm-nouveau2 libdrm-radeon1 libencode-locale-perl libepoxy0 libfile-basedir-perl
libfile-desktopentry-perl libfile-list-perl libfile-mimeinfo-perl libfont-afm-perl libfontenc1 libgl1
libgl1-mesa-dri libgl1-mesa-glx libglapi-mesa libglvnd0 libglx-mesa0 libglx0 libgtk-3-0 libgtk-3-bin libgtk-3-common
libhtml-form-perl libhtml-format-perl libhtml-parser-perl libhtml-tagset-perl libhtml-tree-perl libhttp-cookies-perl
libhttp-daemon-perl libhttp-date-perl libhttp-message-perl libhttp -gotiate-perl libice6 libindicator3-7
libio-html-perl libio-socket-ssl-perl libipc-system-simple-perl libisl19 libjson-glib-1.0-0 libjson-glib-1.0-common
liblcms2-2 libllvm9 liblwp-mediatypes-perl liblwp-protocol-https-perl libmailtools-perl libmpc3 libnet-dbus-perl
libnet-http-perl libnet-smtp-ssl-perl libnet-ssleay-perl libnspr4 libnss3 libpciaccess0 libproxy1v5 librest-0.7-0
libsensors4 libsm6 libsoup-gnome2.4-1 libsoup2.4-1 libtie-ixhash-perl libtimedate-perl libtry-tiny-perl liburi-perl
libwayland-client0 libwayland-cursor0 libwayland-egl1 libwww-perl libwww-robotrules-perl libx11-protocol-perl
libx11-xcb1 libxaw7 libxcb-dri2-0 libxcb-dri3-0 libxcb-glx0 libxcb-present0 libxcb-shape0 libxcb-sync1 libxft2
libxkbcommon0 libxml-parser-perl libxml-twig-perl libxml-xpathengine-perl libxmu6 libxpm4 libxshmfence1 libxss1 libxt6
libxtst6 libxv1 libxxf86dga1 libxxf86vm1 perl-openssl-defaults x11-common x11-utils x11-xserver-utils xdg-utils
0 обновлено, 117 вновь установлено, 0 для удаления и 58 не обновлено.
1 не полностью установлен или удален.
Нужно получить 40,7 МБ архивов.
После этой операции будет использовано 369 МБ дополнительного дискового пространства..
Вы хотите продолжить? [Да / Нет] Да
Получено 40,7 МБ за 4 с (9470 кБ / с)
Извлечение шаблонов из пакетов: 100%

Шаг 3. Загрузите Chrome

Загрузите стабильный пакет Google Chrome для системы Ubuntu.

[Электронная почта защищена]: ~ $ wget https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb
–2020-01-15 13: 58: 41– https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb
Разрешение dl.google.com (dl.google.com) … 172.217.163.78, 2404: 6800: 4007: 80c :: 200e
Подключение к dl.google.com (dl.google.com) | 172.217.163.78 |: 443 … подключено.
HTTP-запрос отправлен, ожидание ответа … 200 OK
Длина: 62204098 (59M) [application / x-debian-package]
Сохранение в: “google-chrome-stable_current_amd64.deb”

Google-хром-stable_current_amd64. 100% [=============================================== ==================>] 59,32 млн. 11,1 МБ / с за 29 с

2020-01-15 13:59:10 (2,04 МБ / с) – “google-chrome-stable_current_amd64.deb” сохранен [62204098/62204098]

Шаг 4. Установите Chrome

Установите стабильный пакет.

[Электронная почта защищена]: ~ $ sudo dpkg -i google-chrome * .deb
Выбор ранее не выбранного пакета google-chrome-stable.
(Чтение базы данных … В настоящее время установлено 318285 файлов и каталогов.)
Подготовка к распаковке google-chrome-stable_current_amd64.deb …
Распаковка google-chrome-stable (79.0.3945.117-1) …
Настройка google-chrome-stable (79.0.3945.117-1) …
альтернативы обновления: использование / usr / bin / google-chrome-stable для предоставления / usr / bin / x-www-browser (x-www-browser) в автоматическом режиме
альтернативы обновления: использование / usr / bin / google-chrome-stable для предоставления / usr / bin / gnome-www-browser (gnome-www-browser) в автоматическом режиме
альтернативы обновления: использование / usr / bin / google-chrome-stable для предоставления / usr / bin / google-chrome (google-chrome) в автоматическом режиме
Обработка триггеров для меню gnome (3.13.3-11ubuntu2) …
Обработка триггеров для desktop-file-utils (0.23-3ubuntu2) …
Обработка триггеров для поддержки mime (3.60ubuntu1) …
Обработка триггеров для man-db (2.8.4-2) …

Шаг 5: Проверьте версию Chrome

Чтобы убедиться, что установка успешно завершена, проверьте версию Google Chrome.

[Электронная почта защищена]: ~ $ google-chrome-stable -version
Google Chrome 79.0.3945.117

Дополнительно: запустить Chrome без головы

Позвольте мне показать вам пример работы Chrome в режиме без головы.

Я буду запускать Chrome в автономном режиме, и все содержимое https://gf.dev/ будет сохранено в формате PDF..

[Электронная почта защищена]: ~ $ google-chrome-stable –headless –disable-gpu – print-to-pdf https://gf.dev/
[0115 / 140930.772108: INFO: headless_shell.cc (620)] Записано в файл output.pdf.

Вы можете увидеть файл output.pdf

[Электронная почта защищена]: ~ $ ls -l out *
-rw ——- 1 geekflare geekflare 80799 15 января 14:09 output.pdf
[Электронная почта защищена]: ~ $

Далее я покажу вам, как выполнить ту же настройку в системе CentOS.

Установка хрома на CentOS

Шаг 1: Обновите CentOS

Обновите систему CentOS с помощью следующей команды.

[[Электронная почта защищена] ~] $ sudo yum update

Шаг 2. Создайте Chrome Repository

Добавьте Google Chrome репозиторий в систему. Создайте файл google-chrome.repo внутри /etc/yum.repos.d/ и добавьте детали ниже.

[[Электронная почта защищена] ~] $ sudo gedit /etc/yum.repos.d/google-chrome.repo

[Гугл Хром]
имя = Google-хром
BaseUrl = HTTP: //dl.google.com/linux/chrome/rpm/stable/$basearch
включено = 1
gpgcheck = 1
gpgkey = https: //dl-ssl.google.com/linux/linux_signing_key.pub

Шаг 3: Установите Chrome

Запустите команду yum ниже, чтобы установить Google Chrome в системе CentOS.

[[Электронная почта защищена] ~] $ sudo yum install google-chrome-stable
Последняя проверка срока действия метаданных: 0:04:04 назад в Ср 22 Янв 2020 01:06:24 EST.
Зависимости устранены.
================================================== ==============================
Размер архива версии архива пакета
================================================== ==============================
Установка:
google-chrome-stable x86_64 79.0.3945.130-1 google-chrome 60 M
Установка зависимостей:
libXScrnSaver x86_64 1.2.3-1.el8 AppStream 31 k
libappindicator-gtk3 x86_64 12.10.0-19.el8 AppStream 43 k
libdbusmenu x86_64 16.04.0-12.el8 AppStream 140 k
libdbusmenu-gtk3 x86_64 16.04.0-12.el8 AppStream 41 k
libindicator-gtk3 x86_64 12.10.1-14.el8 AppStream 70 k
раскрепощенные шрифты noarch 1: 2.00.3-4.el8 BaseOS 19 k
liberation-serif-шрифты noarch 1: 2.00.3-4.el8 BaseOS 607 k

Сводка транзакций
================================================== ==============================
Установить 8 пакетов

Общий объем скачиваемых файлов: 60 М
Установленный размер: 213 м
Это нормально [y / N]: y
Загрузка пакетов:
(1/8): libXScrnSaver-1.2.3-1.el8.x86_64.rpm 146 кБ / с | 31 кБ 00:00
(2/8): libappindicator-gtk3-12.10.0-19.el8.x86_ 171 кБ / с | 43 кБ 00:00
(3/8): libdbusmenu-gtk3-16.04.0-12.el8.x86_64.r 691 кБ / с | 41 кБ 00:00
(4/8): libindicator-gtk3-12.10.1-14.el8.x86_64. 558 кБ / с | 70 КБ 00:00
(5/8): liberation-fonts-2.00.3-4.el8.noarch.rpm 74 кБ / с | 19 кБ 00:00
(6/8): liberation-serif-fonts-2.00.3-4.el8.noar 1,3 МБ / с | 607 кБ 00:00
(7/8): libdbusmenu-16.04.0-12.el8.x86_64.rpm 121 кБ / с | 140 кБ 00:01
(8/8): google-chrome-stable-79.0.3945.130-1.x86 8,4 МБ / с | 60 МБ 00:07
——————————————————————————–
Всего 6,5 МБ / с | 60 МБ 00:09
предупреждение: /var/cache/dnf/google-chrome-eb0d6f10ccbdafba/packages/google-chrome-stable-79.0.3945.130-1.x86_64.rpm: Подпись заголовка V4 DSA / SHA1, идентификатор ключа 7fac5991: NOKEY
Google-Chrome 49 КБ / с | 10 кБ 00:00
Импорт ключа GPG 0x7FAC5991:
ID пользователя : "Ключ подписи пакета Google, Inc. <[Электронная почта защищена]>"
Отпечаток пальца: 4CCA 1EAF 950C EE4A B839 76DC A040 830F 7FAC 5991
От: https://dl-ssl.google.com/linux/linux_signing_key.pub
Это нормально [y / N]: y
Ключ успешно импортирован
Импорт ключа GPG 0xD38B4796:
ID пользователя : "Google Inc. (Центр подписи пакетов Linux) <[Электронная почта защищена]>"
Отпечаток пальца: EB4C 1BFD 4F04 2F6D DDCC EC91 7721 F63B D38B 4796
От: https://dl-ssl.google.com/linux/linux_signing_key.pub
Это нормально [y / N]: y
Ключ успешно импортирован
Проверка выполнения транзакции
Проверка транзакции прошла успешно.
Проверка выполнения транзакции
Тест транзакции выполнен успешно.
Выполнение транзакции
Готовится: 1/1
Установка: libdbusmenu-16.04.0-12.el8.x86_64 1/8
Установка: libdbusmenu-gtk3-16.04.0-12.el8.x86_64 2/8
Установка: liberation-serif-fonts-1: 2.00.3-4.el8.noarch 3/8
Установка: liberation-fonts-1: 2.00.3-4.el8.noarch 4/8
Установка: libindicator-gtk3-12.10.1-14.el8.x86_64 5/8
Установка: libappindicator-gtk3-12.10.0-19.el8.x86_64 6/8
Установка: libXScrnSaver-1.2.3-1.el8.x86_64 7/8
Запуск скриптлета: google-chrome-stable-79.0.3945.130-1.x86_64 8/8
Установка: google-chrome-stable-79.0.3945.130-1.x86_64 8/8
Запуск скриптлета: google-chrome-stable-79.0.3945.130-1.x86_64 8/8
Перенаправление в / bin / systemctl start atd.service

Проверка: libXScrnSaver-1.2.3-1.el8.x86_64 1/8
Проверка: libappindicator-gtk3-12.10.0-19.el8.x86_64 2/8
Проверка: libdbusmenu-16.04.0-12.el8.x86_64 3/8
Проверка: libdbusmenu-gtk3-16.04.0-12.el8.x86_64 4/8
Проверка: libindicator-gtk3-12.10.1-14.el8.x86_64 5/8
Проверка: liberation-fonts-1: 2.00.3-4.el8.noarch 6/8
Проверка: liberation-serif-fonts-1: 2.00.3-4.el8.noarch 7/8
Проверка: google-chrome-stable-79.0.3945.130-1.x86_64 8/8

Установлены:
Google-хром-устойчиво-79.0.3945.130-1.x86_64
libXScrnSaver-1.2.3-1.el8.x86_64
libappindicator-gtk3-12.10.0-19.el8.x86_64
libdbusmenu-16.04.0-12.el8.x86_64
libdbusmenu-gtk3-16.04.0-12.el8.x86_64
libindicator-gtk3-12.10.1-14.el8.x86_64
освободительные-шрифты-1: 2.00.3-4.el8.noarch
освобождение засечек-шрифты-1: 2.00.3-4.el8.noarch

полный!

Шаг 4. Проверьте версию Chrome

Чтобы убедиться, что установка успешно завершена, проверьте версию Google Chrome..

[[Электронная почта защищена] ~] $ google-chrome -version
Google Chrome 79.0.3945.130

Дополнительно: запустить Chrome без головы

Позвольте мне показать вам пример запуска хрома в режиме без головы на CentOS.

Я возьму пример захвата скриншота. Эта команда ниже запустит Chrome в автономном режиме, и все содержимое https://www.chromestatus.com/ будет сохранено в формате PDF..

[[Электронная почта защищена] ~] $ google-chrome-stable – headless –disable-gpu – print-to-pdf https://www.chromestatus.com/
[0122 / 131602.193881: INFO: headless_shell.cc (620)] Записано в файл output.pdf.

Создан файл output.pdf со всем содержимым https://www.chromestatus.com/.

[[Электронная почта защищена] ~] $ ls -l
всего 61208
drwxr-XR-х. 2 geekflare geekflare 6 сент. 25 11:49 Рабочий стол
drwxr-XR-х. 2 geekflare geekflare 6 сент. 25 11:49 Документы
drwxr-XR-х. 2 geekflare geekflare 6 сентября 25 11:49 Загрузки
-RW-RW-r–. 1 geekflare geekflare 180 22 января 13:05 google-chrome.repo
-RW ——-. 1 geekflare geekflare 146776 22 янв. 13:16 output.pdf

Это все о том, как установить Chrome на Ubuntu & CentOS и запустить его в режиме без головы.

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me
    Like this post? Please share to your friends:
    Adblock
    detector
    map