Подробный гайд по кастомизации тем в GNOME (User Themes & Alternatives)

Полный гайд по настройке тем GNOME: установка Shell/GTK тем, иконок, работа с расширениями. Для Ubuntu, Fedora, Arch.

2026.05.10                  


Подробный гайд по кастомизации тем в GNOME (User Themes & Alternatives)Подробный гайд по кастомизации тем в GNOME (User Themes & Alternatives)

GNOME разделяет оформление на 4 независимых слоя:

  • Приложения (GTK3/GTK4)
  • Оболочка (GNOME Shell) – верхняя панель, меню, уведомления, Activities
  • Иконки
  • Курсоры

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


1. Подготовка: установка необходимых инструментов

Пакеты

Дистрибутив Команда
Ubuntu/Debian sudo apt install gnome-tweaks gnome-shell-extensions
Fedora sudo dnf install gnome-tweaks gnome-extensions-app
Arch/Manjaro sudo pacman -S gnome-tweaks gnome-shell-extensions
openSUSE sudo zypper install gnome-tweaks gnome-shell-extensions

Менеджер расширений (рекомендуется вместо браузерного плагина)

# Flatpak (универсальный, актуальный)
flatpak install flathub com.mattjakeman.ExtensionManager

# Или из репозиториев дистрибутива (названия могут отличаться)
sudo apt install extension-manager        # Debian/Ubuntu
sudo dnf install gnome-extensions-manager # Fedora

2. Включение расширения User Themes

Без него GNOME Shell не позволяет менять тему оболочки.

  1. Откройте Extension Manager (или перейдите на extensions.gnome.org)
  2. Найдите и установите User Themes
  3. Включите переключатель
  4. Проверьте в gnome-tweaks → Внешний вид → должна появиться строка Тема оболочки

Альтернативы: Если User Themes конфликтует с новой версией GNOME, можно использовать:

  • Blur My Shell (частично заменяет оформление)
  • Just Perfection (тонкая настройка UI)
  • Кастомные сборки вроде Arc/WhiteSur с встроенными патчами

3. Где хранить темы

Путь Назначение
~/.local/share/themes/ Рекомендуемый (XDG-совместимый, только для вашего пользователя)
~/.themes/ Устаревший, но всё ещё работает
/usr/share/themes/ Системный (требует sudo, применяется ко всем пользователям)

Структура корректной папки темы:

~/.local/share/themes/НазваниеТемы/
├── gnome-shell/          # файлы оболочки (CSS, изображения)
├── gtk-3.0/              # стили для GTK3
├── gtk-4.0/              # стили для GTK4 (опционально)
└── index.theme           # мета-файл темы

4. Установка тем

Ручная установка (самый надёжный способ)

  1. Скачайте тему с gnome-look.org (категории: GTK3 Themes, Shell Themes, Icon Themes)
2. Распакуйте архив:
   tar -xf Тема.tar.xz -C ~/.local/share/themes/
  1. Убедитесь, что внутри нет вложенной папки с тем же именем (должно быть ~/.local/share/themes/Тема/gnome-shell/, а не Тема/Тема/...)

Автоматизированные менеджеры

Инструмент Описание
Themix (бывший Oomox) Генератор тем, поддержка GTK/Shell/Icons
plank / yaru-colors Готовые сборки от сообщества
gnome-tweaks Не качает темы, но применяет установленные

5. Применение тем

  1. Откройте Доп. настройки GNOME (gnome-tweaks)
  2. Перейдите в раздел Внешний вид
3. Выберите:
  • Приложения → GTK-тема
  • Оболочка → Shell-тема
  • Иконки → Набор иконок
  • Курсор → Тема курсора
    1. Изменения применяются мгновенно (иногда требуется перезапуск сессии)

Перезапуск оболочки:

  • X11: Alt + F2 → введите rEnter
- Wayland: выход и вход в систему, либо:
busctl --user call org.gnome.Shell /org/gnome/Shell org.gnome.Shell Eval 'Meta.restart("Restarting...")'

6. Важные ограничения и современные реалии (2024–2026)

Проблема Решение
GTK4 / libadwaita приложения игнорируют темы Установите adw-gtk3 или используйте GTK_THEME=Adwaita:dark в .bashrc.
Тема оболочки "ломается" после обновления GNOME GNOME 45+ изменил CSS-классы. Качайте темы с пометкой GNOME 45+ или 46/47. Проверяйте gnome-shell --version
Расширения отключаются после входа Включите gnome-tweaks → Расширения → разрешите запуск в фоновом режиме. Или используйте Extension Manager для авто-включения
Темы не применяются в Wayland Некоторые темы используют X11-специфичные CSS-селекторы. Ищите версии с пометкой Wayland-compatible

7. Диагностика и восстановление

Логи оболочки

journalctl -f /usr/bin/gnome-shell

Ищите строки с CSS parsing failed, extension error, theme not found.

Сброс темы оболочки

gsettings reset org.gnome.shell.extensions.user-theme name
gnome-extensions disable user-theme@gnome-shell-extensions.gcampax.github.com
gnome-extensions enable user-theme@gnome-shell-extensions.gcampax.github.com

Проверка целостности темы

# Проверка наличия index.theme
ls ~/.local/share/themes/*/index.theme

# Проверка прав
chmod -R 755 ~/.local/share/themes/

8. Проверенные источники тем

Ресурс Описание
gnome-look.org - gnome-look.org Крупнейший архив, фильтрация по версии GNOME
GitHub: Vinceliuice - github.com/vinceliuice WhiteSur, Orchis, Fluent, Graphite
GitHub: yuru7 - github.com/yuru7 Catppuccin, Nordic, Dracula
GitHub: EliverLara - github.com/EliverLara Sweet, Candy, Adapta

Правило безопасности:

Никогда не запускайте install.sh от root без проверки содержимого. Предпочитайте ручную распапку или Flatpak-менеджеры.


9. Чек-лист перед установкой

  • [ ] Версия GNOME: gnome-shell --version
  • [ ] Сессия: X11 или Wayland? (echo $XDG_SESSION_TYPE)
  • [ ] Установлен gnome-tweaks и Extension Manager
  • [ ] Включено расширение User Themes
  • [ ] Тема распакована в ~/.local/share/themes/ без вложенных папок
  • [ ] Проверена совместимость с вашей версией GNOME
  • [ ] Есть резервная копия ~/.config/gtk-4.0/ и ~/.local/share/themes/

Бонус: автоматическое переключение тем (светлая/тёмная)

# Включение автопереключения через gsettings
gsettings set org.gnome.desktop.interface color-scheme 'prefer-dark'  # или 'prefer-light'

# Скрипт для привязки к времени суток (добавить в cron или systemd timer)
if [[ $(date +%H) -ge 19 || $(date +%H) -le 6 ]]; then
  gsettings set org.gnome.desktop.interface color-scheme 'prefer-dark'
  gsettings set org.gnome.shell.extensions.user-theme name 'НазваниеТёмной'
else
  gsettings set org.gnome.desktop.interface color-scheme 'prefer-light'
  gsettings set org.gnome.shell.extensions.user-theme name 'НазваниеСветлой'
fi