Ошибка «нативный хост-коннектор не обнаружен» (native host connector is not detected) появляется на сайте extensions.gnome.org даже тогда, когда браузерное расширение GNOME Shell Integration установлено и включено. Причина почти всегда одна: расширение — это лишь «передатчик», а реальную связь между браузером и GNOME Shell обеспечивает отдельный системный пакет, который либо не установлен, либо не виден браузеру из-за изоляции среды.
Без этого коннектора управлять расширениями GNOME прямо с сайта невозможно: кнопки включения и настройки на страницах расширений просто не появляются. Ниже разберём, как устроена связка «браузер — коннектор — оболочка», как установить недостающий пакет в разных дистрибутивах и что делать, если браузер установлен через Flatpak или Snap.
Как работает связка расширения и нативного коннектора
Браузерное расширение GNOME Shell Integration само по себе не умеет обращаться к GNOME Shell. Оно использует механизм Native Messaging: браузер запускает специальную программу на стороне системы и обменивается с ней сообщениями. Этой программой является пакет chrome-gnome-shell (несмотря на название, он работает и с Firefox, и с Chromium-подобными браузерами).
Когда вы открываете extensions.gnome.org, расширение пытается найти зарегистрированный в системе манифест нативного хоста. Если манифест отсутствует, лежит не в том каталоге или браузер изолирован (Snap, Flatpak), появляется сообщение, что нативный хост-коннектор не обнаружен.
- 🧩 Расширение в браузере — интерфейс и «мост» к сайту extensions.gnome.org.
- 🔌 chrome-gnome-shell — системный коннектор, который выполняет установку и переключение расширений.
- 📄 Манифест Native Messaging — JSON-файл, сообщающий браузеру, где искать коннектор.
- 🖥️ GNOME Shell — конечный исполнитель: именно она загружает и применяет расширения.
Шаг 1. Проверьте, установлен ли пакет chrome-gnome-shell
Первое действие — убедиться, что коннектор вообще присутствует в системе. Откройте терминал и выполните проверку, соответствующую вашему пакетному менеджеру. Для Debian, Ubuntu и производных:
dpkg -l | grep chrome-gnome-shell
Для Fedora и систем на rpm:
rpm -q chrome-gnome-shell
Если команда ничего не вернула — пакет не установлен, и именно в этом причина ошибки. Если пакет найден, но сайт по-прежнему пишет, что коннектор не обнаружен, переходите к разделам про браузеры в песочнице и расположение манифеста.
Шаг 2. Установка коннектора в популярных дистрибутивах
Имя пакета в большинстве дистрибутивов совпадает — chrome-gnome-shell, — но команды установки различаются. Ниже сводная таблица для основных систем.
| Дистрибутив | Команда установки | Примечание |
|---|---|---|
| Ubuntu / Debian | sudo apt install chrome-gnome-shell | Пакет в основных репозиториях |
| Fedora | sudo dnf install chrome-gnome-shell | Доступен в стандартных репозиториях |
| Arch Linux / Manjaro | sudo pacman -S chrome-gnome-shell | Имя пакета совпадает |
| openSUSE | sudo zypper install chrome-gnome-shell | Проверьте точное имя через поиск пакетов |
После установки полностью закройте браузер и откройте его заново — расширение ищет нативный хост при запуске. Затем обновите страницу extensions.gnome.org: вместо предупреждения должны появиться переключатели ON/OFF на страницах расширений.
⚠️ Внимание: не путайте пакет chrome-gnome-shell с браузером Google Chrome. Название историческое — коннектор обслуживает любые браузеры, поддерживающие Native Messaging, включая Firefox.
Шаг 3. Проблема браузеров в Snap и Flatpak
Самая частая причина, при которой пакет установлен, а коннектор всё равно не обнаружен, — браузер, установленный как Snap или Flatpak. Такие приложения работают в изолированном окружении и по умолчанию не видят ни системные манифесты Native Messaging, ни сам хост-процесс за пределами песочницы.
Характерный пример — Firefox в Ubuntu, который в свежих выпусках поставляется как Snap-пакет. Возможные пути решения:
- 🔄 Установите браузер из классического репозитория (deb/rpm) вместо Snap/Flatpak — самый надёжный вариант.
- 🧰 Используйте Flatpak-сборку Extension Manager — отдельное приложение для управления расширениями GNOME, которому браузер вообще не нужен.
- 🛠️ Для Flatpak-браузеров существуют обходные пути с пробросом манифеста в домашний каталог песочницы, но они зависят от конкретного браузера и могут сломаться после обновления.
Шаг 4. Проверка манифеста Native Messaging
Если браузер обычный (не в песочнице), а ошибка сохраняется, проверьте, что манифест нативного хоста лежит там, где его ищет именно ваш браузер. Для системной установки Firefox манифест обычно находится по пути /usr/lib/mozilla/native-messaging-hosts/, для Chromium-подобных браузеров — в /etc/chromium/native-messaging-hosts/ или аналогичном каталоге конкретного браузера.
Убедиться в наличии файла можно командой:
ls /usr/lib/mozilla/native-messaging-hosts/
В выводе должен присутствовать файл с именем вида org.gnome.chrome_gnome_shell.json. Если файла нет — переустановите пакет коннектора. Если файл есть, но браузер установлен в нестандартный каталог (например, собран вручную), может потребоваться скопировать манифест в пользовательский каталог ~/.mozilla/native-messaging-hosts/ — создайте его, если он отсутствует.
⚠️ Внимание: пути к каталогам Native Messaging различаются между браузерами (Firefox, Chrome, Chromium, Brave, Vivaldi используют собственные каталоги). Сверьтесь с документацией вашего браузера, прежде чем копировать манифест вручную.
☑️ Диагностика ошибки «нативный хост-коннектор не обнаружен»
Шаг 5. Альтернатива: управление расширениями без браузера
Если возиться с Native Messaging не хочется или браузер принципиально оставлен в песочнице, есть два штатных способа обойтись без коннектора вообще. Первый — упомянутый выше Extension Manager: он напрямую работает с каталогом расширений и показывает их состояние, версии и доступные обновления.
Второй — встроенное приложение «Расширения» (Extensions), которое входит в состав современных выпусков GNOME. Оно позволяет включать, отключать и настраивать уже установленные расширения. Установить новое расширение можно и вручную: скачать архив с сайта и распаковать его в ~/.local/share/gnome-shell/extensions/, после чего перезапустить сеанс. Название каталога распакованного расширения должно совпадать с его UUID — этот момент критичен, иначе оболочка его не увидит.
Как узнать UUID расширения для ручной установки
Откройте файл metadata.json внутри архива расширения — в поле "uuid" указано нужное имя. Каталог в ~/.local/share/gnome-shell/extensions/ должен называться точно так же, включая регистр символов.
Когда ничего не помогло
Редко, но бывает, что все компоненты на месте, а сайт всё равно сообщает об отсутствии коннектора. В таком случае вам стоит проверить версию самого расширения в браузере — устаревшие версии могут быть несовместимы с текущей версией сайта. Также полезно посмотреть консоль браузера (обычно открывается клавишей F12): ошибки Native Messaging там отображаются с текстом, который помогает локализовать проблему.
Ещё один возможный сценарий — конфликт старой пользовательской копии манифеста с новой системной. Если вы ранее копировали манифест в домашний каталог вручную, удалите устаревшую копию и проверьте работу снова. Наконец, убедитесь, что сам GNOME Shell исправно загружает расширения: команда gnome-extensions list в терминале должна выводить список установленных расширений без ошибок.
Часто задаваемые вопросы
Почему пакет называется chrome-gnome-shell, если я пользуюсь Firefox?
Название сложилось исторически: коннектор изначально разрабатывался для Chrome. Сегодня он реализует стандартный протокол Native Messaging и одинаково работает с Firefox, Chromium и другими совместимыми браузерами. Отдельного пакета для Firefox не требуется.
Можно ли заставить работать коннектор с браузером из Flatpak?
Прямой доступ изолированного браузера к системному нативному хосту ограничен песочницей. Существуют неофициальные обходные решения с размещением манифеста в каталоге Flatpak-приложения, но их поведение зависит от браузера и версии. Надёжнее использовать Extension Manager.
Опасно ли устанавливать расширения GNOME вручную, распаковывая архивы?
Сама процедура безопасна, если архив скачан с официального сайта extensions.gnome.org. Главное — соблюсти два условия: каталог расширения должен называться по его UUID из metadata.json, а после установки нужно перезапустить сеанс или оболочку, чтобы расширение подхватилось.
Коннектор установлен, но переключатели на сайте не работают. Что проверить?
Убедитесь, что версия GNOME Shell поддерживается выбранным расширением — на странице расширения есть список совместимых версий. Также проверьте вывод команды gnome-extensions list и журнал сеанса на предмет ошибок загрузки расширений.
Нужен ли коннектор, если я пользуюсь Extension Manager?
Нет. Extension Manager обращается к каталогу расширений напрямую и не использует ни браузерное расширение, ни chrome-gnome-shell. Это самый простой вариант для систем, где браузер установлен в изолированном формате.