GNOME сознательно оставляет рабочий стол минималистичным: всё, что нужно не всем, вынесено в расширения. Из-за этого новичок решает, что оболочку нельзя настроить, хотя через gsettings, dconf и Extension Manager меняется почти любое поведение. Ниже — практический маршрут: какие расширения действительно стоит ставить, как обойтись без браузерного магазина, как настраивать оболочку из терминала и как искать причину, если после обновления что-то сломалось.
Как устроены расширения GNOME Shell
Расширение — это каталог с файлом metadata.json и JavaScript-кодом. Оно загружается внутрь процесса gnome-shell, поэтому получает доступ к оболочке и может как добавить индикатор в верхнюю панель, так и уронить всю сессию. Отсюда два практических правила: держать минимум расширений и следить за совместимостью с версией оболочки.
Версию удобно проверять перед установкой, а заодно посмотреть, не отключена ли проверка совместимости:
gnome-shell --version
gsettings get org.gnome.shell disable-extension-version-validation
Ключ disable-extension-version-validation по умолчанию равен false. Если поставить true, оболочка перестанет сверять shell-version из metadata.json и попробует загрузить расширение, написанное для другой версии. Иногда это единственный способ проверить свежий форк, но после проверки значение нужно вернуть назад: несовпадение API приводит к падениям и утечкам памяти.
Установка без браузерного магазина
Сайт extensions.gnome.org удобен, но требует браузерного дополнения и работающего моста. На сервере, в виртуальной машине или при нестабильной сети проще поставить менеджер и работать с архивами.
sudo apt install gnome-shell-extension-manager gnome-tweaks dconf-cli
gnome-extensions list --enabled
gnome-extensions install --force ./just-perfection.zip
gnome-extensions enable just-perfection-desktop@just-perfection
Команда install принимает zip-архив, внутри которого лежит каталог с metadata.json. Флаг —force перезаписывает уже установленную копию. После установки расширение ещё не активно: его нужно включить явно. Список всех установленных расширений выводит gnome-extensions list, а подробности и путь к каталогу — gnome-extensions info.
Стартовый набор без фанатизма
Пять-шесть расширений закрывают почти все бытовые сценарии. Всё остальное лучше добавлять по конкретной потребности, а не «на всякий случай».
- AppIndicator and KStatusNotifierItem Support — иконки мессенджеров и фоновых программ в верхней панели.
- Dash to Dock — док с автопрокрытием и настройкой положения, если стандартный Dash неудобен.
- Just Perfection — скрывает лишние элементы оболочки без правки кода.
- GSConnect — интеграция с Android-смартфоном: уведомления, файлы, буфер обмена.
- Blur my Shell — размытие фона; красиво, но заметно нагружает встроенную графику.
Расширения с эффектами стоит проверять на слабых машинах: размытие и прозрачность считаются на CPU, если GPU не справляется, и приводят к просадкам при переключении окон.
Тонкая настройка через gsettings
Большая часть настроек оболочки доступна без графических утилит. Основные схемы gsettings стабильны годами, поэтому команды удобно хранить в виде скрипта и применять на новой машине.
gsettings set org.gnome.shell favorite-apps "['firefox.desktop', 'org.gnome.Nautilus.desktop']"
gsettings set org.gnome.desktop.interface clock-show-seconds true
gsettings set org.gnome.desktop.interface show-battery-percentage true
gsettings set org.gnome.desktop.wm.preferences button-layout 'appmenu:minimize,maximize,close'
gsettings set org.gnome.mutter dynamic-workspaces true
Для дока настройки лежат в схеме dash-to-dock: положение, автопрокрытие и размер иконок задаются ключами dock-position, autohide и dash-max-icon-size. В свежих выпусках GNOME появился ключ accent-color — он меняет акцентный цвет интерфейса и работает согласованно в GTK-приложениях. Проверить текущее значение любого ключа можно через gsettings get, а список ключей схемы — через gsettings list-keys.
Резервная копия и перенос настроек
Перед экспериментами снимите дамп dconf. Это текстовый файл со всеми изменёнными ключами, его удобно держать в Git вместе с конфигами.
dconf dump /org/gnome/ > ~/gnome-settings.ini
dconf load /org/gnome/ < ~/gnome-settings.ini
Учтите, что дамп содержит и настройки расширений, поэтому на другой машине их придётся установить заранее, иначе ключи просто останутся невостребованными. Команда dconf watch показывает изменения в реальном времени — полезно, когда настраиваете что-то через графический интерфейс и хотите понять, какой ключ за это отвечает.
Диагностика проблем
Если панель пропала, окна не двигаются или сессия падает при входе, в первую очередь смотрите журнал оболочки. Сообщения JavaScript-расширений попадают именно туда.
journalctl -f -o cat /usr/bin/gnome-shell
gnome-extensions disable dash-to-dock@micxgx.gmail.com
dbus-run-session -- gnome-shell --nested --wayland
Последняя команда запускает вложенную сессию в окне: в ней можно включать и выключать расширения, не рискуя основным рабочим столом. Внутри работающей сессии пригодится Looking Glass — Alt+F2, затем команда lg. На вкладке Extensions видно состояние каждого расширения и ошибки загрузки, а в консоли можно выполнить произвольное выражение. Метод поиска виновника простой: отключить всё, кроме системных, и включать по одному.
Что делать после обновления
Мажорное обновление GNOME ломает часть расширений: меняется API, а вместе с ним и совместимость. Не стоит включать обход проверки версии «чтобы работало» — лучше дождаться обновления расширения или найти поддерживаемую замену. Перед обновлением дистрибутива сохраните дамп dconf и список включённых расширений, чтобы быстро восстановить конфигурацию.
Отдельно стоит учитывать переход на Wayland. В новой сессии вводом владеет композитор, поэтому расширения, которые в X11 напрямую перехватывали глобальные сочетания клавиш или читали позицию курсора, могут работать иначе. Проверяйте такие функции сразу после входа: если сочетание не срабатывает, ищите в настройках расширения вариант через портал глобальных сокращений, а не отключайте проверку версий.
Чек-лист
- Оставьте не больше шести расширений и проверяйте их после каждого обновления.
- Ставьте расширения из репозитория дистрибутива или с сайта проекта, а не из случайных архивов.
- Держите gnome-settings.ini в резервной копии.
- При падении сессии читайте journalctl, а не переустанавливайте систему.
- Проверяйте нагрузку: расширения с анимацией заметны на слабом железе.
Итог
GNOME настраивается не через один файл, а через связку gsettings, dconf и расширений. Начните с малого: включите индикаторы и док, поправьте поведение рабочих столов, снимите дамп настроек. Дальше добавляйте только то, чего действительно не хватает, и держите журнал оболочки под рукой — этого достаточно, чтобы оболочка оставалась предсказуемой и после крупных обновлений.