Як встановити Chromium на Ubuntu та CentOS?

Покрокове керівництво по встановленню Headless Chromium на Ubuntu та CentOS.


Що таке Chrome Headless?

Chrome без голови – це як запуск хромового браузера без інтерфейсу користувача (браузера), тобто він працює в безголовому середовищі, що дуже корисно для запуску автоматизованих тестів.

Отже, що для нас розблоковує безголовий Chrome?

Однією з найбільш захоплюючих речей є можливість тестування останніх та найкращих функцій веб-платформи, таких як модулі ES6, службові працівники та потоки. За допомогою хрому без голови ви можете писати програми та тестувати їх із сучасним візуалізацією. Інша річ, яку він розблоковує, це такі дивовижні функції, як мережеве дроселювання, емуляція пристрою та покриття коду.

З хромом без голови ви можете виконувати тести, навіть не написавши код коду, хіба це не круто!

Ви можете просто виконати їх через командний рядок. Нижче представлені деякі популярні прапори.

–скріншот # щоб зробити знімок екрана
–друк до pdf #перетворення веб-сторінки в PDF
–дані Dump-dom #dump DOM (модель об’єктного документа)

Установка хрому на Ubuntu

Крок 1: Оновлення Ubuntu

На початку оновіть пакети в Ubuntu.

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

Крок 2: Встановіть залежності

Встановіть ці залежності, необхідні для встановлення.

[захищено електронною поштою]: ~ $ sudo apt-get install -y libappindicator1 шрифти-звільнення
Читання списків пакетів … Готово
Побудова дерева залежності
Читання інформації про стан … Готово
звільнення шрифтів – це вже найновіша версія (1: 1.07.4-7).
вивільнення шрифтів встановлено вручну.
Наступний пакет автоматично встановлено і більше не потрібен:
хром-кодеки-ffmpeg-екстра
Використовуйте “sudo apt autoremove”, щоб видалити його.
Наступні додаткові пакети будуть встановлені:
libdbusmenu-gtk4 лібіндикатор7
Пропоновані пакети:
індикатор-додаток
Будуть встановлені наступні НОВІ пакети:
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 kB]
Зібрано 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: Ця бібліотека використовується для експорту меню за допомогою програми на панель
звільнення шрифтів: у цій бібліотеці є схожі показники шрифту, як Arial, Times та Courier

Можуть бути випадки, коли для встановлення хрому бракує кількох залежностей. Отже, запустіть команду нижче, вона встановить усі відсутні відсутні залежності, необхідні для встановлення хрому.

[захищено електронною поштою]: ~ $ sudo apt-get install -f
Наступні додаткові пакети будуть встановлені:
at-spi2-core cpp cpp-7 dconf-gsettings-backkend dconf-сервіс gcc-7-базова гліб-мережа glib-мережа-загальна
glib-networking-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-listing-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-звичайний
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-узгоджувати-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-поширений
liblcms2-2 libllvm9 liblwp-mediatypes-perl liblwp-протокол-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-протокол-перл
libx11-xcb1 libxaw7 libxcb-dri2-0 libxcb-dri3-0 libxcb-glx0 libxcb-присутній0 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-поширені x11-utils x11-xserver-utils xdg-utils
Пропоновані пакети:
cpp-doc gcc-7-locales індикатор-додаток libasound2-плагіни alsa-utils libdigest-hmac-perl libgssapi-perl кольоровий
gvfs liblcms2-utils libcrypt-ssleay-perl lm-sensors 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-backkend dconf-сервіс gcc-7-базова гліб-мережа glib-мережа-загальна
glib-networking-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-listing-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-звичайний
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-узгоджувати-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-поширений
liblcms2-2 libllvm9 liblwp-mediatypes-perl liblwp-протокол-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-протокол-перл
libx11-xcb1 libxaw7 libxcb-dri2-0 libxcb-dri3-0 libxcb-glx0 libxcb-присутній0 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-поширені x11-utils x11-xserver-utils xdg-utils
0 оновлених, 117 нещодавно встановлених, 0 для видалення та 58 не оновлених.
1 не повністю встановлений або видалений.
Потрібно отримати 40,7 МБ архівів.
Після цієї операції буде використано 369 Мб додаткового дискового простору.
Ви хочете продовжити? [Y / n] Y
Отримано 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 ОК
Довжина: 62204098 (59 М) [додаток / x-debian-пакет]
Збереження в: “google-chrome-stable_current_amd64.deb”

google-chrome-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 (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) …
Обробка тригерів для настільних файлів-утилітів (0.23-3ubuntu2) …
Обробка тригерів для підтримки mime (3.60ubuntu1) …
Тригери обробки для man-db (2.8.4-2) …

Крок 5: Перевірте версію Chrome

Щоб підтвердити, що встановлення завершено успішно, перевірте версію Google Chrome.

[захищено електронною поштою]: ~ $ google-chrome-stable -версія
Google Chrome 79.0.3945.117

Необов’язково: запускайте Chrome без голови

Дозвольте показати вам приклад роботи хрому в безголовому режимі.

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

[захищено електронною поштою]: ~ $ google-chrome-stable –headhead – відключити-gpu –print-to-pdf https://gf.dev/
[0115 / 140930.772108: ІНФОРМАЦІЯ: 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

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

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

[Гугл хром]
name = google-chrome
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 встановити google-chrome-stable
Остання перевірка терміну дії метаданих: 0:04:04 тому в середу, 22 січня 2020, 13: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 к
libindicator-gtk3 x86_64 12.10.1-14.el8 AppStream 70 k
визволення-шрифти noarch 1: 2.00.3-4.el8 BaseOS 19 k
визвольно-серифно-шрифтові шрифти 1: 2.00.3-4.el8 BaseOS 607 k

Підсумок транзакцій
===================================================== ===============================
Встановіть 8 пакетів

Загальний розмір завантаження: 60 M
Встановлений розмір: 213 М
Це нормально [у / н]: у
Завантаження пакетів:
(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): визволення-шрифти-2.00.3-4.el8.noarch.rpm 74 кБ / с | 19 кБ 00:00
(6/8): визволення-засічки-шрифти-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 MB / s | 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:
Ідентифікатор користувача : "Ключ підпису пакета Google, Inc. <[захищено електронною поштою]>"
Відбиток пальця: 4CCA 1EAF 950C EE4A B839 76DC A040 830F 7FAC 5991
Від: https://dl-ssl.google.com/linux/linux_signing_key.pub
Це нормально [у / н]: у
Ключ успішно імпортований
Імпорт ключа GPG 0xD38B4796:
Ідентифікатор користувача : "Google Inc. (орган підписання пакетів Linux) <[захищено електронною поштою]>"
Відбиток пальця: EB4C 1BFD 4F04 2F6D DDCC EC91 7721 F63B D38B 4796
Від: https://dl-ssl.google.com/linux/linux_signing_key.pub
Це нормально [у / н]: у
Ключ успішно імпортований
Запуск перевірки транзакцій
Перевірка транзакцій вдалася.
Запуск тесту транзакцій
Тест транзакцій вдався.
Виконання транзакції
Підготовка: 1/1
Встановлення: libdbusmenu-16.04.0-12.el8.x86_64 1/8
Встановлення: libdbusmenu-gtk3-16.04.0-12.el8.x86_64 2/8
Встановлення: звільнення-засік-шрифти-1: 2.00.3-4.el8.noarch 3/8
Встановлення: визволення-шрифти-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 запустити на сервіс 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
Перевірка: визволення-шрифти-1: 2.00.3-4.el8.noarch 6/8
Перевірка: звільнення-серіф-шрифти-1: 2.00.3-4.el8.noarch 7/8
Перевірка: google-chrome-stable-79.0.3945.130-1.x86_64 8/8

Встановлено:
google-chrome-stable-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 -версія
Google Chrome 79.0.3945.130

Необов’язково: запускайте Chrome без голови

Дозвольте показати вам приклад роботи хрому в безголовому режимі на CentOS.

Я візьму приклад зйомки екрана. Ця команда нижче буде запускати хром у безголовному режимі, а весь вміст https://www.chromestatus.com/ буде збережено у форматі PDF.

[[захищено електронною поштою] ~] $ google-chrome-stable –headhead – відключити-gpu –print-to-pdf https://www.chromestatus.com/
[0122 / 131602.193881: ІНФОРМАЦІЯ: headless_shell.cc (620)] Написано у файл output.pdf.

Створений файл output.pdf, який містить весь вміст https://www.chromestatus.com/

[[захищено електронною поштою] ~] $ ls -l
всього 61208
drwxr-xr-x. 2 geekflare geekflare 6 вересня 11 11:49 Робочий стіл
drwxr-xr-x. 2 geekflare geekflare 6 вересня 11 11:49 Документи
drwxr-xr-x. 2 geekflare geekflare 6 вересня 11 11:49 Завантаження
-rw-rw-r–. 1 geekflare geekflare 180 22 січня 13:05 google-chrome.repo
-rw ——-. 1 geekflare geekflare 146776 22 січня 13:16 вихід.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