Сервис пользователя systemd не найден после перезагрузки

Я настроил синхронизацию в качестве системной пользовательской службы на компьютере 16.04. Работал нормально. После обновления до 18.04 сервис исчезает после перезагрузки.

После перезагрузки я вижу:

$ systemctl --user status syncthing.service 
Unit syncthing.service could not be found.

И syncthing действительно не работает.

Вот ~/.config/systemd/user/syncthing.service (следуя примеру , но обратите внимание, что бинарный файл находится в моем домашнем каталоге):

[Unit]
Description=Syncthing - Open Source Continuous File Synchronization
Documentation=man:syncthing(1)

[Service]
ExecStart=/home/user/syncthing-prefix/syncthing -no-browser -no-restart -logflags=0
Restart=on-failure
SuccessExitStatus=3 4
RestartForceExitStatus=3 4

[Install]
WantedBy=default.target

Затем я запускаю:

$ systemctl --user enable syncthing.service
$ systemctl --user start syncthing.service

Следуя инструкциям по настройке, которые я использовал для первоначальной установки пользовательского сервиса.

После выполнения двух вышеуказанных команд, я вижу:

$ systemctl --user status syncthing.service
● syncthing.service - Syncthing - Open Source Continuous File Synchronization
  Loaded: loaded (/home/user/.config/systemd/user/syncthing.service; enabled; 
  Active: active (running) since Tue 2018-11-06 15:28:16 PST; 4s ago
    Docs: man:syncthing(1)
Main PID: 4221 (syncthing)
  CGroup: /user.slice/user-1000.slice/user@1000.service/syncthing.service
          └─4221 /home/user/syncthing-prefix/syncthing -no-b

Nov 06 15:28:18 kind syncthing[4221]: [XXXXX] INFO: Device XXXXXXX-XXXXXXX-XXXXX
Nov 06 15:28:18 kind syncthing[4221]: [XXXXX] INFO: Device XXXXXXX-XXXXXXX-XXXXX
Nov 06 15:28:18 kind syncthing[4221]: [XXXXX] INFO: Device XXXXXXX-XXXXXXX-XXXXX
Nov 06 15:28:18 kind syncthing[4221]: [XXXXX] INFO: GUI and API listening on 127
Nov 06 15:28:18 kind syncthing[4221]: [XXXXX] INFO: Access the GUI via the follo
Nov 06 15:28:18 kind syncthing[4221]: [XXXXX] INFO: Completed initial scan of se
Nov 06 15:28:18 kind syncthing[4221]: [XXXXX] INFO: Completed initial scan of se
Nov 06 15:28:18 kind syncthing[4221]: [XXXXX] INFO: Completed initial scan of se
Nov 06 15:28:19 kind syncthing[4221]: [XXXXX] INFO: Completed initial scan of se
Nov 06 15:28:20 kind syncthing[4221]: [XXXXX] INFO: Completed initial scan of se

, как и ожидалось. И тогда синхронизация работает, как и ожидалось, до следующей перезагрузки.

Обратите внимание, что у меня есть зашифрованный домашний каталог. Это был тот случай, когда я тоже использовал 16.04.

4
задан 7 November 2018 в 23:33

2 ответа

У Вас есть та же проблема, чем https://unix.stackexchange.com/q/417162/116970

Я предложил бы, чтобы Вы добавили a After= и a Requires= строка на Вашем syncthing.service в [Unit] разделите так, чтобы syncthing был выполнен после того, как домашняя папка смонтирована.

Больше spefically, Вы попытка coud:

[Unit]
Description=Syncthing - Open Source Continuous File Synchronization
Documentation=man:syncthing(1)
After=home-yourusername.mount
Requires=home-yourusername.mount

...

и замените yourusername своим именем пользователя

0
ответ дан 7 November 2018 в 23:33

Кредит https://unix.stackexchange.com/questions/417162/use-systemd-user-services-with-ecryptfs/545704#545704


Это ошибка в конфигурации пакета ecryptfs. Вы можете использовать быстрое исправление: Откройте файл /etc/pam.d/common-session и измените строки

session optional        pam_systemd.so
session optional        pam_ecryptfs.so unwrap

на

session optional        pam_ecryptfs.so unwrap
session optional        pam_systemd.so

, чтобы pam_systemd.so загружался после pam_ecryptfs.so

.
1
ответ дан 6 July 2020 в 21:21

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

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