GNOME shell extension management apps on Linux

Статья на XDA точно выразила разочарование: половина лучших пользовательских функций GNOME — это сторонние расширения, которые ломаются каждые шесть месяцев при обновлении версии оболочки. Интеграция с Firefox, от которой зависит сайт extensions.gnome.org, тоже хрупкая. Эти лучшие приложения для управления расширениями GNOME Shell в Linux позволяют устанавливать, обновлять, создавать резервные копии и откатывать версии без открытия браузера.

На что обратить внимание при выборе менеджера расширений

Краткое сравнение

Приложение Лучше всего подходит Бесплатный план Особенность Упаковка дистрибутива
Extension Manager (mjakeman) Ответ по умолчанию Бесплатно Просмотр, установка и обновление в одном окне Flathub, большинство дистрибутивов
GNOME Extensions app (встроенное) Минимум необходимого Бесплатно Включение/отключение и настройки Каждая установка GNOME
gext Скриптование расширений Бесплатно CLI-первый подход, кроссплатформенность AUR, pip
gnome-shell-extension-installer Скриптирование установки на Ubuntu Бесплатно Wget-совместимый bash-скрипт Ручная установка, репозиторий upstream
Extension Rollback Восстановление после плохих обновлений Бесплатно Откат к предыдущей версии Flathub
Fedora Extension Sets Одобренные дистрибутивом наборы Бесплатно Куратор Fedora, гарантированная совместимость Репозиторий Fedora Workshops
Déjà Dup Полное резервное копирование системы, включая расширения Бесплатно Плановые резервные копии Каждый основной дистрибутив

Приложения

1. Extension Manager — лучший ответ по умолчанию

Extension Manager от Matthew Jakeman — это то, что большинство современных пользователей имеют в виду, говоря о “приложении расширений GNOME”. Просматривайте extensions.gnome.org в родном окне, устанавливайте одним кликом, выполняйте групповое обновление и настраивайте параметры каждого расширения без запуска Firefox.

Недостатки: зависит от API extensions.gnome.org. Если GNOME.org ограничивает скорость или сайт недоступен, вкладка просмотра ломается. Не выполняет откат версий самостоятельно.

Цены:

Платформы: Linux (любой рабочий стол GNOME). Загрузка: Extension Manager на Flathub Вывод: первое приложение для установки после любого свежего рабочего стола GNOME.

2. GNOME Extensions app — лучший минимум

GNOME Extensions app поставляется с каждой установкой GNOME сейчас. Она не может просматривать или устанавливать; может включать, отключать, удалять и открывать диалог настроек каждого расширения. В сочетании с Flatpak Extension Manager это охватывает всё.

Недостатки: установка только через браузер. Нет кнопки “обновить всё”. Нет предупреждений о совместимости версий.

Цены:

Платформы: Linux (любой рабочий стол GNOME). Загрузка: уже установлена на любом рабочем столе GNOME, иначе gnome-extensions-app из менеджера пакетов вашего дистрибутива. Вывод: то, что все используют в первый день, затем дополняют чем-то лучшим.

3. gext — лучший CLI для скриптирования

gext — это CLI на Python, который взаимодействует с extensions.gnome.org из терминала. gext search dash to dock, gext install <uuid>, gext update, gext export > extensions.txt. Экспортированный файл делает перемещение набора расширений между машинами однострочной вставкой.

Недостатки: установка идёт через механику live-update gnome-shell, поэтому вам всё ещё нужно выйти и заново войти, чтобы расширения оболочки вступили в силу.

Цены:

Платформы: Linux (любой рабочий стол GNOME). Загрузка: essembeh/gnome-extensions-cli через pip install gnome-extensions-cli или AUR. Вывод: инструмент для момента “я запустил bash-скрипт и мой новый ноутбук выглядит как старый”.

4. gnome-shell-extension-installer — лучший для автоматизированных настроек Ubuntu

gnome-shell-extension-installer — это один bash-скрипт, который получает архив расширения из extensions.gnome.org по ID и устанавливает его локально. Идеален для cloud-init скриптов, Ansible пьес или первозагрузочного скрипта на свежей установке Ubuntu.

Недостатки: нет механизма обновления. Ничто не предотвращает установку несовместимого.

Цены:

Платформы: Linux (Ubuntu, Debian, Fedora, Arch). Загрузка: gnome-shell-extension-installer на GitHub Вывод: наименее графический вариант, идеален в автоматизации.

5. Extension Rollback — лучший инструмент восстановления

Extension Rollback ведёт историю каждой версии расширения, которую вы установили, и позволяет откатить, если обновление оболочки её сломает. Полезно, когда ночной релиз extensions.gnome.org багнее, чем тот, который прекрасно работал вчера.

Недостатки: не предотвращает плохие установки, только восстанавливает от них. Должна запуститься перед плохим обновлением, чтобы было что откатывать.

Цены:

Платформы: Linux (любой рабочий стол GNOME). Загрузка: Extension Rollback на Flathub Вывод: стоит установить в первый раз, когда приходит GNOME 48 и половина расширений перестанет работать.

6. Fedora Extension Sets — лучшие одобренные дистрибутивом наборы

Fedora Extension Sets — это наборы расширений, откурированные Fedora Project, протестированные для совместной работы на текущем релизе Fedora. Установите набор, получите предконфигурированный лоток/тире/монитор системы, и Fedora берёт на себя обязательство поддерживать их работу в течение жизненного цикла релиза.

Недостатки: только Fedora. Наборы категоричны; мейнтейнеры не будут добавлять каждое расширение, которое вы любите.

Цены:

Платформы: Linux (Fedora Workstation). Загрузка: dnf install gnome-shell-extension-sets на Fedora. Вывод: самый безопасный способ запуска расширений, если вы можете выбрать дистрибутив, чтобы соответствовать им.

7. Déjà Dup — лучшее полное резервное копирование системы, которое охватывает расширения

Déjà Dup — приложение резервного копирования по умолчанию на GNOME и охватывает ~/.local/share/gnome-shell/extensions наряду со всем остальным в вашем домашнем каталоге. Если обновление дистрибутива уничтожит вашу тщательно настроенную конфигурацию, одно восстановление вернёт всё.

Недостатки: это инструмент резервного копирования общего назначения, не менеджер расширений. Восстановление расширений в разных версиях оболочки всё ещё требует проверки совместимости.

Цены:

Платформы: Linux (любой рабочий стол GNOME). Загрузка: Déjà Dup на Flathub Вывод: инструмент “почему я это не сделал перед обновлением дистрибутива”.

Как выбрать правильный

Для большинства пользователей: установите Extension Manager, держите встроенное GNOME Extensions app для включения/отключения, добавьте Extension Rollback в первый раз, когда будет плохое обновление. Для автоматизации настройки между машинами: gext или gnome-shell-extension-installer в ваших dotfiles. Для семейного ноутбука Fedora: Fedora Extension Sets и руки прочь. Все: запускайте Déjà Dup по расписанию, чтобы обновление дистрибутива не обошлось в выходные кликанья. Оставайтесь только в браузере, если вы устанавливаете одно расширение в год и больше никогда не беспокоитесь.

FAQ

Нужна ли мне интеграция с Firefox для установки расширений?

Нет с Extension Manager или gext. Оба взаимодействуют с extensions.gnome.org напрямую. Путь через Firefox всё ещё работает, но больше не требуется.

Почему мои расширения ломаются при каждом релизе GNOME?

Расширения объявляют, какие версии оболочки они поддерживают. Когда GNOME публикует новую основную версию оболочки, большинству расширений требуются небольшие обновления, прежде чем они снова включатся. Extension Manager и Fedora Extension Sets оба показывают, какие из ваших расширений не были обновлены для текущей оболочки.

Как мне восстановиться после обновления GNOME, которое сломало мой рабочий стол?

Войдите в сеанс резервной копии (обычно Wayland на X11), откройте Extension Manager или встроенное приложение и отключите все расширения. Выйдите и заново войдите. Переактивируйте по одному, чтобы найти виновника, или используйте Extension Rollback для отката его версии.

Как мне проверить, безопасно ли расширение перед установкой?

Extension Manager показывает страницу extensions.gnome.org встроенной, включая ссылку на исходный код. Прочитайте её в первую очередь для всего, что запрашивает интеграцию системы или хуки запуска. Каждое опубликованное расширение вручную рецензируется, но обзор не является проверкой безопасности.

Как мне скопировать список расширений на новую машину?

gext export > ~/extensions.txt, скопируйте файл, gext install $(cat ~/extensions.txt). Или восстановите резервную копию Déjà Dup и всё остальное следует.