Перейти к содержимому

Кастомизация системы

Одно из больших преимуществ Linux — возможность полностью настроить систему под себя. В этом гайде описана кастомизация системы. Часто этот процесс называется “ricing”. Конфигурационные файлы часто называют “dotfiles” (дотфайлы, или просто доты).

Графическое окружение

Настроить под себя можно практически любое окружение рабочего стола, оконный менеджер или Wayland-композитор.

Xorg — реализация X Window System (часто называют “X”, “иксы”). Является централизованным и работает вместе с оконным менеджером и (опционально) композитором.

Wayland — более современная реализация графического сервера. Более безопасен, чем Xorg, часто более эффективен, предоставляет более широкие настройки. В отличие от X, каждый Wayland-композитор реализует протоколы самостоятельно, т.е. нет центрального компонента.

Окружения рабочего стола

  • GNOME (X11, Wayland) — простое в использовании окружение, основанное на GTK.
  • KDE Plasma (X11, Wayland) — окружение рабочего стола, основанное на Qt.
  • Cinnamon (X11, Wayland) — окружение, разработанное командой Linux Mint.
  • Xfce (X11) — минималистичное и производительное оконное окружение.

и другие.

Оконные менеджеры (X11)

  • bspwm — тайловый оконный менеджер на основе двоичного разбиения пространства.
  • awesomewm — широко кастомизируемый оконный менеджер, настраиваемый на Lua.
  • i3 — ручной тайловый оконный менеджер.
  • Qtile — тайловый оконный менеджер, написанный и настраиваемый на Python.

и другие.

Композиторы (Wayland)

  • Niri — Wayland-композитор с прокручиваемыми колонками.
  • Hyprland — современный, широко настраиваемый, тайловый Wayland-композитор.
  • Sway — ручной тайловый композитор, полностью совместимый с i3.

и другие.

Вспомогательные компоненты рабочего стола

Если вы используете полноценные окружения рабочего стола, то, скорее всего, не нуждаетесь в установке дополнительный компонентов, таких как панели или лаунчеры, так как окружение уже поставляет их. Оконные менеджеры и отдельные Wayland-композиторы зачастую не реализуют этих компонентов, поэтому вы можете захотеть установить и настроить их отдельно.

Полноценные системы виджетов

  • Astal (X11, Wayland) — фреймворк для создания GTK-виджетов рабочего стола, поддерживающий разные языки программирования.
  • eww (X11, Wayland) — автономная система виджетов на языке Rust, позволяющая реализовать собственные виджеты в любом оконном менеджере.
  • Fabric (X11, Wayland) — система виджетов на Python.

В данный момент я разрабатываю собственную систему виджетов, реализующую кастомные виджеты, набор встроенных компонентов, а также библиотеку для разработки вспомогательных компонентов на Go.

Панели

  • Polybar (X11) — быстрая и простая в использовании панель.
  • Waybar (Wayland) — широко настраиваемая панель для различных Wayland-композиторов.
  • Yambar (X11, Wayland) — модульная панель, вдохновлённая Polybar.

Уведомления

  • dunst (X11, Wayland) — легковесный и настраиваемый демон сервер.
  • mako (X11, Wayland) — простой демон уведомлений.
  • Sway Notification Center (Wayland) — демон уведомлений с центром управления.

Экраны блокировки

  • i3lock (X11) — простой экран блокировки.
    • i3lock-color — форк i3lock, добавляющий множество новых функций.
  • swaylock (Wayland) — простой экран блокировки для Wayland-композиторов.
    • swaylock-effects — форк swaylock, добавляющий причудливые эффекты.
  • gtklock — экран блокировки для Wayland, основанный на GTK.
  • Hyprlock — экран блокировки Hyprland (также работает с другими композиторами) с графическим ускорением.

Лаунчеры

  • dmenu (X11) — простой вертикальный лаунчер приложений.
  • rofi (X11) — лаунчер, динамическое меню и переключатель окон.
    • rofi-wayland (X11, Wayland) — форк, реализующий поддержку Wayland.
  • wofi (Wayland) — лаунчер для Wayland-композиторов.
  • tofi (Wayland) — минималистичный лаунчер с упором на скорость.

Обои

  • feh (X11) — просмотрщик изображений с возможностью устанавливать обои.
  • swaybg (Wayland) — простая утилита для установки обоев.
  • Hyprpaper (Wayland) — быстрая утилита для отображения обоев с поддержкой IPC.
  • swww (Wayland) — решение для обоев с поддержкой IPC, анимированных обоев и множества эффектов.

Скриншоты

  • scrot (X11) — утилита командной строки для снимков экрана.
  • xsnip (X11) — минималистичный и удобный инструмент для скриншотов.
  • grim и slurp (Wayland) — утилиты для выделения области экрана и снимков экрана.
    • slurp позволяет выделить область экрана и печатает в стандартный вывод координаты.
    • grim принимает на вход координаты и делает снимок экрана.

Темы приложений

GTK

Один из плюсов GTK — широкие возможности для настройки внешнего вида. Существует большое разнообразие тем, хорошим ресурсом для поиска которых является Pling, а именно — раздел GNOME-Look.

Ниже приведены некоторые темы для GTK-приложений:

Чтобы использовать тему, выполните команды

Окно терминала
gsettings set org.gnome.desktop.interface gtk-theme <название-темы>
gsettings set org.gnome.desktop.wm.preferences theme <название-темы>

Также можно выбрать светлую или тёмную тему. Это зачастую не повлияет на тему непосредственно, но сообщит приложениям (например, браузеру), что пользователь выбрал ту или иную тему.

Окно терминала
# Для тёмной темы.
gsettings set org.gnome.desktop.interface color-scheme prefer-dark
# Для светлой темы
gsettings set org.gnome.desktop.interface color-scheme prefer-light

Наконец, существует утилита gnome-tweaks, которая позволяет настраивать тему GTK-приложений. Изначально она предназначена для GNOME, но работает и вне этого оконного окружения.

Qt

С кастомизацией Qt-приложений дела обстоят сложнее. Тем гораздо меньше, а изменить их достаточно сложно. Тем не менее, в этом разделе приведены советы по настройке внешнего вида приложений, использующих Qt.

Начиная с 5-ой версии Qt, существует возможность стилизовать приложения на Qt в соответствии с темой GTK. Это работает не всегда, но помогает. Для этого установите переменную окружения глобально (например, в конфигурационном файле вашего оконного менеджера):

Окно терминала
QT_QPA_PLATFORMTHEME=gtk3

Ещё один способ обеспечить схожий внешний вид для приложений на GTK и Qt — использование тем, доступных для обоих систем, например, Breeze и Adwaita.

При использовании Wayland-композиторов Qt-приложения, как правило, выглядят лучше, чем на Xorg при использовании оконных менеджеров. Полноценные окружения рабочего стола, как правило, лишены данной проблемы — они поставляют приложения с соответствующими виджетами (например, GTK-приложения у GNOME, Qt-приложения у KDE Plasma), а для прочих приложений используют свои темы.

Иконки

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

Чтобы использовать набор, выполните команду ниже. Это работает только с GTK-приложениями.

gsettings set org.gnome.desktop.interface icon-theme <название-набора>

Курсоры

Как и в случае с иконками, вы можете поменять курсоры по умолчанию.

Установка из репозиториев:

Ручная установка:

При ручной установке, я рекомендую устанавливать темы для курсоров, заменяя тему по умолчанию. Это позволяет достичь одинакового отображения в GTK и Qt, кроме того, использование этого метода также установит курсоры для таких компонентов, как менеджеры дисплеев (экран входа в систему). Для этого распакуйте архив с курсорами в директорию /usr/share/icons/default. Должна получиться подобная структура:

  • Директория/usr/share/icons/default
    • cursor.theme
    • Директорияcursors/
    • index.theme

Ресурсы

Список ресурсов для вдохновления:

Разные конфигурации, которые можно взять за основу: