Обсуждение: Systemd

Natrio, а что по умолчанию это включено? что стоит выключать явно…
Псевдографический инсталлятор Arch Linux ver. 3.8.2
Благодарности принимаются на ЯД 410012815723874
nafanja
Natrio, а что по умолчанию это включено? что стоит выключать явно…
Это отключает только самодеятельный перехват нажатий кнопок в systemd. Ничто не мешает написать в обработчике для acpid соответствующие команды через systemctl.
А по-умолчанию эта пакость таки включена, хотя и не полностью, посмотрите дефолтный конфиг сами.
У меня acpid только эти три функции и выполняло (точнее две, на LidSwitch реакции не было). Так что для меня systemd панацея. Но требования конечно у всех разные.
Natrio
А по-умолчанию эта пакость таки включена, хотя и не полностью, посмотрите дефолтный конфиг сами.
В конфиге закомментировано, значит выключено…
Псевдографический инсталлятор Arch Linux ver. 3.8.2
Благодарности принимаются на ЯД 410012815723874
Bujhm666
У меня acpid только эти три функции и выполняло (точнее две, на LidSwitch реакции не было). Так что для меня systemd панацея. Но требования конечно у всех разные.
У меня на клавиатуре кнопка Power рядом с Enter. Видели такое? У некоторых в других местах бывает, но тоже можно нажать случайно :)

Долгое время эта кнопка под линуксом просто не работала, и это меня вполне устраивало. А потом вдруг заработало… Ух, как был я зол!
Разобрался, увидел что acpid не различает кнопку на корпусе и на клаве, и написал автору acpid багрепорт. Автор проникся, и теперь acpid для кнопок на клаве всегда добавляет дополнительный параметр “K”, а я запилил на эту кнопку (которая на клавиатуре) ждущий режим.

Ну так то acpid, в нём уже и так был и конфиг, и запуск программ, и параметры – всё что хочешь, можно настроить. А в systemd НИЧЕГО из этого вообще НЕТ! Тупо зашит самый тупой вариант реакции. Мне это надо? Да ну нафиг :)
Я и говорю - требования у всех разные.
Может позже и в systemd допилят настроек побольше, раз планируют заменить acpid.
Вот такое выдает man logind.conf:
HandlePowerKey=, HandleSleepKey=, HandleLidSwitch=
Controls whether logind shall handle the system power and sleep keys and the lid switch to trigger system power-off
or suspend. Can be one of off, no-session, tty-session, any-session and always. If off logind will never handle these
keys. If no-session logind will handle these keys when no user is logged in and no inhibitor lock is taken, and
trigger a warnig beep otherwise. If set to tty-session logind will handle these keys if no inhibitor lock is taken,
and either no user is logged in or the foreground session is a text login and the only one existing. If any-session
is set logind will handle these keys if no inhibitor lock is taken, and either no user is logged in or the foreground
session is the only one existing (regardless whether graphical or text). If set to always logind will handle these
keys in any case, even if one or more users are logged in or an inhibitor lock is taken. Only input devices with the
power-switch udev tag will be watched for key events. HandlePowerKey= defaults to no-session. HandleSleepKey=
defaults to tty-session, HandleLidSwitch= defaults to off.
Т.е. эти опции определяют, должен ли logind обрабатывать события, связанные с управлением питанием – отключение системы, приостановка ее (suspend), закрытие крышки и засыпание. Понятно, что обработчик HandlePowerKey= отвечает за отключение питания при нажатии на соответствующую клавишу, HandleSleepKey= за перевод компьютер в состояние ожидания или “сна” (suspend), HandleLidSwitch= за перевод копьютера в состояние ожидания при закрытой крышке.
Эти опции могут принимать следующие значения:
  • off – logind никогда не будет реагировать на эти события;
    no-session – logind будет обрабатывать эти клавиши, когда пользователь не вошел в систему и не имеется никакой блокировки, в противном случае прозвучит предупреждающий сигнал;
    tty-session – logind будет обрабатывать эти ключи, если нет блокировки, а также если либо пользователь не вошел в систему, либо высокоприоритеная сессия является текстовой и к тому же единственно существующей;
    any-session – ​​logind будет обрабатывать эти ключи, если нет блокировки, и либо пользователь не вошел в систему, либо высокоприоритетная сессия является единственно существующей (независимо от того, в графическом или текстовом режиме).
    always – logind будет обрабатывать эти клавиши в любом случае, даже если один или несколько пользователей вошли в систему или имеется блокировка.

    По умолчанию установлены следующие значения:
    HandlePowerKey = no-session
    HandleSleepKey = tty-session
    HandleLidSwitch = off
    (У меня эти строки в /etc/systemd/logind.conf изначально закомментированы).
    Извиняюсь за корявый перевод на скорую руку.
Говорила мама: "RTFM, сынок!"
systemctl без судо отработает только если узер одиноко логинен в системе, где читал, где - склероз.
Лозунг у них был такой: "Познание бесконечности требует бесконечного времени". С этим я не спорил, но они делали из этого неожиданный вывод: "А потому работай не работай — все едино". И в интересах неувеличения энтропии Вселенной они не работали. (с)
Вопрос такой, в rc.conf демоны загружались в том порядке, котором они писались. Как загружать unit скрипты в определенном порядке. Я вначале запустил networkmanager а потом iptables, и если я ошибся и надо было запускать наоборот то как исправить?
Systemd призвана, как я понимаю, сама разруливать последовательность запуска сервисов, но если что-то не устраивает, то для этого существуют соответствующие опции (параметры?), типа “Before=…”, “After=…” и т.д.
Короче, читай документацию и маны. Я не читал, ответил навскидку=), так что жди ответа уже продвинувшихся или гуглы-маны в помощь.
Здесь кое что можно почерпнуть: http://en.gentoo-wiki.com/wiki/Systemd - к слову, я смотрел именно “iptables.service” и его содержание отличается от дефолтного нашего, в частности этим:
[Unit]
...
Before=network.target
что логично: запускать iptables до сети.

PS. Я тут подумал, может и не нужно в данном случае химичить с порядком запуска применительно к новым реалиям?
 
Зарегистрироваться или войдите чтобы оставить сообщение.