Я установил клиент linux onedrive из abraunegg (https://github.com/abraunegg/onedrive) на ubuntu 20 LTS из ppa (https://launchpad.net/~yann1ck/+архив/пунтю/он-драйв).
sudo add-apt-repository ppa:yann1ck/onedrive
sudo apt update
sudo apt install onedrive
После одной перезагрузки я заметил, что onedrive синхронизировал все мои папки при запуске. При изменении вещей в папке Onedrive синхронизация не выполнялась, пока я не сделал
onedrive --synchronize
Когда я был достаточно уверен в том, что это работает, я пытался отслеживать с помощью
onedrive --monitor
Это успешно происходило до тех пор, пока я не убил процесс с помощью ctr + C.
При следующем запуске я заметил, что не только синхронизация выполнялась при запуске, но и мониторинг обновлений выполнялся при включении питания. Как это объяснить? Процесс виден (подробнее см. внизу)
$ pidof onedrive
1602
и отправка сигналов на него напрямую отключает/отключает синхронизацию файлов
kill -STOP 1602
kill -CONT 1602
Однако, ни один из сервисов не был явно запущен. Согласно https://github.com/abraunegg/onedrive/blob/master/docs/USAGE.md, я должен был сделать
systemctl --user enable onedrive
systemctl --user start onedrive
, но не сделал этого (проверено в истории команд).
Правильно ли сконфигурирован клиент onedrive? Или мне следует попытаться остановить/убить запущенный в данный момент процесс и выполнить 2 предыдущие команды? И когда я хочу отредактировать конфигурацию, которая требует
onedrive --synchronize --resync
что мне тогда делать?
Дальнейшие подробности о текущем процессе:
josja@sputter:~$ ps -Flww -p 1602
F S UID PID PPID C PRI NI ADDR SZ WCHAN RSS PSR STIME TTY TIME CMD
0 S josja 1602 1590 0 80 0 - 246222 hrtime 26012 5 20:32 ? 00:00:02 /usr/bin/onedrive --monitor
josja@sputter:~$ systemctl status onedrive@josja.service
● onedrive@josja.service - OneDrive Free Client for josja
Loaded: loaded (/lib/systemd/system/onedrive@.service; disabled; vendor preset: enabled)
Active: inactive (dead)
Docs: https://github.com/abraunegg/onedrive
josja@sputter:~$ systemctl status --user onedrive
● onedrive.service - OneDrive Free Client
Loaded: loaded (/usr/lib/systemd/user/onedrive.service; enabled; vendor pr>
Active: active (running) since Mon 2021-01-04 20:32:49 CET; 2h 31min ago
Docs: https://github.com/abraunegg/onedrive
Main PID: 1602 (onedrive)
CGroup: /user.slice/user-1000.slice/user@1000.service/onedrive.service
└─1602 /usr/bin/onedrive --monitor
jan 04 21:43:21 sputter onedrive[1602]: Sync with OneDrive is complete
jan 04 22:08:28 sputter onedrive[1602]: Starting a sync with OneDrive
jan 04 22:08:28 sputter onedrive[1602]: Syncing changes from OneDrive ...
jan 04 22:08:29 sputter onedrive[1602]: Sync with OneDrive is complete
jan 04 22:33:35 sputter onedrive[1602]: Starting a sync with OneDrive
jan 04 22:33:35 sputter onedrive[1602]: Syncing changes from OneDrive ...
jan 04 22:33:37 sputter onedrive[1602]: Sync with OneDrive is complete
jan 04 22:58:42 sputter onedrive[1602]: Starting a sync with OneDrive
jan 04 22:58:42 sputter onedrive[1602]: Syncing changes from OneDrive ...
jan 04 22:58:43 sputter onedrive[1602]: Sync with OneDrive is complete
systemctl list-unit-files
<...>
onedrive@.service disabled enabled
<...>
Обновление:
Из ответа и моего опыта кажется, что клиент был запущен ppa автоматически таким образом, что можно его остановить и перенастроить с помощью
systemctl --user stop onedrive
onedrive --synchronize --resync
systemctl --user start onedrive
@JOSJA
Это ошибка с пакетом Ubuntu PPA.
Packager, по какой-то причине, решил автоматически включить системные услуги, поэтому, как только уполномоченные, просто начнут работать так, как вы видите.
Вы сделали все правильно, насколько я могу сказать.
Ваши варианты здесь: