Введение
Изменить оформление Calculate Linux 17 и более ранних версий было не просто. Все настройки системы используют фиксированные пути к файлам изображений. Чтобы внести изменения, нужно удалить пакеты тем и выполнять все настройки с нуля, либо создать шаблоны с изменениями. Свои темы должны быть подготовлены под используемое разрешение экрана чтобы снизить ресурсы компьютера на отображение больших изображений и не допустить искажений при масштабировании. Если же нужно изменить оформление на Live USB, то следует позаботиться о поддержке всех возможных разрешений как минимум у тем загрузки, чтобы изображения отображались на разных машинах. Всё это требует дополнительных знаний и отнимает время. Вместо того, чтобы рисовать и подбирать подходящие изображения, придётся заниматься их настройкой. Поэтому в своих сборках образа дистрибутива пользователи как правило предпочитают не вмешиваться в оформление системы.
Задача нетривиальная и для её решения потребовалось доработать функционал утилит и шаблонов. Решение получилось достаточно гибким для того, чтобы любой неискушённый пользователь смог легко и быстро изменить темы на своём компьютере, а так же выполнить изменения в загрузочном Live USB.
Решение
Если вы не обновляли систему, то самое время сделать это сейчас! После обновления в директории /etc/calculate/
появится файл ini.env.example
. Все отступы в файле один в один повторяют привычный многим smb.conf.default
. В настоящее время в файле ini.env.example
есть три секции “system”, “theme” и “profile” для тонкой настройки параметров системы, тем и профиля пользователя.
Файл ini.env.example
примечателен тем, что формируется и обновляется полностью динамически в зависимости от используемого дистрибутива. Например секция “profile” содержащая настройки рабочего стола формируется таким образом, чтобы остались только те примеры, которые доступны для настройки именно вашего рабочего стола. На сервере же секции “profile” не будет, а секция “theme” будет заметно сокращена. Файл примеров по аналогии с /etc/portage/make.conf/custom
локализован.
Для того чтобы выполнить изменения, достаточно переименовать файл в ini.env
. После этого можно отредактировать необходимые параметры с удалением символа комментария “;”. Для обновления тем можно воспользоваться утилитой cl-setup-themes. Вы можете изменить оформление не только установленной системы, но и Live USB. Для обновления тем образа в утилите cl-builder-image добавлен параметр ‘–update-themes’.
Примеры
Пример 1. Изменение фонового изображения рабочего стола
# Скачаем пример обоев рабочего стола (путь сохранения может отличаться):
wget ftp://ftp.lautre.ru/pub/themes/mf/wallpaper.jpg -P /usr/share/themes/MF
# Изменим путь к изображению:
cp /etc/calculate/ini.env.example /etc/calculate/ini.env
vi /etc/calculate/ini.env
...
[theme]
profile-background = /usr/share/themes/MF/wallpaper.jpg
# Обновим настройки темы:
cl-setup-themes
Обои обновятся только в том случае, если фоновая картинка не менялась пользователем. В противном случае вы можете открыть настройки рабочего стола и выбрать новое изображение. Если изображение не изменилось, перезайдите в сеанс.
Примечание:
В секции “profile” файла ini.env
есть параметр “appearance-wallpaper”, при помощи которого вы так же можете указать путь, который шаблоны будут использовать для ссылки на изображение во время настройки профиля. Разница заключается в том, что в описанном примере картинка будет преобразована под нужное разрешение и меняться на лету у пользователей, оставивших изображение обоев без изменения.
Пример 2. Изменение изображения загрузки системы
# Скачаем пример темы загрузки и завершения работы системы:
wget ftp://ftp.lautre.ru/pub/themes/mf/splash-*.jpg -P /usr/share/themes/MF
# Изменим путь к изображениям:
vi /etc/calculate/ini.env
...
[theme]
splash-silent-background = /usr/share/themes/MF/splash-silent.jpg
splash-verbose-background = /usr/share/themes/MF/splash-verbose.jpg
splash-shutdown-background = /usr/share/themes/MF/splash-shutdown.jpg
# Обновим настройки темы:
cl-setup-themes
Посмотрим что получилось. Экран загрузки системы:
splash_manager -c demo --steps=20 -t calculate
Экран выключения системы:
splash_manager -c demo --steps=20 -t calculate_shutdown
Для проверки фоновой картинки консоли перейдите в неё нажав Ctrl+Alt+F1. Вернуться в оконный менеджер можно нажав Alt+F7.
Пример 3. Изменение фонового изображения загрузчика
# Скачаем пример темы загрузки и завершения работы системы:
wget ftp://ftp.lautre.ru/pub/themes/mf/grub.jpg -P /usr/share/themes/MF
# Изменим путь к изображениям:
vi /etc/calculate/ini.env
...
[theme]
grub-background = /usr/share/themes/MF/grub.jpg
# Обновим настройки темы:
cl-setup-themes
Перезагрузите компьютер чтобы увидеть результат.
Пример 4. Изменение оформления загрузчика в Live USB
Вы можете подготовить изменённый образ загрузившись с флешки если она записана при помощи утилиты cl-install-flash, либо из установленной системы при наличии образа дистрибутива версии не ниже 20170407. Для примера взята свежая сборка Calculate Linux Desktop MATE. При использовании другого дистрибутива поправьте пути.
# Выполним подготовку системы к сборке. В случае работы в системе загруженной с Live USB, параметр ‘–source’ можно опустить, в этом случае изменения будут формироваться для текущего образа системы на флешке. В конце выполнения утилита укажет на путь, в котором развёрнут подготавливаемый образ:
cl-builder-prepare --source /var/calculate/linux/cldm-20170407-x86_64.iso
# Скачаем изображение:
wget ftp://ftp.lautre.ru/pub/themes/mf/gfxboot.jpg -P /run/calculate/mount/distros_CLDM_amd64/usr/share/themes/MF
# Создадим файл ini.env с указанием пути к изображению:
vi /run/calculate/mount/distros_CLDM_amd64/etc/calculate/ini.env
[theme]
gfxboot-background = /usr/share/themes/MF/gfxboot.jpg
# Запакуем образ обновив темы:
cl-builder-image --update-themes
# Удалим файлы необходимые для сборки:
cl-builder-break
Перезагрузите компьютер загрузив систему с флешки чтобы увидеть результат.
Пример 5. Удаление тем
Вы можете не только менять темы, но и удалить их не заботясь о настройках.
# Удалим тему загрузчика:
emerge -C media-gfx/grub-splashes-calculate
# Удалим темы загрузки системы:
emerge -C media-gfx/splash-themes-calculate
# Удалим изображения авторизации и входа в сеанс:
emerge -C media-gfx/dm-themes-calculate
# Удалим обои рабочего стола:
emerge -C media-gfx/calculate-wallpapers
Многие пакеты имеют USE флаги, при помощи которых вы можете выборочно отключать темы.
Даже после удаления тем у вас остаётся некоторый манёвр в настройках оформления. Например вы можете задать цвет шрифта загрузчика:
vi /etc/calculate/ini.env
...
[theme]
grub-text-color = light-cyan/black
grub-text-highlight-color = white/cyan
Обновите настройки темы:
cl-setup-themes
Выводы
Как видите управление темами упрощено настолько, насколько это вообще возможно. Утилиты сами позаботятся о правильном масштабировании без искажений ваших изображений, подогнав размер и обрезав края в необходимых пропорциях. Созданные файлы настроек будут связаны с установленными пакетами: media-gfx/splashutils, sys-boot/grub и т.д., что гарантирует, что изображения и файлы настроек не останутся на диске после удаления пакетов. Для ускорения работы выполняются проверки исключающие повторные преобразование изображений. Единственным требованием для установки новых тем является наличие пакета media-gfx/imagemagick в системе. Поэтому темы были удалены из Calculate Linux Scratch, что вполне допустимо.
Мы будем признательны вам за помощь в улучшении качества перевода файла /etc/calculate/ini.env.example
, а так же в локализации файла на другие языки.