Я включил и запустил службу пользователя (systemctl --user enable serviceName
... и т. Д.). Но когда я выхожу, сервис останавливается. Почему? Я уже делал подобный пользовательский сервис на Fedora 22, но это не останавливается, когда я выхожу из системы. Есть ли обходной путь для этого?
Это могло бы быть еще лучше:
systemd пользовательский экземпляр запускается после первого входа в систему пользователя и уничтожается после того, как последний сеанс пользователя закрыт. Иногда может быть полезно запустить его прямо после начальной загрузки, и сохранить systemd пользовательский экземпляр, бегущий за последними завершениями сессии, например, иметь некоторый пользовательский процесс, работающий без любого открытого заседания. Непрекращающийся привык к тому эффекту. Используйте следующую команду, чтобы позволить задержаться для определенного пользователя:
# loginctl enable-linger username
Пользовательские сервисы Systemd только длятся, пока сессия пользователя делает. Это означает, что Вы должны быть зарегистрированы, чтобы пользовательский сервис работал успешно.
В Ubuntu, Ваша сессия заканчивается, когда Вы выходите X, и все терминалы (TTYs, локальный, и удаленный). Я предположил бы, что Fedora сохранил сеанс пользователя открытым для Вас.
Для Ubuntu, я предложил бы, чтобы Вы создали сервис системного уровня и затем сказали ему работать как определенный пользователь. Можно сделать это установкой User=
и Group=
в [Service]
раздел файла. Если бы Вы хотите просто иметь доступ для записи на той учетной записи пользователя, я предположил бы, что Вы устанавливаете соответствующие полномочия файла.
Наконец, если Вы хотите сделать его так, чтобы сервис запустился только, когда пользователь говорит это, можно использовать инструкции из этого сообщения AU .