* [devel] polkit without systemd
@ 2014-09-01 13:02 Alexey Shabalin
2014-09-01 14:28 ` Денис Смирнов
2014-09-01 16:21 ` Dmitry V. Levin
0 siblings, 2 replies; 13+ messages in thread
From: Alexey Shabalin @ 2014-09-01 13:02 UTC (permalink / raw)
To: Dmitry V. Levin, ALT Linux Team development discussions
День добрый.
После миграции 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
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [devel] polkit without systemd
2014-09-01 13:02 [devel] polkit without systemd Alexey Shabalin
@ 2014-09-01 14:28 ` Денис Смирнов
2014-09-02 12:45 ` Mikhail Efremov
2014-09-01 16:21 ` Dmitry V. Levin
1 sibling, 1 reply; 13+ messages in thread
From: Денис Смирнов @ 2014-09-01 14:28 UTC (permalink / raw)
To: devel
[-- Attachment #1: Type: text/plain, Size: 1404 bytes --]
On Mon, Sep 01, 2014 at 05:02:42PM +0400, Alexey Shabalin wrote:
> 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.
> У кого есть какие предложения, пожелания, возражения?
--
С уважением, Денис
http://mithraen.ru/
[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 181 bytes --]
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [devel] polkit without systemd
2014-09-01 13:02 [devel] polkit without systemd Alexey Shabalin
2014-09-01 14:28 ` Денис Смирнов
@ 2014-09-01 16:21 ` Dmitry V. Levin
2014-09-01 16:45 ` Alexey Shabalin
1 sibling, 1 reply; 13+ messages in thread
From: Dmitry V. Levin @ 2014-09-01 16:21 UTC (permalink / raw)
To: ALT Linux Team development discussions
[-- Attachment #1: Type: text/plain, Size: 1365 bytes --]
On Mon, Sep 01, 2014 at 05:02:42PM +0400, Alexey Shabalin wrote:
> - вместо прямого запуска 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
Проверьте, все ли здесь правильно с правами.
Скорее всего, 0755 на /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)
После коммита
http://cgit.freedesktop.org/systemd/systemd/commit/?id=v198-67-g66e4118
в функции sd_booted из libsystemd осталась только одна проверка:
test -d /run/systemd/system/
Наверное, мы тоже можем так сделать.
--
ldv
[-- Attachment #2: Type: application/pgp-signature, Size: 181 bytes --]
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [devel] polkit without systemd
2014-09-01 16:21 ` Dmitry V. Levin
@ 2014-09-01 16:45 ` Alexey Shabalin
2014-09-01 17:08 ` Dmitry V. Levin
0 siblings, 1 reply; 13+ messages in thread
From: Alexey Shabalin @ 2014-09-01 16:45 UTC (permalink / raw)
To: ALT Linux Team development discussions
1 сентября 2014 г., 20:21 пользователь Dmitry V. Levin
<ldv@altlinux.org> написал:
> On Mon, Sep 01, 2014 at 05:02:42PM +0400, Alexey Shabalin wrote:
>> - вместо прямого запуска 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
>
> Проверьте, все ли здесь правильно с правами.
> Скорее всего, 0755 на /run/systemd - это неправильно.
# mount| grep /sys/fs/cgroup
tmpfs on /sys/fs/cgroup type tmpfs (ro,nosuid,nodev,noexec,mode=755)
cgroup on /sys/fs/cgroup/systemd type cgroup
(rw,nosuid,nodev,noexec,relatime,xattr,release_agent=/lib/systemd/systemd-cgroups-agent,name=systemd)
cgroup on /sys/fs/cgroup/cpuset type cgroup
(rw,nosuid,nodev,noexec,relatime,cpuset)
в mount-setup.c это определено так:
{ "tmpfs", "/sys/fs/cgroup", "tmpfs",
"mode=755", MS_NOSUID|MS_NOEXEC|MS_NODEV|MS_STRICTATIME,
NULL, MNT_FATAL|MNT_IN_CONTAINER },
>> 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)
>
> После коммита
> http://cgit.freedesktop.org/systemd/systemd/commit/?id=v198-67-g66e4118
> в функции sd_booted из libsystemd осталась только одна проверка:
> test -d /run/systemd/system/
> Наверное, мы тоже можем так сделать.
В общем я это и имел ввиду, проверять только /run/systemd/system.
Только вдруг это изменится в будущем, поэтому и предложил линковаться
с libsystemd.
--
Alexey Shabalin
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [devel] polkit without systemd
2014-09-01 16:45 ` Alexey Shabalin
@ 2014-09-01 17:08 ` Dmitry V. Levin
2014-09-01 17:20 ` Alexey Shabalin
0 siblings, 1 reply; 13+ messages in thread
From: Dmitry V. Levin @ 2014-09-01 17:08 UTC (permalink / raw)
To: ALT Linux Team development discussions
[-- Attachment #1: Type: text/plain, Size: 2443 bytes --]
On Mon, Sep 01, 2014 at 08:45:51PM +0400, Alexey Shabalin wrote:
> 1 сентября 2014 г., 20:21 пользователь Dmitry V. Levin
> <ldv@altlinux.org> написал:
> > On Mon, Sep 01, 2014 at 05:02:42PM +0400, Alexey Shabalin wrote:
> >> - вместо прямого запуска 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
> >
> > Проверьте, все ли здесь правильно с правами.
> > Скорее всего, 0755 на /run/systemd - это неправильно.
>
> # mount| grep /sys/fs/cgroup
> tmpfs on /sys/fs/cgroup type tmpfs (ro,nosuid,nodev,noexec,mode=755)
> cgroup on /sys/fs/cgroup/systemd type cgroup
> (rw,nosuid,nodev,noexec,relatime,xattr,release_agent=/lib/systemd/systemd-cgroups-agent,name=systemd)
> cgroup on /sys/fs/cgroup/cpuset type cgroup
> (rw,nosuid,nodev,noexec,relatime,cpuset)
>
> в mount-setup.c это определено так:
>
> { "tmpfs", "/sys/fs/cgroup", "tmpfs",
> "mode=755", MS_NOSUID|MS_NOEXEC|MS_NODEV|MS_STRICTATIME,
> NULL, MNT_FATAL|MNT_IN_CONTAINER },
А какие права должны быть у /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)
> >
> > После коммита
> > http://cgit.freedesktop.org/systemd/systemd/commit/?id=v198-67-g66e4118
> > в функции sd_booted из libsystemd осталась только одна проверка:
> > test -d /run/systemd/system/
> > Наверное, мы тоже можем так сделать.
> В общем я это и имел ввиду, проверять только /run/systemd/system.
> Только вдруг это изменится в будущем, поэтому и предложил линковаться
> с libsystemd.
Не хочу линковаться с libsystemd. :)
--
ldv
[-- Attachment #2: Type: application/pgp-signature, Size: 181 bytes --]
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [devel] polkit without systemd
2014-09-01 17:08 ` Dmitry V. Levin
@ 2014-09-01 17:20 ` Alexey Shabalin
0 siblings, 0 replies; 13+ messages in thread
From: Alexey Shabalin @ 2014-09-01 17:20 UTC (permalink / raw)
To: ALT Linux Team development discussions
1 сентября 2014 г., 21:08 пользователь Dmitry V. Levin
<ldv@altlinux.org> написал:
> On Mon, Sep 01, 2014 at 08:45:51PM +0400, Alexey Shabalin wrote:
>> 1 сентября 2014 г., 20:21 пользователь Dmitry V. Levin
>> <ldv@altlinux.org> написал:
>> > On Mon, Sep 01, 2014 at 05:02:42PM +0400, Alexey Shabalin wrote:
>> >> - вместо прямого запуска 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
>> >
>> > Проверьте, все ли здесь правильно с правами.
>> > Скорее всего, 0755 на /run/systemd - это неправильно.
>>
>> # mount| grep /sys/fs/cgroup
>> tmpfs on /sys/fs/cgroup type tmpfs (ro,nosuid,nodev,noexec,mode=755)
>> cgroup on /sys/fs/cgroup/systemd type cgroup
>> (rw,nosuid,nodev,noexec,relatime,xattr,release_agent=/lib/systemd/systemd-cgroups-agent,name=systemd)
>> cgroup on /sys/fs/cgroup/cpuset type cgroup
>> (rw,nosuid,nodev,noexec,relatime,cpuset)
>>
>> в mount-setup.c это определено так:
>>
>> { "tmpfs", "/sys/fs/cgroup", "tmpfs",
>> "mode=755", MS_NOSUID|MS_NOEXEC|MS_NODEV|MS_STRICTATIME,
>> NULL, MNT_FATAL|MNT_IN_CONTAINER },
>
> А какие права должны быть у /run/systemd?
Извиняюсь, не то прислал.
вот в mount-setup.c:
/* Create a few directories we always want around, Note that
* sd_booted() checks for /run/systemd/system, so this mkdir
* really needs to stay for good, otherwise software that
* copied sd-daemon.c into their sources will misdetect
* systemd. */
mkdir_label("/run/systemd", 0755);
mkdir_label("/run/systemd/system", 0755);
mkdir_label("/run/systemd/inaccessible", 0000);
а что смущает? какие должны быть?
>> >> 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)
>> >
>> > После коммита
>> > http://cgit.freedesktop.org/systemd/systemd/commit/?id=v198-67-g66e4118
>> > в функции sd_booted из libsystemd осталась только одна проверка:
>> > test -d /run/systemd/system/
>> > Наверное, мы тоже можем так сделать.
>> В общем я это и имел ввиду, проверять только /run/systemd/system.
>> Только вдруг это изменится в будущем, поэтому и предложил линковаться
>> с libsystemd.
>
> Не хочу линковаться с libsystemd. :)
>
>
> --
> ldv
>
> _______________________________________________
> Devel mailing list
> Devel@lists.altlinux.org
> https://lists.altlinux.org/mailman/listinfo/devel
--
Alexey Shabalin
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [devel] polkit without systemd
2014-09-01 14:28 ` Денис Смирнов
@ 2014-09-02 12:45 ` Mikhail Efremov
2014-09-19 14:51 ` Mikhail Efremov
0 siblings, 1 reply; 13+ messages in thread
From: Mikhail Efremov @ 2014-09-02 12:45 UTC (permalink / raw)
To: devel
On Mon, 1 Sep 2014 18:28:16 +0400 Денис Смирнов wrote:
> On Mon, Sep 01, 2014 at 05:02:42PM +0400, Alexey Shabalin wrote:
>
> > 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
> > ------------------------
>
> Этот вариант лучше, чем что-либо патчить.
Да, CK в любом случае мертв, насколько я понимаю.
Я так и не собрался посмотреть подробнее, но при беглом взгляде похоже,
что может сработать.
Правда нет гарантии, что апстрим systemd все не сломает. Хотя commit
message из 79d860fe78ff9e53fe3150fb55a8a8b03c4f6470, например, внушает
надежду:
It is possible to build systemd without logind or run logind without systemd
init.
Тут хоть признается, что запуск logind без systemd возможен.
--
WBR, Mikhail Efremov
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [devel] polkit without systemd
2014-09-02 12:45 ` Mikhail Efremov
@ 2014-09-19 14:51 ` Mikhail Efremov
2014-09-19 19:15 ` Alexey Shabalin
0 siblings, 1 reply; 13+ messages in thread
From: Mikhail Efremov @ 2014-09-19 14:51 UTC (permalink / raw)
To: devel
On Tue, 2 Sep 2014 16:45:07 +0400 Mikhail Efremov wrote:
> On Mon, 1 Sep 2014 18:28:16 +0400 Денис Смирнов wrote:
> > On Mon, Sep 01, 2014 at 05:02:42PM +0400, Alexey Shabalin wrote:
> >
> > > 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
> > > ------------------------
> >
> > Этот вариант лучше, чем что-либо патчить.
>
> Да, CK в любом случае мертв, насколько я понимаю.
> Я так и не собрался посмотреть подробнее, но при беглом взгляде похоже,
> что может сработать.
Нет, при более внимательном рассмотрении там все плохо.
В 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 - написать для него честный инит-скрипт.
--
WBR, Mikhail Efremov
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [devel] polkit without systemd
2014-09-19 14:51 ` Mikhail Efremov
@ 2014-09-19 19:15 ` Alexey Shabalin
2014-09-22 9:40 ` Mikhail Efremov
0 siblings, 1 reply; 13+ messages in thread
From: Alexey Shabalin @ 2014-09-19 19:15 UTC (permalink / raw)
To: ALT Linux Team development discussions
19 сентября 2014 г., 18:51 пользователь Mikhail Efremov
<sem@altlinux.ru> написал:
> On Tue, 2 Sep 2014 16:45:07 +0400 Mikhail Efremov wrote:
>> On Mon, 1 Sep 2014 18:28:16 +0400 Денис Смирнов wrote:
>> > On Mon, Sep 01, 2014 at 05:02:42PM +0400, Alexey Shabalin wrote:
>> >
>> > > 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
>> > > ------------------------
>> >
>> > Этот вариант лучше, чем что-либо патчить.
>>
>> Да, CK в любом случае мертв, насколько я понимаю.
>> Я так и не собрался посмотреть подробнее, но при беглом взгляде похоже,
>> что может сработать.
>
> Нет, при более внимательном рассмотрении там все плохо.
> В 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. Будем пробовать или откатывать все изменения?
--
Alexey Shabalin
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [devel] polkit without systemd
2014-09-19 19:15 ` Alexey Shabalin
@ 2014-09-22 9:40 ` Mikhail Efremov
2014-09-23 10:08 ` Mikhail Efremov
0 siblings, 1 reply; 13+ messages in thread
From: Mikhail Efremov @ 2014-09-22 9:40 UTC (permalink / raw)
To: ALT Linux Team development discussions
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 чего-то
такого, чего тот не умеет.
--
WBR, Mikhail Efremov
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [devel] polkit without systemd
2014-09-22 9:40 ` Mikhail Efremov
@ 2014-09-23 10:08 ` Mikhail Efremov
2014-09-26 8:08 ` Mikhail Efremov
0 siblings, 1 reply; 13+ messages in thread
From: Mikhail Efremov @ 2014-09-23 10:08 UTC (permalink / raw)
To: ALT Linux Team development discussions
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 чего-то
> такого, чего тот не умеет.
Я, собственно, начал его неспешно собирать. Как соберу - расскажу что
получилось.
--
WBR, Mikhail Efremov
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [devel] polkit without systemd
2014-09-23 10:08 ` Mikhail Efremov
@ 2014-09-26 8:08 ` Mikhail Efremov
2014-10-02 17:27 ` Mikhail Efremov
0 siblings, 1 reply; 13+ messages in thread
From: Mikhail Efremov @ 2014-09-26 8:08 UTC (permalink / raw)
To: ALT Linux Team development discussions
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
> > чего-то такого, чего тот не умеет.
>
> Я, собственно, начал его неспешно собирать. Как соберу - расскажу что
> получилось.
У меня это даже как-то заработало. В Сизиф пока не отправляю, там надо
еще немного попилить.
Но в целом выглядит вполне рабочим вариантом.
--
WBR, Mikhail Efremov
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [devel] polkit without systemd
2014-09-26 8:08 ` Mikhail Efremov
@ 2014-10-02 17:27 ` Mikhail Efremov
0 siblings, 0 replies; 13+ messages in thread
From: Mikhail Efremov @ 2014-10-02 17:27 UTC (permalink / raw)
To: devel
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
^ permalink raw reply [flat|nested] 13+ messages in thread
end of thread, other threads:[~2014-10-02 17:27 UTC | newest]
Thread overview: 13+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2014-09-01 13:02 [devel] polkit without systemd Alexey Shabalin
2014-09-01 14:28 ` Денис Смирнов
2014-09-02 12:45 ` Mikhail Efremov
2014-09-19 14:51 ` Mikhail Efremov
2014-09-19 19:15 ` Alexey Shabalin
2014-09-22 9:40 ` Mikhail Efremov
2014-09-23 10:08 ` Mikhail Efremov
2014-09-26 8:08 ` Mikhail Efremov
2014-10-02 17:27 ` Mikhail Efremov
2014-09-01 16:21 ` Dmitry V. Levin
2014-09-01 16:45 ` Alexey Shabalin
2014-09-01 17:08 ` Dmitry V. Levin
2014-09-01 17:20 ` Alexey Shabalin
ALT Linux Team development discussions
This inbox may be cloned and mirrored by anyone:
git clone --mirror http://lore.altlinux.org/devel/0 devel/git/0.git
# If you have public-inbox 1.1+ installed, you may
# initialize and index your mirror using the following commands:
public-inbox-init -V2 devel devel/ http://lore.altlinux.org/devel \
devel@altlinux.org devel@altlinux.ru devel@lists.altlinux.org devel@lists.altlinux.ru devel@linux.iplabs.ru mandrake-russian@linuxteam.iplabs.ru sisyphus@linuxteam.iplabs.ru
public-inbox-index devel
Example config snippet for mirrors.
Newsgroup available over NNTP:
nntp://lore.altlinux.org/org.altlinux.lists.devel
AGPL code for this site: git clone https://public-inbox.org/public-inbox.git