[devel] polkit without systemd
Mikhail Efremov
sem на altlinux.ru
Чт Окт 2 21:27:35 MSK 2014
On Fri, 26 Sep 2014 12:08:30 +0400 Mikhail Efremov wrote:
> On Tue, 23 Sep 2014 14:08:24 +0400 Mikhail Efremov wrote:
> > On Mon, 22 Sep 2014 13:40:28 +0400 Mikhail Efremov wrote:
> > > On Fri, 19 Sep 2014 23:15:22 +0400 Alexey Shabalin wrote:
> > > > 19 сентября 2014 г., 18:51 пользователь Mikhail Efremov
> > > > > Нет, при более внимательном рассмотрении там все плохо.
> > > > > В systemd-logind слишком много завязано на сам systemd.
> > > > > Не найдя dbus-интерфейс systemd он даже не запустится, да и
> > > > > потом он обращается к systemd при логине пользователя для
> > > > > манипуляций с cgroups, а также для выполнения shutdown/sleep.
> > > > > Надо подумать, можно ли с этим что-то сделать.
> > > > > К тому же, не знаю как с остальными демонами из
> > > > > systemd-services, но для logind dbus-активация - плохая идея.
> > > > > Как минимум в Xfce есть патчи, проверяющие наличие
> > > > > dbus-интерфейса logind. Если при этом logind вдруг запустится,
> > > > > но выполнять все, что от него ожидается, не сможет (тот же
> > > > > shutdown/sleep), то это просто перестанет работать. Предлагаю
> > > > > убрать dbus-активацию для logind и вернуть проверку на
> > > > > запущенный logind в pam_systemd, а если удастся-таки как-то
> > > > > заставить его работать без systemd - написать для него честный
> > > > > инит-скрипт.
> > > >
> > > > Да, у меня эксперименты тоже не удались. Просторы интернета
> > > > подсказали про systemd-shim. Будем пробовать или откатывать все
> > > > изменения?
> > >
> > > Можно попробовать. Только я бы, прежде чем этот systemd-shim
> > > собирать, почитал бы его хорошенько. Надо понять, насколько хорошо
> > > он прикидывается systemd. Потенциально возможны проблемы, если
> > > кто-то обнаружит dbus-интерфейс systemd и захочет от systemd-shim
> > > чего-то такого, чего тот не умеет.
> >
> > Я, собственно, начал его неспешно собирать. Как соберу - расскажу что
> > получилось.
>
> У меня это даже как-то заработало. В Сизиф пока не отправляю, там надо
> еще немного попилить.
> Но в целом выглядит вполне рабочим вариантом.
Отправил в Сизиф как есть, желающие могут поиграться. Нормально оно не
работает, но кое-что позволяет.
В частности не рекомендую использовать на Xfce, как минимум
shutdown/sleep отвалятся (как я и говорил dbus-активация для
systemd-logind - зло).
- systemd-machined должен быть запущен (собственно важно существование
каталога /run/systemd/machines/).
- systemd-inhibit хорошо бы паковать вместе с systemd-logind.
- основная проблема: loginctl show-user показывает, что State=opening.
Из-за этого polkit много чего не разрешает. Видимо logind ждет, что
systemd-shim сделает что-то, чего тот не умеет. Закрытие сеанса тоже
не работает.
--
WBR, Mikhail Efremov
Подробная информация о списке рассылки Devel