Systemd/User Services/ru: Difference between revisions
Created page with "== Продолжение работы пользовательских служб после выхода из системы ==" Tags: Mobile edit Mobile web edit |
Created page with "Если вам нужно, чтобы пользовательский сервис продолжал работать после выхода пользователя из системы, вам нужно включить "[https://search.nixos.org/options?channel=unstable&show=users.users.%3Cname%3E.linger&from=0&size=50&sort=relevance&type=packages&query=users.users.%3Cname%3E.linger lingering]", установив {{ic|<nowiki>users.users.<username>.linger = true;..." |
||
Line 20: | Line 20: | ||
<span id="Keeping_user_services_running_after_logout"></span> | <span id="Keeping_user_services_running_after_logout"></span> | ||
== Продолжение работы пользовательских служб после выхода из системы == | == Продолжение работы пользовательских служб после выхода из системы == | ||
Если вам нужно, чтобы пользовательский сервис продолжал работать после выхода пользователя из системы, вам нужно включить "[https://search.nixos.org/options?channel=unstable&show=users.users.%3Cname%3E.linger&from=0&size=50&sort=relevance&type=packages&query=users.users.%3Cname%3E.linger lingering]", установив {{ic|<nowiki>users.users.<username>.linger = true;</nowiki>}}. | |||
<div lang="en" dir="ltr" class="mw-content-ltr"> | <div lang="en" dir="ltr" class="mw-content-ltr"> | ||
You'll also likely want to change to {{ic|<nowiki>wantedBy = [ "multi-user.target" ];</nowiki>}} so the service starts at boot time. | You'll also likely want to change to {{ic|<nowiki>wantedBy = [ "multi-user.target" ];</nowiki>}} so the service starts at boot time. | ||
</div> | </div> | ||
[[Category:systemd]] | [[Category:systemd]] |
Revision as of 16:54, 5 August 2024
Systemd supports running a separate instance of systemd for a given user, allowing the user to control their own services. See here for more information: https://wiki.archlinux.org/title/Systemd/User
В NixOS пользовательский сервис может быть выражен с помощью systemd.user.services.<name>
, как описано здесь: https://search.nixos.org/options?query=systemd.user.services.
Это может быть полезно, если вы хотите, чтобы пользователь мог запускать, останавливать и перезапускать свой собственный экземпляр службы без необходимости делать его sudoer.
Пример сервиса:
systemd.user.services.my-cool-user-service = {
enable = true;
after = [ "network.target" ];
wantedBy = [ "default.target" ];
description = "Мой Классный Пользовательский Сервис";
serviceConfig = {
Type = "simple";
ExecStart = ''/my/cool/user/service'';
};
};
По умолчанию пользовательские сервисы будут остановлены, когда пользователь выйдет из системы, и запустятся снова, когда пользователь снова войдет в систему, благодаря тому, что мы установили wantedBy = ["default.target" ]
в примере.
Продолжение работы пользовательских служб после выхода из системы
Если вам нужно, чтобы пользовательский сервис продолжал работать после выхода пользователя из системы, вам нужно включить "lingering", установив users.users.<username>.linger = true;
.
You'll also likely want to change to wantedBy = [ "multi-user.target" ];
so the service starts at boot time.