Я настроил синхронизацию в качестве системной пользовательской службы на компьютере 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.
У Вас есть та же проблема, чем 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 своим именем пользователя
Это ошибка в конфигурации пакета 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
.