51-desktop_autologin-m - подправил 52-desktop-m
▼Spoiler
52-desktop-m и 51-autologin объеденил. Рработает и в Росе и в Магее
Ввел переменные раб-стола и менеджера дисплея по дефолту в /usr/lib/magos/os-config
У меня стр. 154 :
#rc.preinit.d/52-desktop-m
DM_DEFAULT=sddm
DSK_DEFAULT=Plasma
Были проблемы с sddm. Для совместимости с МагОС в Магее исправил в /usr/share/xsessions :
01-plasma.desktop на plasma.desktop
В lxqt.desktop исправил Name=LXQt Desktop на Name=LXQT . Что мне кажется логичнее
53-language - исправил еще в магее 5 53-language-m
▼Spoiler
В Магее file:///etc/locale.conf такой :
▼Spoiler
LANGUAGE=ru_RU.UTF-8:ru
LANG=ru_RU.UTF-8
А этот вариант, если подключить логи для Магос,
▼Spoiler
LC_PAPER=ru_RU.UTF-8
LC_IDENTIFICATION=ru_RU.UTF-8
LC_NAME=ru_RU.UTF-8
LC_TIME=ru_RU.UTF-8
LANGUAGE=ru_RU.UTF-8:ru
LC_NUMERIC=ru_RU.UTF-8
LC_MESSAGES=ru_RU.UTF-8
LC_COLLATE=ru_RU.UTF-8
LANG=ru_RU.UTF-8
LC_MEASUREMENT=ru_RU.UTF-8
LC_MONETARY=ru_RU.UTF-8
LC_ADDRESS=ru_RU.UTF-8
SYSFONT=UniCyr_8x16
LC_TELEPHONE=ru_RU.UTF-8
LC_CTYPE=ru_RU.UTF-8
пишет ошибки в file:///var/log/magos/rc.preinit.log и в file:///var/log/magos/30-network.log.
Если не подключать логи для Магос, то все запускается, естественно, без ошибок
Переделал по магеевски в /usr/share/magos/langs ошибки исчезли. И 53-language работает.
Может сделал что то не так. Не буду спорить. Но оба скрипта, с моими изменениями, в Магее работают без ошибок.
Добавил функции :
20-services - 20-services-m
SERVICESNOSTART маскирует сервис, а мне надо было сервис просто не запускать. Что бы потом было легко запустить из системы
Теперь :
▼Spoiler
if [ -n "$SERVICES_START" ] ;then
for a in $(echo $SERVICES_START | tr , " ") ;do
if [ -x bin/systemd ] ;then
chroot . systemctl unmask $a.service
chroot . systemctl enable $a.service || chroot . chkconfig --add $a
else
chroot . chkconfig --add $a
fi
done
fi
if [ -n "$SERVICES_NOSTART" ] ;then
for a in $(echo $SERVICES_NOSTART | tr , " ") ;do
if [ -x bin/systemd ] ;then
chroot . systemctl disable $a.service || chroot . chkconfig --del $a
# chroot . systemctl mask $a.service
else
chroot . chkconfig --del $a
fi
done
fi
if [ -n "$SERVICES_MASK" ] ;then
for a in $(echo $SERVICES_MASK | tr , " ") ;do
if [ -x bin/systemd ] ;then
chroot . systemctl disable $a.service || chroot . chkconfig --del $a
chroot . systemctl mask $a.service
else
chroot . chkconfig --del $a
fi
done
fi
30-network - 30-network-m Добавил $HOSTNAME в etc/sysconfig/network
В Магее надо не только устанавливать hostname в file:///etc/hostname
Но и делать запись в file:///etc/sysconfig/network
▼Spoiler
HOSTNAME=magos
NETWORKING=yes
NETWORKING_IPV6=NO
CRDA_DOMAIN=RU
Иначе drakconnect будет работать с hostname=localhost.localdomain
По крайней мере drakconnect работает так. Разбирался опытным путем. Как то бедновата Магея на инфу.
50-xorg-m - код не поменян
Но формирует /etc/X11/xorg.conf только при harddrake=no (задается в меню)
при harddrake=yes /etc/X11/xorg.conf формирует Магея
rc.local.d/01-background-m добавил картинку на раб стол для магеи. По дефолту это просто картинка. Ну это дело вкуса
rc.post.d/11-xorg-m - Добавил формирование MODELINE
Теперь /etc/X11/xorg.conf.d/00-modes.conf :
▼Spoiler
Section "Monitor"
Identifier "monitor1"
# 1280x1024 59.89 Hz (CVT 1.31M4) hsync: 63.67 kHz; pclk: 109.00 MHz
Modeline "1280x1024_60.00" 109.00 1280 1368 1496 1712 1024 1027 1034 1063 -hsync -vsync
EndSection
Section "Screen"
Identifier "screen1"
Device "device1"
Monitor "monitor1"
SubSection "monitor1"
Modes "1280x1024"
EndSubSection
EndSection
И ваша MasgOS-Linux наконец то запустилась у меня с разрешением 1280x1024
А то запускалась c 1024x768 (видимо монитор не определялся)
И теперь я разрешение системы могу задать из меню параметром xres например:
xres=1280x1024
05-newkernel-rosa.xzm - последнее ядро 4.19.13-desktop-1.mga7 для Росы
Запускает и MagOS-Linux и даже, что странно, с uird сформированном в Магее
Уже пересобрал сборку и без ядра 4.9
Т к своп в ядре 4.19.13-desktop-1.mga7 уже работает.
Тут на Магея 7 запустил и начал сбоить 11-partitions-m
▼Spoiler
if [ "$TMPFS" == "no" ] ;then
ln -sf /dev/null etc/systemd/system/tmp.mount
fi
if [ "$VARTMPFS" = "no" -a -h var/tmp ] ;then
rm -f var/tmp 2>/dev/null
mkdir -m 1777 var/tmp
elif [ "$VARTMPFS" != "no" -a ! -h var/tmp ] ;then
rm -fr var/tmp 2>/dev/null
ln -s ../tmp var/tmp
fi
Оставил то что работает :
▼Spoiler
#Creating partitions in /etc/fstab
if [ "$TMPFS" == "no" ] ;then
echo "TMPFS == no" >> /var/log/magos/11-partitions.log
ln -sf /dev/null etc/systemd/system/tmp.mount
fi
1) Из новых сервисов /usr/lib/magos/scripts/AutoDesktop
▼Spoiler
Это настройки плазмы изначально были одни, а мне хотелось другие.
Как по дефолту поменять не понял. Вот и придумал при загрузке раб-стола записывать в $HOME другие настройки.
Ну и до кучи организовал загрузку значков приложений на раб-стол.
С этим в Росе получилась заминка.
Не получалось копирование значков по переменной в $HOME/user-dirs.dirs:
XDG_DESKTOP_DIR="$HOME/Рабочий стол"
Пишет, что нет такого адреса. Пришлось в русской локали поменять как в Магее :
XDG_DESKTOP_DIR="$HOME/Desktop"
Сервис спорный, но если нет в конфигах инфы о разрешении экрана то работает.
2) Сохранение сис-изменений в модуль :
/usr/lib/magos/rc.halt/80-savetomodule - подготовка режима записи
/usr/lib/magos/rc.halt/81-savetomodule-post - сам процесс записи
▼Spoiler
У меня сохранился еще первый режим - это запуск из системы
Путь и имя сохраняемого модуля задается в MagOS.ini
Включается режим записи :
Два режима Admin и User
Admin - модуль сохраняется в MagOS/base Это установка пакетов и работа под root
User - - модуль сохраняется в MagOS/modules Это вся остальная работа.
Если в загрузчике запущен HOME режимы (uird.mode=machines и uird.mode=changes)
То сохранение будет с логикой этих режимов
Для каждого режима свой фильтр в /usr/lib/magos/rc.desktop/FILTRES - для формирования модуля
Для uird.mode=machines свой филтр. И это отдельный режим
Только для uird.mode=changes ничего записывать не надо
Для него надо писать в MagOS.ini:
Долго думал что мне делать с первым режимом, раз есть уже uird.mode=machines и решил так :
Первый режим это настоечный.
Режим Linux-Admin (Вход как root) - системные настройки
Режим Linux-Admin (Вход как live) - настройки для пользователя
Режим HOME - это для непосредственной работы
Потом работаешь с uird.mode=machines. Если что не так то удалить модуль из /MagOS/machines/dynamic
А настройки заданные первым режимом останутся.
3) /usr/lib/magos/rc.preinit.d/06-sysflash
Вычисление адреса монтирования активной флэшки.
Необходимость этого скрипта связана тем, что у меня модульная Магея установлена и на жестком диске и на флэшке.
И система порою путалась в установленных Магосах и каждый раз разбираться какой МагОС активный как то хлопотно.
Сохраняется в /memory/etc/sysflash
4) Сюда же переместил /etc/sysconfig/MagOS в - /usr/lib/magos/rc.preinit/01-inifile-m
Теперь /etc/sysconfig/MagOS это ссылка на /memory/etc/MagOS
Необходимость правки связана с тем, что 81-savetomodule-post позволяет делать запись длительностью 20 мин.
И после 5 мин записи он уже не может найти в системе не только /etc/sysconfig/MagOS но и вроде все что дальше /memory, что само по себе не очень хорошо.
А папка /memory/etc всегда под рукой
Все измененные скрипты проверил на последней MagOS-Linux :
Это 89-magos-2 и 05-newkernel-rosa.xzm - https://cloud.mail.ru/public/3XHR/BNE2gtd6o