Придайте уникальный вид своему Calculate Linux!

title-preview.jpg

Введение

Изменить оформление 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

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

wallpaper-preview.jpg

Примечание:

В секции “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

silent-preview.jpg

Экран выключения системы:

splash_manager -c demo --steps=20 -t calculate_shutdown

shutdown-preview.jpg

Для проверки фоновой картинки консоли перейдите в неё нажав Ctrl+Alt+F1. Вернуться в оконный менеджер можно нажав Alt+F7.

verbose-preview.jpg

Пример 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

Перезагрузите компьютер чтобы увидеть результат.

grub-preview.jpg

Пример 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

Перезагрузите компьютер загрузив систему с флешки чтобы увидеть результат.

gfxboot.jpg

Пример 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

grub-txt-preview.jpg

Выводы

Как видите управление темами упрощено настолько, насколько это вообще возможно. Утилиты сами позаботятся о правильном масштабировании без искажений ваших изображений, подогнав размер и обрезав края в необходимых пропорциях. Созданные файлы настроек будут связаны с установленными пакетами: media-gfx/splashutils, sys-boot/grub и т.д., что гарантирует, что изображения и файлы настроек не останутся на диске после удаления пакетов. Для ускорения работы выполняются проверки исключающие повторные преобразование изображений. Единственным требованием для установки новых тем является наличие пакета media-gfx/imagemagick в системе. Поэтому темы были удалены из Calculate Linux Scratch, что вполне допустимо.

Мы будем признательны вам за помощь в улучшении качества перевода файла /etc/calculate/ini.env.example, а так же в локализации файла на другие языки.

Это отлично. Я, несомненно, сделаю видео!

весьма полезно .
Я вот снес emerge -C media-gfx/dm-themes-calculate
и фон экрана авторизации стал черный . где описывается какой должен быть цвет ?

а как выпилить всю красоту ? я удалил media-gfx/splash-themes-calculate-17 и media-gfx/splashutils-1.5.4.4-r7 но при обнове они снова хотят поставится - маска не помогает - они лезут - как сделать чтоб они не ставились.

Я вот снес emerge -C media-gfx/dm-themes-calculate
и фон экрана авторизации стал черный . где описывается какой должен быть цвет ?

Пока такой настройки нет.

а как выпилить всю красоту ? я удалил media-gfx/splash-themes-calculate-17 и media-gfx/splashutils-1.5.4.4-r7 но при обнове они снова хотят поставится - маска не помогает - они лезут - как сделать чтоб они не ставились.

Выполните equery d <пакет>, чтобы узнать какой пакет требует установки пакета. Для этого запрашиваемый пакет должен быть установлен.

Не работают silent и verbose. Кусок /var/log/messages:

Jul  1 15:35:02 calculate init[1]: Entering runlevel: 3
Jul  1 15:35:02 calculate /etc/init.d/fbcondecor[3737]: /etc/init.d/fbcondecor uses runscript, please convert to openrc-run.
Jul  1 15:35:02 calculate /etc/init.d/fbcondecor[3912]: Failed to set background image on tty2
Jul  1 15:35:02 calculate /etc/init.d/fbcondecor[3919]: Failed to set background image on tty3
Jul  1 15:35:02 calculate /etc/init.d/fbcondecor[3926]: Failed to set background image on tty4
Jul  1 15:35:02 calculate /etc/init.d/fbcondecor[3933]: Failed to set background image on tty5
Jul  1 15:35:02 calculate /etc/init.d/fbcondecor[3940]: Failed to set background image on tty6
Jul  1 15:35:02 calculate /etc/init.d/fbcondecor[3947]: Failed to set background image on tty7
Jul  1 15:35:02 calculate /etc/init.d/fbcondecor[3954]: Failed to set background image on tty8
Jul  1 15:35:02 calculate /etc/init.d/fbcondecor[3961]: Failed to set background image on tty9
Jul  1 15:35:02 calculate /etc/init.d/fbcondecor[3968]: Failed to set background image on tty10
Jul  1 15:35:02 calculate /etc/init.d/fbcondecor[3975]: Failed to set background image on tty11
Jul  1 15:35:02 calculate /etc/init.d/fbcondecor[3981]: Failed to set background image on tty12
Jul  1 15:35:02 calculate /etc/init.d/fbcondecor[3737]: ERROR: fbcondecor failed to start

А Вы можете приложить исходные изображения? Какое разрешение вы используете?

/etc/calculate/ini.env пишет, что “image preferred size is 4266x2048”, ну ок, сдедал я ему такую картинку. Но после сборки ISO большинство из jpg файлов в /run/calculate/mount/distros_CLDL_amd64_20/usr/share/wallpapers/Calculate_Linux/contents/images получаются обрезанные справа-слева вместо масштабирования. Есть ли возможность это как-то исправить? Вручную копировать все картинки нужного размер не очень то правильно.