Ubuntu 16.04 systemd Аномалия обслуживания пользователей

Я включил и запустил службу пользователя (systemctl --user enable serviceName ... и т. Д.). Но когда я выхожу, сервис останавливается. Почему? Я уже делал подобный пользовательский сервис на Fedora 22, но это не останавливается, когда я выхожу из системы. Есть ли обходной путь для этого?

0
задан 21 June 2016 в 10:27

2 ответа

Это могло бы быть еще лучше:

systemd пользовательский экземпляр запускается после первого входа в систему пользователя и уничтожается после того, как последний сеанс пользователя закрыт. Иногда может быть полезно запустить его прямо после начальной загрузки, и сохранить systemd пользовательский экземпляр, бегущий за последними завершениями сессии, например, иметь некоторый пользовательский процесс, работающий без любого открытого заседания. Непрекращающийся привык к тому эффекту. Используйте следующую команду, чтобы позволить задержаться для определенного пользователя:

# loginctl enable-linger username

https://wiki.archlinux.org/index.php/Systemd/User

0
ответ дан 21 June 2016 в 20:27
  • 1
    У меня есть проблема на всей моей машине, но Вы правы! I' ve обнаружил, что я должен установить эту настройку на каждом перезапуске/перезагрузке. – Kare 20 December 2017 в 05:01

Пользовательские сервисы Systemd только длятся, пока сессия пользователя делает. Это означает, что Вы должны быть зарегистрированы, чтобы пользовательский сервис работал успешно.

В Ubuntu, Ваша сессия заканчивается, когда Вы выходите X, и все терминалы (TTYs, локальный, и удаленный). Я предположил бы, что Fedora сохранил сеанс пользователя открытым для Вас.

Для Ubuntu, я предложил бы, чтобы Вы создали сервис системного уровня и затем сказали ему работать как определенный пользователь. Можно сделать это установкой User= и Group= в [Service] раздел файла. Если бы Вы хотите просто иметь доступ для записи на той учетной записи пользователя, я предположил бы, что Вы устанавливаете соответствующие полномочия файла.

Наконец, если Вы хотите сделать его так, чтобы сервис запустился только, когда пользователь говорит это, можно использовать инструкции из этого сообщения AU .

0
ответ дан 21 June 2016 в 20:27
  • 1
    Ожидать что? Если there' s недостаточно памяти для swapoff для следования swapoff уничтожается уничтожителем OOM сначала. Да, они на самом деле hardcoded, что (это проверяет системный вызов). – Joshua 8 November 2017 в 08:43

Другие вопросы по тегам:

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