Как на драйверы WiFi или Bluetooth влияет приостановка или переход в спящий режим?

Если убрать WantedBy=multi-user.target, то systemctl enable your-example-hereбудет (шумно )ничего не делать.

граф.цель

Если вы устанавливаете чистый systemd из исходного кода, «целью по умолчанию», с которой он загружается, будет graphical.target.

Запуск graphical.targetзапускает multi-user.targetплюс любое устройство (с ), необходимое для обеспечения графического пользовательского интерфейса. Эта дополнительная сложность была устроена в попытке подражать устаревшим «уровням выполнения».

Вы действительно должны игнорировать/приукрашивать эмуляцию "runlevel"; все равно не правильно работает. Прости! Я предполагаю, что причина подчеркивания «графический» против. «многопользовательский -пользователь» исторически заключается в том, что графическое программное обеспечение 1 )не так надежно и зрело, как остальная часть системы, а 2 )требует много ресурсов.

Как правило, только несколько единиц специфичны для graphical.target. Существует единственная служба для самого графического интерфейса, например gdm.target. Есть несколько служб поддержки, которые в основном также используются графическим интерфейсом.

Изменить :Поиск в Google подсказывает, что если у вас не установлен графический интерфейс, но в качестве «цели по умолчанию» оставлено значение graphical.target, тогда systemd может записать в журнал предупреждение. «Невозможно добавить задание зависимости для модуля display -manager.service, игнорируя :Unit display -manager.service не удалось загрузить :Нет такого файла или каталога». Мы хотим не засорять наши журналы ненужными предупреждениями. Поэтому, если вы не устанавливали графический интерфейс, хорошо использовать systemctl set-default multi-user. Хотя система установки для вашей ОС, возможно, уже позаботилась об этом за вас. Кроме этого, я решительно выступаю за апатию в этом вопросе :-).

sysinit.цель

Некоторые службы и другие типы устройств «участвуют в ранней загрузке». Они определены для запускаBefore=sysinit.target-прямо или косвенно. Большинство служб запускаются только After=sysinit.target-, это происходит автоматически, если служба не устанавливает DefaultDependencies=no.

мульти -пользователь.цель

Большинство сервисов-примеров не подпадают ни под одну из вышеперечисленных категорий, поэтому мы прикрепляем их к multi-user.target. Это включает в себя большинство сетевых служб (, например. веб-сервер ), который является архетипическим системным сервисом.

динамически активируемые службы

Другая возможность, которую вы можете увидеть, это сервисный модуль, который не запускается автоматически при загрузке. Так что это было бы не нужно WantedBy=multi-user.target. Вместо этого служба может быть запущена или «активирована» чем-то другим.

Одним из примеров этого является услуга, активируемая dbus. Dbus можно настроить для запуска вашей службы по требованию -, когда к службе выполняется вызов dbus.

Для сетевых служб можно использовать службы, активируемые сокетом -. Это может быть проще найти подробности, потому что вся конфигурация находится в единицах systemd. Например, sshd.socketили ssh.socketобычно доступны для активации ssh@.serviceили sshd@.service. Хотя, я думаю, чаще всего запускают службу sshd во время загрузки.


Как всегда, вышеизложенное упрощает и опускает детали, которые кажутся ненужными.

0
21.06.2020, 20:29
1 ответ

Разница между Wi-Fi и Bluetooth (в ситуации гибернации или приостановки )будет заключаться только в деталях реализации :Есть ли у кого-то баг, так что его нельзя возобновить.

0
18.03.2021, 23:26

Теги

Похожие вопросы