Гид по технологиям

Создание собственного окружения рабочего стола в Linux

7 min read Linux Обновлено 20 Dec 2025
Создать собственное окружение рабочего стола в Linux
Создать собственное окружение рабочего стола в Linux

Рабочий стол Linux с обоями в виде гор

Введение

Если ни одно готовое окружение рабочего стола вам не подходит полностью, собрать своё — отличный путь получить именно то, что нужно. Вы берёте по одному компоненту из разных сред и собираете конфигурацию под свои привычки. Это руководство объяснит базовые компоненты, даст рабочие скрипты и чек-листы, а также разъяснит распространённые ошибки и альтернативы.

Ключевые понятия в одну строку

  • Оконный менеджер: отвечает за размещение и оформление окон.
  • Сессия: набор программ, которые запускаются при входе в графический режим.
  • .desktop: файл, регистрирующий доступные сессии в менеджере входа.
  • dbus/gsettings: инструменты для смены тем и настроек окружения.

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

Компоненты окружения рабочего стола

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

  • Менеджер окон (window manager): kwin, i3, openbox, bspwm и др.
  • Панель/панель задач (panel): lxqt-panel, tint2 и др.
  • Док (dock): plank, dash-to-dock и др.
  • Менеджер обоев: komorebi, feh, nitrogen.
  • Менеджер уведомлений: dunst и аналоги.
  • Лаунчер приложений: Ulauncher, rofi.
  • Конфиг сессии: скрипт, запускающий вышеуказанные компоненты.

Важно: вы можете комбинировать любые совместимые компоненты. Главное — чтобы они работали под одним сервером отображения (X11 или Wayland) и не конфликтовали по настройкам.

Шаг 1: Создайте скрипт сессии

Чтобы собрать минимальную сессию, нужно запустить оконный менеджер и остальные программы одновременно. Для примера используем kwin и plank.

Установка kwin и plank на Ubuntu и производные:

sudo apt install kwin --no-install-recommends
sudo apt install plank

Замечание: без опции –no-install-recommends apt может подтянуть полноценный KDE-пакет.

Создаём скрипт сессии. В терминале:

cd /bin
sudo touch custom_de.sh
sudo nano custom_de.sh

В начале файла укажите интерпретатор:

#!/bin/bash

Если вы планируете использовать gsettings (см. раздел про темы), добавьте dbus-launch перед запуском команд, чтобы D-Bus был доступен в сессии:

dbus-launch --exit-with-session bash

Далее перечислите команды для запуска программ. Важно: все команды, кроме последней, запускайте в фоновом режиме, добавляя &. Последняя команда должна оставаться в переднем плане — именно её завершение закончить сессию.

Пример минимального содержимого custom_de.sh:

#!/bin/bash
# Запустить D-Bus и сохранить его в сессии
exec dbus-launch --exit-with-session bash -c '
kwin &
plank &
lxqt-panel &
/System/Applications/komorebi
'

Пояснение: ampersand (&) отправляет процесс в фон, позволяя следующей команде стартовать немедленно. Не ставьте & после последней программы: если последняя команда уйдёт в фон, скрипт завершится и сессия немедленно закроется.

Сделайте скрипт исполняемым:

sudo chmod +x /bin/custom_de.sh

Открытый текстовый редактор с шаблоном bash-скрипта для сессии

Шаг 2: Создайте файл .desktop для регистрации сессии

Чтобы менеджер входа видел новую сессию, создайте файл в /usr/share/xsessions:

cd /usr/share/xsessions
sudo touch custom_de.desktop
sudo nano custom_de.desktop

Вставьте в файл следующие строки, заменив Exec на путь к вашему скрипту:

[Desktop Entry]
Name=Custom DE
Comment=Моё настраиваемое окружение рабочего стола
Exec=/bin/custom_de.sh
Type=Application

После сохранения перезапустите дисплейный менеджер или выйдите из сессии.

Nano с открытым файлом .desktop для входа в сессию

Шаг 3: Запуск новой сессии и завершение

Шаги для входа в созданную сессию:

  1. Выйдите из текущей графической сессии.
  2. На экране входа выберите список доступных окружений (обычно значок шестерёнки или меню).
  3. Выберите Custom DE (или имя, которое вы указали в Name).
  4. Войдите.

Чтобы завершить сессию вручную, убейте последнюю процессы вашей сессии или завершите её последнюю программу. Например, если последней программой был plank, можно выполнить:

pkill plank

Редактор nano с конфигурацией для plank

Сделайте окружение более полным: обои, панель, лаунчер

Обои

  • Komorebi — утилита, которая поддерживает видео-обои и показ иконок на рабочем столе. Устанавливается из deb-пакета с репозитория проекта на GitHub. После установки используйте полный путь к бинарнику в сессии, например /System/Applications/komorebi.

Панель

  • lxqt-panel хорошо сочетается с легковесными окружениями. Установка на Ubuntu:
sudo apt install lxqt-panel

Лаунчер

  • Ulauncher — быстрый лаунчер приложений. Пример установки через PPA:
sudo add-apt-repository ppa:agornostal/ulauncher && sudo apt update && sudo apt install ulauncher

Добавьте команды для всех этих компонентов в ваш скрипт (каждую, кроме последней, с &).

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

Как изменить GTK и иконки из командной строки

В окружениях, где нет GUI-инструментов для тем (gnome-tweaks и т. п.), можно использовать gsettings. Для работы gsettings в вашей сессии D-Bus должен быть запущен — см. добавление dbus-launch выше.

Проверить текущую тему GTK:

gsettings get org.gnome.desktop.interface gtk-theme

Установить тему (пример Canta):

gsettings set org.gnome.desktop.interface gtk-theme Canta

Тема должна присутствовать в /usr/share/themes: имя темы — это название папки.

Текстовый файл скрипта с dbus-launch bash в начале

Шпаргалка: готовый пример скрипта и .desktop

Пример файла /bin/custom_de.sh (комментированный):

#!/bin/bash
# Запускаем D-Bus и передаём управление новой оболочке, чтобы gsettings работал
exec dbus-launch --exit-with-session bash -c '
# Оконный менеджер
kwin &
# Док
plank &
# Панель
lxqt-panel &
# Лаунчер (остается на переднем плане — сессия продолжится пока он запущен)
/usr/bin/ulauncher
'

Пример /usr/share/xsessions/custom_de.desktop:

[Desktop Entry]
Name=Custom DE
Comment=Персональное окружение с kwin, plank и lxqt-panel
Exec=/bin/custom_de.sh
Type=Application

Критерии приёмки

  • Вход в сессию через менеджер входа возможен и рабочая среда сразу запускается.
  • Оконный менеджер отображает окна и отвечает на ввод.
  • Панель, док и лаунчер запускаются и работают корректно.
  • gsettings меняет тему GTK, если темы установлены.

Когда подход «собрать самому» не подходит

  • Если вам нужна полная интеграция (сплит-экран, системные настройки, сеть, звуки и т. п.) «с нуля» будет долго и сложно. Готовые окружения (GNOME, KDE, XFCE) уже решают многие задачи.
  • Если вы используете Wayland и выбранный вами WM/компоненты плохо совместимы с Wayland — возможны ограничения. Проверяйте совместимость каждого компонента с Wayland.
  • На системах с ограниченной поддержкой драйверов графики некоторые эффекты kwin или komorebi могут работать нестабильно.

Альтернативные подходы

  • Использовать готовое минимальное окружение и донастроить его (например, установить i3 в составе XFCE).
  • Перейти на дистрибутив типа Arch или a la carte дистрибутивы для большего контроля над пакетами.
  • Использовать контейнеризацию/виртуализацию для тестирования различных наборов программ без риска сломать основную систему.

Безопасность и приватность

  • Не запускайте графические приложения от root. Должны запускаться от вашего пользователя.
  • Debian/Ubuntu deb-пакеты из непроверенных репозиториев могут содержать ненадёжный код. Проверяйте подписанные релизы и репутацию проекта.
  • Не добавляйте в автозапуск приложения, которым вы не доверяете.

Матрица совместимости (коротко)

  • X11: почти все перечисленные компоненты работают под X11.
  • Wayland: kwin поддерживает Wayland, но многие плагины и старые приложения могут не работать; доки/панели могут иметь ограничения.

Роль‑ориентированные чек‑листы

Для пользователя, который собирает окружение:

  • Выбрал оконный менеджер и проверил совместимость с графическим сервером.
  • Написал скрипт сессии и сделал его исполняемым.
  • Создал .desktop для /usr/share/xsessions.
  • Добавил фоновые службы (панель, док, лаунчер).
  • Тестировал вход/выход и переключение тем.

Для администратора/поддержки:

  • Проверить владельца и права на /bin/custom_de.sh.
  • Убедиться, что автозапуск не запускает демонов под root.
  • Логи Xorg/Wayland и ~/.xsession-errors проверить при падениях.

Тестовые случаи и приёмка

  • Вход в сессию: пользователь проходит аутентификацию и попадает в окружение — ожидаемый результат.
  • Завершение последней программы: сессия возвращает на экран входа — ожидаемый результат.
  • Смена темы через gsettings: тема применена к GTK-приложениям, расположенным в текущей сессии.

Полезные советы и эвристики

  • Эвристика 1: ставьте в скрипт сначала тяжёлые сервисы, чтобы визуальная часть не тормозила.
  • Эвристика 2: отлаживайте скрипт локально, запуская его вручную в TTY для отлова ошибок.
  • Эвристика 3: если нужно быстро вернуть рабочее состояние, используйте отдельный пользовательский профиль для экспериментов.

Резюме

  • Сборка собственного окружения даёт гибкость и контроль.
  • Базовая последовательность: скрипт сессии → .desktop → тест входа → добавление компонентов.
  • Следите за тем, чтобы последняя команда оставалась на переднем плане, а dbus был доступен для gsettings.

Рабочий стол Linux с горным пейзажем и иконками

Короткая дорожная карта для развития:

  1. Начните с минимального скрипта kwin + plank.
  2. Добавьте панель и лаунчер.
  3. Подключите менеджер уведомлений и менеджер обоев.
  4. Настройте темы GTK и иконок.
  5. Постепенно добавляйте сервисы и делайте резервные копии конфигураций.

Вопросы и распространённые ошибки

  • Моя сессия сразу закрывается — проверьте, не отправлена ли в фон последняя команда.
  • gsettings ничего не меняет — убедитесь, что в сессии запущен dbus (dbus-launch).
  • Некоторые приложения не запускаются — проверьте пути и зависимости, особенно если вы указываете нестандартные каталоги.

Если хотите, я могу подготовить готовый шаблон скрипта для вашего конкретного набора приложений или предложить конфигурации для Wayland и для X11.

Поделиться: X/Twitter Facebook LinkedIn Telegram
Автор
Редакция

Похожие материалы

Сменить приложения по умолчанию на iPhone и iPad
iOS

Сменить приложения по умолчанию на iPhone и iPad

Отправка SMS через Google Assistant
Гайд

Отправка SMS через Google Assistant

Показать значки рабочего стола в Windows 11
Windows 11

Показать значки рабочего стола в Windows 11

Как пользоваться Custom Games Browser в Halo Infinite
Gaming

Как пользоваться Custom Games Browser в Halo Infinite

Удаление или мемориализация аккаунта Facebook после смерти
Социальные сети

Удаление или мемориализация аккаунта Facebook после смерти

Отключить сенсорный экран в Windows 11 — быстро
Windows 11

Отключить сенсорный экран в Windows 11 — быстро