LINUX.ORG.RU

Управление пользовательской сессией из systemd

 ,


0

1

Анонсирована совместная работа инженеров Intel и Samsung по переносу логики менеджеров сессий (gnome-session, startxfce4 и т.п.) в systemd.

>>> Подробности

★★★★★

Последнее исправление: Binary (всего исправлений: 2)

Ответ на: комментарий от shatsky

Выдохните.

На ЛОР стонам на тему «неподпускать криворуких к си коду» больше чем некоторым лет уже. Там где в другом языке ошибки даже никто не заметит - в Си будет сегфолт, порча памяти и другие радости.

Так это же systemd с юнитами и есть.

Ну так - system v init этот systemd и есть, только древний, ископаемый и не имеющих многих фич systemd потому что они тогда были ненужны. А строчка в sysv init - это древний юнит systemd. Поймите, идиотские идеи вроде systemd уже приходили в голову древним юниксоидам, и не один раз :D

Просто в ходе эволюции юникса у него те фичи которые были, напоминающие systemd, атрофировались. И сейчас это пускалка скриптов.

Где вы там видите on-demand? getty ttyN просто запускаются при достижении уровней, для которых они прописаны.

:D

В данном случае это костыли, потому что их цели здесь - решение побочных проблем, возникающих оттого, что в инитскриптах реализуется функциональность, которую разумно реализовать в вызывающей их сущности. Которую, в принципе, тоже можно было бы написать на шелле - но Леннарт выбрал С, и это хорошо.

Они не костыли именно потому что эту функциональность совсем не разумнее реализовать в вызывающей сущности. А дальше классический юникс - мелкие кубики склееные клеем. Удобство в том что любой шелсскрипт можно взять и максимально кастомизировать простыми правками.

Собственно на эту тему в systemd тоже скрипты есть. Как раз потому что без них - никак.

бинарник systemd - 800 кб, init+rc+bash - 1 метр.

Вы забываете про то что bash написан не только для применения в rc, и отлажен/потестен гораздо большим числом людей чем systemd. Пишут initscript очень редко, по сравнению с обычным шеллскриптом. Если вы не поняли смысла, возражение было не то что systemd большой по сравнению с bash+скрипты, он большая куча специальзированного Си кода в котором копается 2.5 человека а отлаживает 19.5 разрабов инициализации в дистрибутивах. В отличие от.

Несжатое, стрипнутое ядро весит у меня 8 метров,

Собрать ядро в 1.5 метра, опять же, ЕМНИП, вполне можно. Ну и я не сказал про версию ядра :D

kernel ★★☆
()
Ответ на: комментарий от AX

как в апстриме делаются вещи типа останова iptables

ExecStop=<команда останова> в .service-юните. В качестве команды останова можно написать хоть длинную строку «iptables -t filter -F; iptables -t filter -X; ...», хоть вызов внешнего скрипта, который все это сделает.
Но подавляющее большинство демонов просто запускаются одной командой.

или иницаилизации БД при первом запуске

Таким должен заниматься скрипт установки (в ебилдах генты - postinst или config phase) или сама СУБД. Но при необходимости можно написать и костыльный скрипт для выполнения этой работы при запуске сервиса.

Ищи в этом треде пост AVL2 про стариков и младенцев.

Я про утверждение, что systemd сам не может ничего серьёзнее «запустить это при старте, кильнуть при останове».

shatsky ★★
()
Ответ на: комментарий от F457

И кто же из «разрабатывающих что-то» остался? Убунта чтоли?

А ты посмотри, сколько процентов у дебиан+убунту+минт

Waterlaz ★★★★★
()
Ответ на: комментарий от imul

Тебе лично Поттеринг придёт линейкой по пальцам бить за использование седа и авка? Systemd не отменяет никаких старых костылей. Обмазывайтесь и подтыкайтесь на здоровье.

Как ты ущербно мыслишь. Не нравится мне не то, что мне что-то там не дают использовать в системД. Важно, что пожертвовали модульностью в пользу не известно чего

Waterlaz ★★★★★
()
Ответ на: комментарий от AX

настраивалки iptables on-demand должен настраивать NetworkManager через диспатчер

vasily_pupkin ★★★★★
()
Ответ на: комментарий от anonymous

Недавно он кинул патч на выпиливание его целиком оттуда со словами: скоро будет новая версия

Спасибо за пояснение. Так с ядром не работают, всё правильно. Я бы после такого вообще больше ни одного патча от автора похмелфс не принял бы, а то вдруг он опять передумает.

sh4r4t4n
()
Ответ на: комментарий от kernel

Сторожа привычные, но вот у нервных беременных могут случится выкидыши.

Ой, так вы ещё и в положении? Всё, я умолкаю и убегаю за бананами :)

sh4r4t4n
()
Ответ на: комментарий от sh4r4t4n

Ой, так вы ещё и в положении? Всё, я умолкаю и убегаю за бананами :)

Беременных-женщин сторожей абизьяньего вивария не бывает - должностной инструкцией неположено :D

kernel ★★☆
()
Ответ на: комментарий от imul

Тогда о чём вообще наш спор?

О том, что systemd будет в серверных дистрибутивах только после стабилизации в течении следующих 5 лет :)

под какую именно версию RHEL собирается 1С-сервер

Под бубунту они вообще ничего не собирают, но всё нормально работает на серверах с ubuntu 10.04. Скоро будем апгрейдить сервера клиентов до 12.04 :)

У меня всё суперкрасноглазо

Хвалю, чо :) Эх, а у меня наоборот всё скучно, но стабильно... Пойду btrfs хоть пощупаю.

sh4r4t4n
()
Ответ на: комментарий от anonymous

тред читаю с начала, никто аргументов не привёл, всё больше высказывания в стиле «ололо, батхёрт у луддитов»

Ну, это уже не первое обсуждение systemd, да и читать надо более внимательно. Но это не важно, сейчас я сделаю непостижимое - я процитирую wiki Альтлинукса! :)

Зачем переходить на systemd? быстрая загрузка — важно для десктопов, иногда и для серверов тоже; более надежная загрузка, за счет параллельности. В отличии от sysvinit - подвисание при запуске одного сервиса не приведет к остановке всего процесса загрузки (тормоза с ntpd если приходится загружаться отключившись от сети, как пример); systemd это не просто запускалка сервисов. Оно еще и умеет их поддерживать запущеными (то, для чего я использую сейчас daemontools, а многие другие используют monit); более надежная система порядка запуска. Циферки, как известно, иногда приводят к тому что мантейнеры ошибаются. К счастью за годы мы многие такие баги вытоптали, но, увы, иногда появляются новые сервисы :) Указать зависимость между сервисами надежнее и предсказуемее нежели циферки.

Q: И вот скажите мне, стоит ли бороться за то, что мой ноут загрузится на одну минуту быстрее раз в два месяца ? A: Стоит бороться за то, что как только ты нажмешь hardware key для включения/выключения WiFi, соответственно запустится/остановится нужный сервис, к примеру. А также что при втыкании bluetooth dongle — поднимется bluetooth стек. А также что перед suspend часть сервисов таки остановится, а после suspend запустится заново.

Q: Или сервер, который перезагружается раз в год, сможет это сделать примерно на 8 секунд быстрее ? A: Или что когда на этом сервере упадет сервис, его автоматом перезапустят. Из коробки. Без необходимости настраивать monit (который в отличии от systemd неспособен отличить заглушили мы сервис сами — или он упал).

Q: Я не спорю - где-то безусловно есть необходимость в systemd, но на мой взгляд лично для меня его польза сильно преувеличена. A:Скорость загрузки это полезный побочный эффект. К счастью, не единственный. Можно спорить о качестве реализации, но сам подход — очень хороший. И существенно лучше sysvinit.

sh4r4t4n
()
Ответ на: комментарий от hbars

То есть получается что без этого оно не работает???

Я вас удивлю, но Линукс вполне сносно работает без многих компонентов. Или вы думали, что в дебиан есть ксорг, потому что без ксорга дебиан не взлетит? :)

sh4r4t4n
()
Ответ на: комментарий от vasily_pupkin

Больше одного __кластера__

На NTFS или FAT32? Может обратно на форточки?

sergv
()
Ответ на: комментарий от sh4r4t4n

Стоит бороться за то, что как только ты нажмешь hardware key для включения/выключения WiFi, соответственно запустится/остановится нужный сервис, к примеру. А также что при втыкании bluetooth dongle — поднимется bluetooth стек. А также что перед suspend часть сервисов таки остановится, а после suspend запустится заново.

Полезная фенька, но зачем это в init-то пихать? Написали кривой udev, который костылен по своей сути и не может реализовать такого подхода? Дsк может ЕГО переписывать надо а не init?

Или что когда на этом сервере упадет сервис, его автоматом перезапустят. Из коробки. Без необходимости настраивать monit (который в отличии от systemd неспособен отличить заглушили мы сервис сами — или он упал).

Кривая логика. Если упал apache, то его НЕ НУЖНО перезапускать. Т.к. что-то не так с им самим или с его конфигурацией. Слишком высока вероятность того, что вас через него имеют...

sergv
()
Ответ на: комментарий от sh4r4t4n

Спасибо за пояснение. Так с ядром не работают, всё правильно. Я бы после такого вообще больше ни одного патча от автора похмелфс не принял бы, а то вдруг он опять передумает.

Хе-хе. Поищи как в прошлом году кирпичами армщики выкладывали небоскрёбы в лкмл. Им линус говорил: вот такой стиль здесь отпилим, там допилим тут просто скопируем файлики (это всё одновременно делается под разные железки, так что хз что там завязано на что) не пойдёт. А эта фигня в ядре очень долго происходила.
А тут много лет назад кинул чел на обкатку вещь - в staging. Потом допилил более «правильный» вариант (он где-то в районе 3.1 попросил выкинуть старую версию). Потом предложил включить новую версию. А теперь сравни это с бтрфс которую давно включили и ломали непрерывно. И это вроде как нормально. Говорю же - корпоративные стандарты, а не «так с ядрышком не работают».

anonymous
()
Ответ на: комментарий от Ivan_qrt

Не слезал? Просто потролить заходишь? ;-)

Тоже вариант.

За сим разрешите распрощаться...

sergv
()
Ответ на: комментарий от catap

поздравляю с изобретением микро ядра!

Простите, а где тут ... ээээ .... то самое изобретенное ядро? :D

kernel ★★☆
()
Ответ на: комментарий от r

У меня какое-то дежавю на эту тему:...

Внимательно читаю ссылку что чегно-нибудь там подчерпнуть... :D

Да еще дизайн проблема для init, это то что он должен уметь работать в рут-разделе с ro, отсутствием всего, и до начала инициализации. Собственно в этой ситуации сделать взаимодействие демонов проблематично. Там по моему даже sysv IPC даже, в линуксе, не весь возможен в таком случае.

С другой стороны там емнип уже поттеринг расстарался на эту тему - теперь / в rw после initrd.

kernel ★★☆
()
Ответ на: комментарий от shatsky

Я про утверждение, что systemd сам не может ничего серьёзнее «запустить это при старте, кильнуть при останове».

Дык, unit ни на что большее не годится. Нужно не просто прибить процесс, а что-то посложнее? Лепи костыль в /usr/lib/systemd/! Причём костыль желательно писать на С, иначе хомячки быстро обнаружат, что страшные-страшные скрипты со страшными-страшными sed и awk никуда не делись, а просто сменили местоположение.

И пофиг, что теперь вообще не понятно, что, как и с какими опциями запускается.

Таким должен заниматься скрипт установки

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

ExecStop=<команда останова> в .service-юните.

Спасибо, кэп! :) Мне интересно, что именно прописано в iptables.service. Например, в арче при остановке выполняется этот скрипт. В апстриме его засунули в /usr/bin/? Или просто заменили бинарником?

P.S. Вот видишь, даже от зоопарка этот ваш systemd не спасает.

AX ★★★★★
()
Ответ на: комментарий от sh4r4t4n

sergv ответил, добавлю только

быстрая загрузка — важно для десктопов, иногда и для серверов тоже; более надежная загрузка, за счет параллельности. В отличии от sysvinit - подвисание при запуске одного сервиса не приведет к остановке всего процесса загрузки (тормоза с ntpd если приходится загружаться отключившись от сети, как пример)

вроде где-то реализовали через sysVinit, если нет — можно дописать сей полезный функционал, непонятно зачем для этого монстра городить

anonymous
()
Ответ на: комментарий от Waterlaz

Человек, это уже здесь не раз перетёрли, кто чем и зачем пожертвовал. Твой возглас был признаком полного отсутствия умения как мыслить, так и читать.

imul ★★★★★
()
Ответ на: комментарий от sh4r4t4n

О том, что systemd будет в серверных дистрибутивах только после стабилизации в течении следующих 5 лет :)

То есть спор у нас вообще ни о чём, потому как мы упорно друг другу объясняем одно и то же.

Под бубунту они вообще ничего не собирают, но всё нормально работает на серверах с ubuntu 10.04. Скоро будем апгрейдить сервера клиентов до 12.04 :)

Вот же вам неймётся-то :D

imul ★★★★★
()
Ответ на: комментарий от sergv

Полезная фенька, но зачем это в init-то пихать? Написали кривой udev, который костылен по своей сути и не может реализовать такого подхода? Дsк может ЕГО переписывать надо а не init?

Так udev и будет компонентом systemd в скором времени. :D Всё, как говорится, схвачено.

imul ★★★★★
()
Ответ на: комментарий от sergv

Кривая логика. Если упал apache, то его НЕ НУЖНО перезапускать. Т.к. что-то не так с им самим или с его конфигурацией. Слишком высока вероятность того, что вас через него имеют...

Ты знаешь один единственны апач? Или ты думаешь, что поведение (поднимать/не поднимать) будет только одно для всех?

imul ★★★★★
()
Ответ на: комментарий от imul

Так udev и будет компонентом systemd в скором времени. :D Всё, как говорится, схвачено.

Ага. И DBus, и сервис авторизации (причем сетевой)...

...Мастодонтус вульгарис...

sergv
()
Ответ на: комментарий от imul

Ну почему один. Их две ветки как минимум.

Просто о чем речь - есть разные сервисы.

Одни криворукими писаны и постоянно падают.

Другие - если упал, то ЧП.

sergv
()
Ответ на: комментарий от sergv

Ага. И DBus, и сервис авторизации (причем сетевой)...

не, это уже в initrd пойдёт :D

Просто о чем речь - есть разные сервисы.

Ну да, просто поднимать, или не поднимать — это уже решение конечного пользователя по потребностям. А в конфигураторе какая-нибудь галочка будет стоять и что интересно, все будут довольны, но не сразу. :D

imul ★★★★★
()
Ответ на: комментарий от imul

Человек, это уже здесь не раз перетёрли, кто чем и зачем пожертвовал. Твой возглас был признаком полного отсутствия умения как мыслить, так и читать.

Перетерли, но тем не менее, ты продолжаешь писать малограмотный бред.

Waterlaz ★★★★★
()
Ответ на: комментарий от Waterlaz

Повторяй это три раза в день и главное верь в это и пиши об этом как можно чаще.

imul ★★★★★
()
Ответ на: комментарий от Waterlaz

чувак не храни информацию на жёстких дисках это не долговечно наскальная живопись проверена временем!

Thero ★★★★★
()
Ответ на: комментарий от Waterlaz

наш топик о том что запилено ребятами из тизен(samsung+intel) потомучто инит на смарфонах неадекватен. смотрите в 17 год как минимум а потом думайте.

Thero ★★★★★
()
Ответ на: комментарий от Thero

о том что запилено ребятами из тизен(samsung+intel) потомучто инит на смарфонах неадекватен.

Аминь!

(Главное, чтоб на сервера не потащили)

sergv
()
Ответ на: комментарий от vasily_pupkin

Зато когда он не нужен, все прямо и красиво

Если скрипты так пугают, то можно всю шаблонную часть убрать в /etc/(init|rc).d/functions или куда-то ещё, а в самих файлах оставить те же самые PIDFile, Exec etc.

И всё это без революций и пихания изделий сомнительного качества.

AX ★★★★★
()
Ответ на: комментарий от AX

Скрипты не пугают. Они не всегда к месту используются. В прямом случае, у тебя некоторый таск может быть декомпозирован на обособленные действия. В systemd каждую такую отдельную хрень описывает юнит. Основываясь на результатах выполнения этих отдельных тасков, можно более гибко описывать новые. Мой пример с zswap - пример костыля. Его корректнее было бы декомпозировать на несколько юнитов: zram@.device, zram-size@.service и zram@.swap.

Скрипты не-костыль нужны там, где декомпозиция не возможна, как последнее средство

vasily_pupkin ★★★★★
()
Ответ на: комментарий от Thero

Вот опять страшными словами ругаетесь.

правда она такая.

Дадада, чем страшнее тем правдивей. Я представляю что у вас после похмелья бывает - полная голова чистой правды..... и вы ее всем рассказываете.

kernel ★★☆
()
Ответ на: комментарий от Thero

наш топик о том что запилено ребятами из тизен(samsung+intel) потомучто инит на смарфонах неадекватен. смотрите в 17 год как минимум а потом думайте.

А там еще и бузибокс и прочий порезаный glibc, в ххх-фонах. Но никто в здравом уме же не вопит что теперь инновационный бузибокс нам все заменит. А тут похоже да, таки примерно это и вопят: Бузибокс адекватный 111 Бузибокс не устаревший 111 Те кто критикуюб бузибокс не для эмбеда - проклятые луддиты 111 :D

kernel ★★☆
()
Ответ на: комментарий от imul

Вот же вам неймётся-то :D

Потом когда те, которым неймется, начинают везде пихать свою детскую внезапность - и на ЛОРЕ появляются треды типа «ненавижу проклятый пулсаудио». :D

kernel ★★☆
()
Ответ на: комментарий от sergv

может ЕГО переписывать надо а не init?

Перепиши, йопт :)

Кривая логика. Если упал apache, то его НЕ НУЖНО перезапускать.

Правильно, пускай валяется. А если позвонят клиенты, то им с умным видом можно сказать «всё нормально, нас наверное ломают». Ну, даже в этом случае можно настроить systemd, что бы он апач не поднимал, а выполнял скрипт, отсылающий смску с напоминанием купить вазелин.

sh4r4t4n
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.