[devel] polkit without systemd
Alexey Shabalin
a.shabalin на gmail.com
Пн Сен 1 17:02:42 MSK 2014
День добрый.
После миграции polkit с ConsoleKit на logind(часть systemd), некоторые
популярные DE требуют перехода на systemd. При работе под SysV могут
наблюдаться различные проблемы.
Объезд некоторых проблем описан тут: http://www.altlinux.org/Sysvinit
Для полноценной работы возможные 2 варианта:
1) вернуть поддержку CK в polkit, и обеспечить выбор между CK и logind в runtime
патч существует:
https://bugs.freedesktop.org/show_bug.cgi?id=63504
2) обеспечить работу logind под SysV
- вместо прямого запуска systemd-logind запускать скрипт systemd-logind-launch:
--------------------
if ! mountpoint -q /sys/fs/cgroup; then
mount -t tmpfs -o uid=0,gid=0,mode=0755 none /sys/fs/cgroup
fi
if ! mountpoint -q /sys/fs/cgroup/systemd; then
mkdir -p /sys/fs/cgroup/systemd
mount -t cgroup -o nosuid,noexec,nodev,none,name=systemd systemd
/sys/fs/cgroup/systemd
fi
mkdir -p /run/systemd
exec /lib/systemd/systemd-logind
------------------------
- в этом скрипте,при монтировании /sys/fs/cgroup,
/sys/fs/cgroup/systemd, мы обманываем logind, как будто он работает
под systemd. Но из этого обмана надо исключить тех, кого мы обманывать
не хотим - service, chkconfig
service использует утилиту sd_booted. её лучше переписать, и научить
использовать функцию sd_booted из libsystemd (например так
http://git.pld-linux.org/?p=packages/systemd.git;a=blob;f=systemd_booted.c)
Или я могу в systemd-utils положить эту утилиту systemd_booted и
переключиться на её использование.
Аналогично надо поправить chkconfig.
У кого есть какие предложения, пожелания, возражения?
--
Alexey Shabalin
Подробная информация о списке рассылки Devel