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

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

Одно из больших преимуществ 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) — минималистичное и производительное оконное окружение.

и другие.

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

и другие.

  • 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 — широкие возможности для настройки внешнего вида. Существует большое разнообразие тем, хорошим ресурсом для поиска которых является 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.

Начиная с 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

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

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