Natrio |
|
Темы:
47
Сообщения:
4763
Участник с: 08 января 2011
|
Раз уж systemd умеет запускать демонов одновременно, я решил заставить его запустить getty, не дожидаясь загрузки других юнитов, которые для логина в консоли не требуются. Однако, в добавок к запутанности зависимостей между юнитами, я столкнулся с дополнительной проблемой – не особо управляемым логлевелом systemd. getty стартует, но одновременно в консоль продолжают валиться сообщения от systemd, и так до тех пор, пока он не достигнет своей цели загрузки, то есть в моём случае multi-user.target Вариант с полным изначальным отключением всех сообщений systemd меня категорически не устраивает. Требуется отключить сообщения по требованию, однако я так и не нашел какого-либо указания на то, как сделать такое штатно. Единственный способ, которым мне пока удалось это сделать, представляется мне несколько э… ужасным, хотя он и работает. Я сделал и зарегистрировал вот такой юнит: /etc/systemd/system/silence.service [Unit] Description=Silence systemd Before=getty.target Wants=getty.target [Service] Type=oneshot ExecStart=/usr/bin/systemctl daemon-reexec [Install] WantedBy=multi-user.target Вопрос: кто-нибудь знает, как сделать это более адекватным способом? P.S. Решение найдено: kill -RTMIN+21 1 Подробнее см. viewtopic.php?p=89399#p89399 |
nafanja |
|
![]()
Темы:
94
Сообщения:
9252
Участник с: 02 июня 2012
заблокирован
|
Не особо понятно что хочешь сделать… Тихий режим в параметрах загрузки ядра quiet и сообщений нет, кроме тех которые определены по умолчанию loglevel=4 Да и эти сообщения нужны только для отладки, в настроенной системе они только значительно замедляют загрузку и портят консольные приложения. Тут нужно определиться либо сообщения либо ранняя консоль…
Псевдографический инсталлятор Arch Linux ver. 3.8.2
Благодарности принимаются на ЯД 410012815723874 |
leonardo19 |
|
![]()
Темы:
40
Сообщения:
848
Участник с: 25 ноября 2008
|
У меня agetty стартует штатно, но и тут в TTY1 после приглашения залогиниться успевают “въехать” несколько последних сообщений systemd. Режим quiet не хочется выставлять. Может, вообще запретить включать первую консоль? :) |
nafanja |
|
![]()
Темы:
94
Сообщения:
9252
Участник с: 02 июня 2012
заблокирован
|
Leonardo19Не поможет, оно кажется пишется во все консоли. Нужно отказаться от сообщений. Либо сделать в грубе вариант загрузки с сообщениями и без. + выставить GRUB_DEFAULT=saved (очень удобно!!!) Либо сделать скриптик, который будет проверять состояние запуска, и если была ошибка сигнализировать об этом, при отключенных сообщениях.
Псевдографический инсталлятор Arch Linux ver. 3.8.2
Благодарности принимаются на ЯД 410012815723874 |
Time_Lords |
|
Темы:
14
Сообщения:
172
Участник с: 19 февраля 2012
|
Не поможет, оно кажется пишется во все консоли. У меня к моменту запуска K Display Manager не успевают загрузиться все демоны. Если переключюсь в 1 консоль (tty1), то увижу оставшийся вывод загрузки. На остальных консолях (tty2, tty3 …) нет ничего. |
nafanja |
|
![]()
Темы:
94
Сообщения:
9252
Участник с: 02 июня 2012
заблокирован
|
time lords, Возможно оно пишется в текущую консоль. (что смысла не меняет) У меня так было, быстро переходил в другую и там тоже получал запоздавшие сообщения…
Псевдографический инсталлятор Arch Linux ver. 3.8.2
Благодарности принимаются на ЯД 410012815723874 |
Natrio |
|
Темы:
47
Сообщения:
4763
Участник с: 08 января 2011
|
Как я уже сказал, вариант с отключением сообщений при загрузке меня категорически не устраивает. О замедлении загрузки сообщениями никогда не слышал, но специально проверил. Результат: замедления не замечено. Включение и выключение сообщений никак не влияет на время загрузки. Возможно, такое может быть в тормозном фреймбуфере VESA? Сейчас у меня сделано так: Ядро СПЕЦИАЛЬНО грузится с loglevel=6, чтобы иметь возможность видеть загрузку на этапе ядра и initcpio. При старте systemd запускается юнит, который выполняет команду dmesg -n 3, так что с этого момента в консоль идут только сообщения systemd. Когда загружается getty, выполняется ещё один юнит (я его показал в первом посте), который заставляет systemd прекратить вывод в консоль, чтобы не мешать логину. Меня вполне устраивает эффект, который производит команда systemctl daemon-reexec , однако такой метод не представляется вполне надёжным, так как использует недокументированные и неуправляемые особенности поведения systemd при перезапуске, которые в будущем могут измениться. Меня интересует возможность штатного отключения вывода systemd в консоль в нужный момент, а не с самого начала, аналогичную тому, как это делает dmesg -n N или dmesg -D с сообщениями ядра, или, ещё лучше – перевод вывода systemd в другую консоль, то есть из общего tty0 в конкретный tty1, или даже в tty12. Пока я не нашел никаких команд или опций для управления выводом systemd в процессе работы, и у меня есть подозрения, что в этом отношении он неуправляем, то есть самовольно берёт эту настройку из параметров ядра, ему не предназначенных, отключает по достижении заданной при старте цели, и включает вновь при задании следующей (обычно выключения или перезагрузки) |
Time_Lords |
|
Темы:
14
Сообщения:
172
Участник с: 19 февраля 2012
|
time lords, Возможно оно пишется в текущую консоль. (что смысла не меняет) Простите. Вы правы. При быстром переключении в другую консоль вывод происходит в неё. Только вот смутило меня появление строчки после переключения консоли Started Getty on tty2. Возможно, в сторону этого Getty и надо копать |
jim945 |
|
![]()
Темы:
8
Сообщения:
3066
Участник с: 25 января 2010
|
Не это ли? TTYPath= Change the console TTY to use if ForwardToConsole=yes is used. Defaults to /dev/console.
Lupus pilum mutat, non mentem.
|
Natrio |
|
Темы:
47
Сообщения:
4763
Участник с: 08 января 2011
|
time lordsagetty на каждой консоли запускается ТОЛЬКО ПОСЛЕ переключения на неё. Вывод сообщений прекращается по достижении заданной при запуске цели, то есть той, на которую указывает ссылка default.target Если вывод продолжается во время логина, значит эта цель в данным момент ещё не достигнута. Я уже нашел один способ отключать эти сообщения досрочно (см. первый пост), просто мне хочется сделать всё более правильным и надёжным методом :) |