Попытайтесь использовать D-шину для запросов информации о сессии от logind
сервис. Это имеет org.freedesktop.login1.Manager
интерфейс с несколькими сигналами как SessionNew
и SeatNew
. org.freedesktop.login1.Seat
и org.freedesktop.login1.User
интерфейсы. Это может помочь получить состояние Сессии/Места/Пользователя.
Я попытался lftp
:
lftp -c "torrent $1"
, где $1
- файл .torrent
.
В отличие от
lftp -e "torrent $1"
lftp -c
должен выйти после выполнения команды ( lftp -e
оставляет вас в своей команде).
Это также делает посев. (Я пока не знаю, как посев взаимодействует с -c
.)
Это на самом деле делается lftp -c
:
сначала я запустил его. И команда закончила через некоторое время:
Name: lib.ru_2007-03-05.7z
dn:1.7G up:0 complete, ratio:0.000000
Seeding in background...
[15137] Moving to background to complete transfers...
$
Проверка, что она все еще активна (посев) в фоновом режиме:
$ ps x | fgrep lftp
15137 ? Ss 0:37 lftp -c torrent lib.ru_2007-03-05.7z.4fb7e98d43804eca.torrent
67517 pts/3 S+ 0:00 grep -F --color=auto lftp
$
-121--26920- Вы, конечно, можете прочитать источник tar
, чтобы проверить себя.
Проще говоря, tar
не интерпретирует последовательность байтов, составляющих имя файла. Как и ядро, оно рассматривает его как абстрактную последовательность байтов. Так что это «безопасно», в том смысле, что пригодные для использования файлы будут извлечены.
В среде распаковки файлов пользовательские инструменты могут интерпретировать имена файлов как различные символы; это всегда проблема с изменением языковых стандартов, но не специфичная для транспорта (tar, NFS, FTP,...).
-121--92185-Возможно, вы могли бы использовать radicale , хотя я использую его только ежедневно для своей повестки дня.
Отредактируйте: о безопасности: в документации указано, что аутентификационные модули не были тщательно протестированы, и что вы должны полагаться на соответствующий HTTP-сервер, если это вас беспокоит. В моем случае я прибил проблему, ограничив доступ к порту на маршрутизаторе, что делает календарь доступным только через пересылку порта ssh. Я полагаю, что это, вероятно, не жизнеспособное решение в вашем случае, и вам придется использовать правильный http-сервер.