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

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

6 min read Рабочий стол Обновлено 28 Nov 2025
Кастомный рабочий стол Linux — пошагово
Кастомный рабочий стол Linux — пошагово

Зачем делать собственный DE

Gnome и KDE — полноценные окружения с набором модулей, интегрированными настройками и визуальными компонентами. Это удобно, но порой нужно меньше: проще, быстрее или просто другой внешний вид. Собранный вручную DE позволяет:

  • Загружать только нужные процессы.
  • Быстро реагировать и экономить ресурсы.
  • Комбинировать любимые инструменты (Compiz, Docky, Gnome-Do и т. п.).

Определение: DE (desktop environment) — набор программ и служб, обеспечивающих рабочий стол: менеджер окон, панель, средства запуска приложений, менеджер обоев и пр.

Что вам понадобится

Чтобы рабочая среда была функциональной, нужны несколько ролей и подходящие приложения для них:

  • Менеджер окон (например, Compiz, Metacity, Openbox)
  • Лаунчер приложений (Gnome-Do, Kupfer, Rofi)
  • Панель или док (Cairo Dock, Docky, XFCE panel)
  • Менеджер обоев (hsetroot, feh)
  • Дополнительно: апплеты панели, мониторинг (Conky), виджеты

В этом руководстве мы используем Compiz, Gnome-Do, Cairo Dock и hsetroot как пример набора. Это не обязательный набор — выбирайте по вкусу и задачам.

Установка базовых пакетов

В большинстве дистрибутивов нужные пакеты доступны в стандартных репозиториях. Для Debian/Ubuntu-подобных систем пример установки:

sudo apt-get install compiz compiz-plugins gnome-do cairo-dock hsetroot

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

Важно: названия пакетов могут отличаться по дистрибутивам; уточните репозиторий перед установкой.

Методология: как мы будем действовать

  1. Выбрать компонент для каждой роли (менеджер окон, док, лаунчер и т. д.).
  2. Создать исполняемый скрипт, который запускает эти программы последовательно, отправляя фоновые процессы в фоновый режим (через &).
  3. Создать файл .desktop в /usr/share/xsessions, который укажет GDM как запускать этот скрипт.
  4. Выход из сессии и выбор нового сеанса в диспетчере входа.

Мини-методология: планируйте стартовые программы, тестируйте локально, затем подключайте через GDM.

Создание списка автозапуска (скрипт)

Откройте любой текстовый редактор и перечислите команды запуска — одну в строку. Все строки, кроме последней, должны заканчиваться символом & (амперсанд). Это переводит процесс в фон и позволяет оболочке продолжить выполнение следующих команд.

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

Пример простого скрипта customDE.sh:

#!/bin/bash
# Установить обои
hsetroot -fill /usr/share/backgrounds/mywallpaper.jpg &

# Запустить Compiz как менеджер окон
compiz --replace &

# Запустить панель/док
cairo-dock &

# Запустить лаунчер приложений
gnome-do &

# Дополнительные демоны
# conky &

# Если нужно — дождаться завершения фоновых процессов (обычно не требуется)
wait

Сохраните файл в вашем домашнем каталоге, например /home/ваш_пользователь/customDE.sh, и сделайте его исполняемым:

chmod +x /home/ваш_пользователь/customDE.sh

Скрипт настройки рабочего стола

ALT: Снимок текстового редактора с примером скрипта customDE.sh, показывающий строки запуска hsetroot, compiz и cairo-dock.

Шаблон .desktop для GDM

Чтобы сеанс появился в списке GDM, создайте файл с расширением .desktop в каталоге /usr/share/xsessions. Важно: для корректной работы поля Name и Exec должны быть корректными.

Пример файла /usr/share/xsessions/custom.desktop:

[Desktop Entry]
Name=CustomDE
Comment=Мой кастомный рабочий стол
Exec=/home/ваш_пользователь/customDE.sh
TryExec=/home/ваш_пользователь/customDE.sh
Type=Application
X-LightDM-DesktopName=CustomDE

Сохраните как root: /usr/share/xsessions/custom.desktop.

Замечание: если вы используете дисплей-менеджер, отличный от GDM (например, LightDM или SDDM), путь /usr/share/xsessions остаётся корректным местом для регистрации пользовательских сессий.

Файл сеанса GDM

ALT: Пример содержимого .desktop файла в текстовом редакторе, который регистрирует пользовательскую сессию в /usr/share/xsessions.

Отладка и частые проблемы

  • Скрипт не запускается: проверьте права (chmod +x) и правильность пути в Exec. Логи X-сессии и ~./xsession-errors помогут найти ошибку.
  • Программы не запускаются правильно: попробуйте запуск вручную в терминале, чтобы увидеть ошибки зависимостей или конфигурации.
  • Конфликты с уже запущенными компонентами (например, стандартная панель GNOME): убедитесь, что сессия запускает только ваши компоненты, иначе возможны дублирование апплетов и лейаутов.
  • Если менеджер окон не заменяется: используйте –replace (для Compiz/Metacity) или корректную команду для вашего WM.

Контрпример/когда это не подойдёт:

  • Если вы хотите глубокой интеграции с сервисами GNOME (например, ключи, настройки dconf), простой скриптовый набор может не обеспечить полной совместимости.
  • Для корпоративных окружений с централизованным управлением и политиками лучше использовать штатные DE.

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

  • Использовать .xinitrc или .xsession напрямую (для тех, кто запускает X вручную через startx).
  • Использовать lightweight DE вроде XFCE или LXDE как близкую замену, если не хочется ручного составления.
  • Переход на оконные менеджеры тайлинга (i3, bspwm) для рабочего процесса, не требующего доков и панелей.

Роль‑ориентированный чеклист перед запуском

Для удобства — короткие проверки по ролям:

  • Менеджер окон: установлен, запускается с –replace, имеет нужные плагины.
  • Док/панель: работает, не конфликтует с системной панелью, автозапуск происходит корректно.
  • Лаунчер: запускается и правильно индексирует приложения.
  • Обои: путь к файлу корректен, инструмент поддерживает формат изображения.
  • Права и пути: скрипт исполняем, .desktop указывает на существующий исполняемый файл.

Полезные сниппеты и шаблоны

  1. Быстрый шаблон скрипта (с защитой от повторного запуска дока):
#!/bin/bash
# Предотвратить множественные инстансы
pgrep -x cairo-dock >/dev/null || cairo-dock &
pgrep -x compiz >/dev/null || compiz --replace &
pgrep -x gnome-do >/dev/null || gnome-do &
hsetroot -fill /usr/share/backgrounds/mywallpaper.jpg &
wait
  1. Пример .desktop, который использует абсолютный путь и проверяет TryExec:
[Desktop Entry]
Name=CustomDE
Comment=Кастомная сессия
Exec=/home/ваш_пользователь/customDE.sh
TryExec=/home/ваш_пользователь/customDE.sh
Type=Application
X-Ubuntu-Gettext-Domain=customde
  1. Быстрая команда для теста без GDM (локальный тест):
bash /home/ваш_пользователь/customDE.sh

Совместимость и миграция

  • GDM, LightDM, SDDM: все поддерживают сессии через /usr/share/xsessions, поэтому файл .desktop останется работоспособным.
  • Wayland: на некоторых системах запуск кастомной сессии под Wayland потребует иных команд и совместимости с Wayland-компонентами; Compiz не работает под Wayland.
  • Переход между системами: при переносе скрипта на другой компьютер проверяйте пути к обоям и наличию пакетов.

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

Чтобы считать задачу завершённой, выполните проверку:

  • В списке сеансов диспетчера входа появился пункт CustomDE.
  • При выборе CustomDE запускаются все указанные компоненты и видимы на рабочем столе.
  • Ресурсопотребление ниже, чем у полноценной GNOME/KDE сессии (субъективная проверка).
  • Перезапуск сессии не приводит к накоплению дублированных процессов.

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

  • Скрипт запускает только те приложения, которым вы доверяете. Не включайте в Autostart неизвестные бинарники.
  • Если в скрипте используются сетевые службы, подумайте о файрволе и ограничениях доступа.

Решение проблем и откат

Если новая сессия не устраивает, просто удалите файл /usr/share/xsessions/custom.desktop и вернитесь к прежней сессии. Также можно временно переименовать скрипт или удалить права на исполнение.

Итог и рекомендации

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

  • Начать с минимального набора (WM + док + лаунчер) и постепенно добавлять компоненты.
  • Тестировать запуск вручную перед добавлением в /usr/share/xsessions.
  • Убедиться, что компоненты совместимы с выбранным сервером отображения (X11 vs Wayland).

Готовый кастомный рабочий стол

ALT: Готовый рабочий стол с Compiz и Cairo Dock: панель, иконки и обои, демонстрирующие итоговую настройку.

Если у вас есть истории кастомизации рабочего стола или советы по выбранным инструментам — поделитесь в комментариях!

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

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

Удаление игр с PS5 M.2 SSD через приложение
Гайды

Удаление игр с PS5 M.2 SSD через приложение

Трансляция YouTube с телефона на ПК
Технологии

Трансляция YouTube с телефона на ПК

Как использовать ADB и Fastboot на Linux
Инструменты Android

Как использовать ADB и Fastboot на Linux

Как узнать, заблокировали ли вас на Android
Android.

Как узнать, заблокировали ли вас на Android

Очистка кэша Dropbox на Android и iPhone
Мобильные устройства

Очистка кэша Dropbox на Android и iPhone

Как разблокировать адрес в Gmail — пошагово
Gmail

Как разблокировать адрес в Gmail — пошагово