Автор Тема: Замена системы инициализации systemd на sysvinit  (Прочитано 11334 раз)

Оффлайн Speccyfighter

  • Мастер
  • ***
  • Сообщений: 10 259
Может, повторить эксперимент уже над SL 7.0.5?

Не, я щас в регулярку ударился.

Оффлайн Speccyfighter

  • Мастер
  • ***
  • Сообщений: 10 259
Так, заметки на полях, шоб не забылось.

Регулярку посчитал более приоритетной чем p7 - на носу p8

Образ для обкатки лайвом:
http://fly.osdn.org.ua/~mike/iso/sysvinit/
http://fly.osdn.org.ua/~mike/iso/sysvinit/regular-xfce-sysv-20150511-i586.iso

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

# adduser tester
# passwd tester
# gpasswd -a tester xgrp
# groups tester
tester : tester xgrp
# groups altlinux
altlinux : altlinux wheel uucp proc cdwriter audio radio users scanner xgrp netadmin fuse
# cat /etc/polkit-1/rules.d/
50-default.rules               60-xfsm-shutdown-helper.rules

Рулез для xfsm-shutdown-helper - ака опция меню xfce Выйти:
# cat /etc/polkit-1/rules.d/60-xfsm-shutdown-helper.rules
polkit.addRule(function(action, subject) {
    if (action.id == "org.xfce.session.xfsm-shutdown-helper"  && subject.isInGroup("xgrp") )
    {
    return polkit.Result.YES;
    }
});

Взято из:
# cat /usr/share/polkit-1/actions/org.xfce.session.policy
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE policyconfig PUBLIC
 "-//freedesktop//DTD PolicyKit Policy Configuration 1.0//EN"
 "http://www.freedesktop.org/standards/PolicyKit/1.0/policyconfig.dtd">
<policyconfig>

 

  <vendor>XFCE Session Manager</vendor>
  <vendor_url>http://xfce.org/</vendor_url>
  <icon_name>xfce4-session</icon_name>


  <action id="org.xfce.session.xfsm-shutdown-helper">
   
    <description>Shutdown, restart, suspend, or hibernate the system</description>
    <message>Authentication is required to shutdown, restart, suspend, or hibernate the system.</message>
    <defaults>
      <allow_any>auth_admin</allow_any>
      <allow_inactive>auth_admin</allow_inactive>
      <allow_active>yes</allow_active>
    </defaults>
    <annotate key="org.freedesktop.policykit.exec.path">/usr/lib/xfce4/session/xfsm-shutdown-helper</annotate>
  </action>

# rpm -qf  /usr/share/polkit-1/actions/org.xfce.session.policy
xfce4-session-4.12.1-alt1

поскольку 'active = TRUE' для id=500
$ ck-list-sessions
Session10:
unix-user = '500'
realname = '(null)'
seat = 'Seat1'
session-type = ''
active = TRUE
x11-display = ':20'
x11-display-device = '/dev/tty9'
display-device = ''
remote-host-name = ''
is-local = TRUE
on-since = '2015-06-15T08:55:10.713854Z'
login-session-id = '6'
Session2:
unix-user = '0'
realname = 'System Administrator'
seat = 'Seat1'
session-type = ''
active = FALSE
x11-display = ''
x11-display-device = ''
display-device = '/dev/tty5'
remote-host-name = ''
is-local = TRUE
on-since = '2015-06-15T10:18:42.837170Z'
login-session-id = '2'
idle-since-hint = '2015-06-15T08:48:29.327492Z'
Session9:
unix-user = '501'
realname = '(null)'
seat = 'Seat1'
session-type = ''
active = FALSE
x11-display = ':0'
x11-display-device = '/dev/tty8'
display-device = ''
remote-host-name = ''
is-local = TRUE
on-since = '2015-06-15T08:43:05.898938Z'
login-session-id = '5'
не обрабатывается,
несмотря на то что в /usr/share/polkit-1/actions/org.xfce.session.policy прямо указано:
      <allow_active>yes</allow_active>

Поэтому из-за systemd vs sysvinit, xfsm-shutdown-helper приходится на ситемах с sysv подпирать рулезом, и в сизифе, ака будущий p8, оказывается это возможно.
(Вот бы ещё хак какой-нибудь, чтобы автоматом при создании нового пользователя, добавлял его в группу xgrp)

И..., - спячка в память в регулярном лайве заработала у обоих пользователей.
От-теперь через /usr/lib/xfce4/session/xfsm-shutdown-helper всё культурно, - без всяких wheel.
Но это в сизифе - будущем p8/branch.

Оффлайн ASte

  • Мастер
  • ***
  • Сообщений: 1 549
Speccyfighter
А что на этой  сборке получается с 3g модемами?
Удалось заставить работать?

dango

  • Гость
http://fly.osdn.org.ua/~mike/iso/sysvinit/regular-xfce-sysv-20150511-i586.iso
Ага, Михаил не забывает про альтернативы.
не обрабатывается,
На сессиях я и завис. Кстати, давно хотел спросить, группа xgrp это чисто альтовская придумка?
Поэтому из-за systemd vs sysvinit, xfsm-shutdown-helper приходится на ситемах с sysv подпирать рулезом, и в сизифе, ака будущий p8, оказывается это возможно.
Спасибо. Проверю при случае.
(Вот бы ещё хак какой-нибудь, чтобы автоматом при создании нового пользователя, добавлял его в группу xgrp)
Вроде сценарий должен быть. А вообще с Михаилом надо посоветоваться.

Оффлайн Speccyfighter

  • Мастер
  • ***
  • Сообщений: 10 259
Внетемное, но возможно кому-то полезное:

Разблокировать виртуальный терминал vt1 в регулярном образе Михаила:

Смотрим:
# sed -n '55p' /etc/inittab
1:234:respawn:/sbin/mingetty --noclear tty1

Делаем:
# sed -i 's/1:234/1:2345/' /etc/inittab

Смотрим:
# sed -n '55p' /etc/inittab
1:2345:respawn:/sbin/mingetty --noclear tty1

dango

  • Гость
Гуд. Классику на родину!

Оффлайн Speccyfighter

  • Мастер
  • ***
  • Сообщений: 10 259
Поэтому из-за systemd vs sysvinit, xfsm-shutdown-helper приходится на ситемах с sysv подпирать рулезом, и в сизифе, ака будущий p8, оказывается это возможно.
Спасибо. Проверю при случае.

Там только надо учитывать, что в xfce 4.10 нет полиси на сессию, а в 4.12 полиси есть:
# chroot  /run/там в xfce-4.10 t7

# rpm -ql xfce4-session|grep polkit
/etc/xdg/autostart/polkit-gnome-authentication-agent-1-xfce.desktop

# exit # назад в сизифный 4.12

# rpm -ql xfce4-session|grep polkit
/etc/xdg/autostart/polkit-gnome-authentication-agent-1-xfce.desktop
/usr/share/polkit-1/actions/org.xfce.session.policy

# ll /usr/share/polkit-1/actions/org.xfce.session.policy
-rw-r--r-- 1 root root 895 мар 16 18:49 /usr/share/polkit-1/actions/org.xfce.session.policy

Собственно само полиси:
# cat /usr/share/polkit-1/actions/org.xfce.session.policy
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE policyconfig PUBLIC
 "-//freedesktop//DTD PolicyKit Policy Configuration 1.0//EN"
 "http://www.freedesktop.org/standards/PolicyKit/1.0/policyconfig.dtd">
<policyconfig>

 

  <vendor>XFCE Session Manager</vendor>
  <vendor_url>http://xfce.org/</vendor_url>
  <icon_name>xfce4-session</icon_name>


  <action id="org.xfce.session.xfsm-shutdown-helper">
   
    <description>Shutdown, restart, suspend, or hibernate the system</description>
    <message>Authentication is required to shutdown, restart, suspend, or hibernate the system.</message>
    <defaults>
      <allow_any>auth_admin</allow_any>
      <allow_inactive>auth_admin</allow_inactive>
      <allow_active>yes</allow_active>
    </defaults>
    <annotate key="org.freedesktop.policykit.exec.path">/usr/lib/xfce4/session/xfsm-shutdown-helper</annotate>
  </action>


Там вот такая кухня:
                       |                       |      +---------------------+
                       V                       +----> | libpolkit-gobject-1 |
               +------------------+                   +---------------------+
               |    polkitd(8)    |
               +------------------+
               | org.freedesktop. |
               |    PolicyKit1    |<---------+
               +------------------+          |
                         ^                   |
                         |            +--------------------------------------+
                         |            | /usr/share/polkit-1/actions/*.policy |
                         |            +--------------------------------------+
                         |
                  +--------------------------------------+
                  | /etc/polkit-1/rules.d/*.rules        |
                  | /usr/share/polkit-1/rules.d/*.rules  |
                  +--------------------------------------+


У меня сейчас носителя свободного нет проверить.


Кстати, давно хотел спросить, группа xgrp это чисто альтовская придумка?

Не-а :)
xgrp упоминается на корейской вики в ABS Guide в версии от 2001-го года на том самом корейском языке.
« Последнее редактирование: 15.06.2015 15:12:21 от Speccyfighter »

Оффлайн gvy

  • alt linux team
  • ***
  • Сообщений: 1 008
    • Альт на Эльбрусе
    • Email
хотя CK до сих пор в сизифе
Xfce-шники пилят ConsoleKit2, sem@ в курсе (от него и узнал).
--
Michael Shigorin | ALT Linux Team | ANNA-News | Сделано у нас | altlinux.org/эльбрус

Оффлайн Speccyfighter

  • Мастер
  • ***
  • Сообщений: 10 259
Резюмируем:
http://forum.altlinux.org/index.php/topic,34428.msg256915.html#msg256915
Подведение итогов повторным тест-контролем с пересозданием файловой профиля регулярного лайва с xfce на sysvinit
Обкатка шла на уровне загруженного лайва с низкоскоростного microSDHC на кардридере.
Образ базируется на сизифе указанной даты, - будущем p8/branch

Ждущий режим для непривилегированного пользователя
в образе

http://fly.osdn.org.ua/~mike/iso/sysvinit/regular-xfce-sysv-20150511-i586.iso

Последовательность действий:

Создаём непривилегированного пользователя и добавляем его в группу xgrp
# adduser tester
# passwd tester
# gpasswd -a tester xgrp

Все пользователи зарегистрированные в системе должны быть в группе xgrp (см. рулез ниже)
# groups tester altlinux
tester : tester xgrp
altlinux : altlinux wheel uucp proc cdwriter audio radio users scanner xgrp netadmin fuse

Создаём файл для рулеза
# touch /etc/polkit-1/rules.d/60-xfsm-shutdown-helper.rules

и вызываем его на редактирование,
# mcedit /etc/polkit-1/rules.d/60-xfsm-shutdown-helper.rules

добавляем содержимое
polkit.addRule(function(action, subject) {
    if (action.id == "org.xfce.session.xfsm-shutdown-helper"  && subject.isInGroup("xgrp") )
    {
    return polkit.Result.YES;
    }
});


В ALTLinux Control Center (Центр Управления ALT Linux) настроить сетевой интерфейс
Обновить локальную базу пакетов:
# apt-get update

Установить пакет pm-utils:
# apt-get install pm-utils

После этой последовательности действий, ждущий режим (Уснуть в память) у непривилегированного пользователя tester начинает работать сразу без перезагрузки лайва.

Правило в sudoers становится не нужным:
# cat /etc/sudoers|tail -n 1
altlinux ALL=(ALL) ALL


ИМХОвое:
Пока ситуация с ConsoleKit не устаканилась, настоятельно рекомендуется добавить рулез /etc/polkit-1/rules.d/60-xfsm-shutdown-helper.rules и пакет pm-utils в образ
http://fly.osdn.org.ua/~mike/iso/sysvinit/regular-xfce-sysv-20150511-i586.iso

Также из пакета
$ rpm2cpio polkit-sysvinit-0.1-alt1.src.rpm | cpio -idmv
60-sysvinit-mount.rules
60-sysvinit-nm.rules
polkit-sysvinit.spec
4 блоков
Ссылку на пакет смотри тут:
http://forum.altlinux.org/index.php/topic,34428.msg251558.html#msg251558

В упомянутый образ рекомендуется добавить рулез
$ cat 60-sysvinit-mount.rules
polkit.addRule(function(action, subject) {
    if (  ( action.id == "org.freedesktop.udisks2.filesystem-mount" || action.id == "org.freedesktop.udisks2.filesystem-mount-system" || action.id == "org.freedesktop.udisks2.filesystem-mount-system-internal" ) && subject.isInGroup("xgrp")   )
    {
return polkit.Result.YES;
    }
});

polkit.addRule(function(action, subject) {
    if (action.id == "org.freedesktop.udisks2.eject-media"  && subject.isInGroup("xgrp") )
    {
return polkit.Result.YES;
    }
});


В упомянутом образе, рулез 60-sysvinit-nm.rules из пакета polkit-sysvinit-0.1-alt1.src.rpm не нужен, поскольку сетевое соединение в рассматриваемом образе настраивается через etcnet, а не NetworkManager
Сделать up или down можно через скрипты /etc/net/scripts/*


Личная просьба:
Добавить в рассматриваемый образ, как кандидат в стартеркиты, также пакеты bc, elinks и mpg123


Некоторые заметки об этом образе:
- cpufreq на ноутбуке HP Compaq NX6110 поддерживается из коробки
- регулировка яркости дисплея на ноутбуке HP Compaq NX6110 поддерживается из коробки
- гостевой просмотр содержимого самба-ресурсов через thunar поддерживается из коробки
- на панели отсутствуют:
индикатор раскладки клавиатуры и регулятор громкости
(опционально добавляются на панель: ПКМ - Панель - Добавить новые элементы)
- двухпальцевый вертикальный скролл и даблклик по тачпаду поддерживается изкоробочно
- для горизонтального скрола по тачпаду, раскомментировать одну из строк Option:
# grep -i horiz $(rpm -ql xorg-conf-synaptics)
# Enable horizontal scrolling when dragging along the bottom edge
#Option "HorizEdgeScroll" "on"
# Enable horizontal scrolling when dragging with two fingers anywhere on the touchpad
#Option "HorizTwoFingerScroll" "on"
в файле
/etc/X11/xorg.conf.d/20-synaptics.conf
и рестартовать X-сервер.
Первая опция - однопальцевый горизонтальный скролл в нижней зоне тачпада.
Вторая опция - двухпальцевый горизонтальный скролл по всей зоне тачпада.
Или настроить через меню: Меню - Настройки - Мышь и тачпад

Для устранения зависания на перезагрузке на ноутбуках HP Compaq NX6110/NX6120, крайне рекомендуется передавать ядру опцию=параметр
reboot=bios
« Последнее редактирование: 16.06.2015 16:20:53 от Speccyfighter »

Оффлайн gvy

  • alt linux team
  • ***
  • Сообщений: 1 008
    • Альт на Эльбрусе
    • Email
/etc/polkit-1/rules.d/60-xfsm-shutdown-helper.rules
Добавил в polkit-sysvinit 0.2-alt1.

Правило в sudoers становится не нужным:
Оймама, а ведь это дырка -- надо его вычищать при установке, спасибо.

Ссылку на пакет смотри тут:
polkit-sysvinit после умеренно тяжких размышлений (sem@ не нравится, но вариантов других не придумали) отправлен в сизиф.

Добавить [...] пакеты bc, elinks и mpg123
Принято.

http://fly.osdn.org.ua/~mike/iso/sysvinit/regular-xfce-sysv-20150616-i586.iso
--
Michael Shigorin | ALT Linux Team | ANNA-News | Сделано у нас | altlinux.org/эльбрус

Оффлайн Speccyfighter

  • Мастер
  • ***
  • Сообщений: 10 259
http://fly.osdn.org.ua/~mike/iso/sysvinit/regular-xfce-sysv-20150616-i586.iso

На старте этого лайва на синем фоне сыпет ошибками очень много и с отсутствием форматирования.
Ну что-то вот так, больше глаз не успевает увидеть:
process '/lib/initrd/filters/netdev' failed with exit code 2
process '/lib/initrd/filters/mountdev' failed with exit code 2
process '/lib/initrd/filters/resume' failed with exit code 2
logger: socket /dev/log: no such file or directory
logger: socket /dev/log: no such file or directory
logger: socket /dev/log: no such file or directory
до появления
Spawning ... init done
Дальше загрузка идёт нормально

Далее:

В сборке regular-xfce-sysv-20150616-i586 оказалась сломанной регулировка яркости дисплея которая висит на fn+F9 fn+F10. И работает на максимальной яркости.
Командой работает, и на хоткеи можно повесить, но неприятно когда сломано.
Дефолтная яркость при acpi_backlight=vendor - можно выставить вручную:
$ xrandr --output  $(xrandr |grep ' connected'|cut -f 1 -d ' ')  --set Backlight 2378617

Максимальная яркость (2749155)
$ xrandr --output  $(xrandr |grep ' connected'|cut -f 1 -d ' ')  \
--set Backlight $(cat /sys/class/backlight/intel_backlight/max_brightness )

При acpi_backlight=vendor
$ cat /sys/class/backlight/intel_backlight/actual_brightness
2378617

Ядро в сборке regular-xfce-sysv-20150616-i586:
$ uname -r
4.0.5-un-def-alt1

Упс-с!!!, - в от 20150511 с работавшей регулировкой яркости:
# mount /run/media/altlinux/там/Downloads/regular-xfce-sysv-20150511-i586.iso /mnt/disk/ -o loop
# mount /mnt/disk/live /mnt/disk2 -o loop
# ls /mnt/disk2/lib/modules/
3.14.41-std-def-alt1

А можно срочно пересобрать сборку чтобы вернуть ядро 3.14.41-std-def-alt1 "на базу"?
« Последнее редактирование: 16.06.2015 22:53:45 от Speccyfighter »

Оффлайн gvy

  • alt linux team
  • ***
  • Сообщений: 1 008
    • Альт на Эльбрусе
    • Email
process '/lib/initrd/filters/resume' failed with exit code 2
https://bugzilla.altlinux.org/31069

logger: socket /dev/log: no such file or directory
https://bugzilla.altlinux.org/31070


В сборке regular-xfce-sysv-20150616-i586 оказалась сломанной регулировка яркости дисплея которая висит на fn+F9 fn+F10.
А если поставить ядро std-def, в нём опять работает? (я там на un-def поменял, чтоб был выбор вариантов с regular-xfce)

А можно срочно пересобрать сборку чтобы вернуть ядро 3.14.41-std-def-alt1 "на базу"?
Да: http://fly.osdn.org.ua/~mike/iso/sysvinit/regular-xfce-sysv-20150617-i586.iso
--
Michael Shigorin | ALT Linux Team | ANNA-News | Сделано у нас | altlinux.org/эльбрус

Оффлайн Speccyfighter

  • Мастер
  • ***
  • Сообщений: 10 259
В сборке regular-xfce-sysv-20150616-i586 оказалась сломанной регулировка яркости дисплея которая висит на fn+F9 fn+F10.
А если поставить ядро std-def, в нём опять работает? (я там на un-def поменял, чтоб был выбор вариантов с regular-xfce)

С miniSDHC не смог установить на usb-hdd - аварийный останов на этапе установки системы:
5/10: Установка системы
Критическая ошибка
]]]]]]]]]]]]        5%
Can't remount destination filesystems

Дважды повторял, - на 5-ти - 7-ми процентах то же самое.

Оффлайн gvy

  • alt linux team
  • ***
  • Сообщений: 1 008
    • Альт на Эльбрусе
    • Email
Это про 20150616 (un-def) или 20150617 (std-def)?
--
Michael Shigorin | ALT Linux Team | ANNA-News | Сделано у нас | altlinux.org/эльбрус

Оффлайн Speccyfighter

  • Мастер
  • ***
  • Сообщений: 10 259
Это про 20150616 (un-def) или 20150617 (std-def)?

Ночью проверил и там и там:
это про возможность беспроблемной загрузки лайва с microSDHC Kingston через кардридер Transcend, но невозможность установки с него.
С usb-flash Kingston с установкой всё нормально.