Служба Systemd для автономной работы в режиме onimimap + gpg внутри Tmux работает вручную после запуска системы, но не автоматически

Краткое описание, что я ищу:

Я хочу, чтобы отдельная сессия tmux автоматически запускалась в качестве системной пользовательской службы. Внутри этого файла offlineimap должен запускать и расшифровывать мои учетные данные. Графический вариант pinentry должен задать мне пароль для дешифрования моих учетных данных для входа, когда я присоединяюсь к сеансу. Для управления моими учетными данными я хочу использовать пропуск программы.

Что у меня до сих пор:

Желаемое поведение работает отлично и воспроизводимо (начиная с перезагрузки), когда я запускаю службу пользователя после входа в систему.

Но, к сожалению, это не работает, когда я делаю «symstemctl –user enable mail.service» и перезагружается:

$ systemctl --user status mail ● mail.service - load offlineimap for all mail accounts inside tmux Loaded: loaded (/home/toogley/.dotfiles/systemd/user/mail.service; enabled; vendor preset: enabled) Active: inactive (dead) $ tmux attach-session -t mail can't find session mail 

Я понятия не имею, что я могу проанализировать или что может быть причиной. Есть ли у кого-нибудь советы по решению этой проблемы?

Большое спасибо!

Мой почтовый сервис

 Description=load offlineimap for all mail accounts inside tmux After=network.target graphical.target Requires=gpg-agent.service [Service] Type=oneshot RemainAfterExit=yes ExecStart=/usr/bin/tmux new-session -d -s mail -n dev 'export GPG_TTY=$(tty) && \ offlineimap' ExecStop=/usr/bin/tmux kill-window -t mail ExecReload=/usr/bin/kill -s USR1 $(pgrep offlineimap) [Install] WantedBy=graphical.target 

мой gpg-agent.service:

 [Unit] Description=GnuPG private key agent IgnoreOnIsolate=true [Service] Type=forking ExecStart=/usr/bin/gpg-agent --daemon --homedir=%h/.gnupg ExecStop=/usr/bin/pkill gpg-agent Restart=on-abort [Install] WantedBy=default.target 

Мой ~ / .offlineimaprc

 [general] accounts = dev ui = ttyui metadata = ~/.dev_offimap pythonfile=~/.dotfiles/mutt/accounts/decrypt.py [Account dev] synclabels = yes localrepository = dev-local remoterepository = dev-remote status_backend = sqlite autorefresh = 1 quick = 10 [Repository dev-local] type = Maildir localfolders = ~/mail/dev/ [Repository dev-remote] remotepasseval = get_pass("toogley@mailbox.org") ssl = yes type = IMAP remotehost = imap.mailbox.org remoteuser = toogley@mailbox.org sslcacertfile = /etc/ssl/certs/ca-bundle.crt keepalive = 60 holdconnectionopen = yes 

One Solution collect form web for “Служба Systemd для автономной работы в режиме onimimap + gpg внутри Tmux работает вручную после запуска системы, но не автоматически”

Кажется, что то, что меня ищут, в настоящее время невозможно.

Первоначально я неправильно читал описание graphical.target – я думал, что эта цель будет установлена ​​после того, как логин произошел. Вместо этого он просто настраивает экран входа в систему (например, lightdm). А для «входа в графический рабочий стол» в настоящее время не существует никакой цели.

В ArchLinux Wiki описывается метод запуска диспетчера окон для системных пользовательских сервисов – что не работает для меня, потому что это зависит от того, когда пользователь входит в lightdm.

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

  • Почему использование служебной команды работает в системном дистрибутиве?
  • Как удалить (не отключить / маску) блок в Systemd?
  • Очистка списка coredumpctl
  • Systemd weirdness: невозможно добавить зависимость, существует файл
  • При создании демона init.d, какой файл .service?
  • Как настроить уровень запуска 3 в Debian 8?
  • Как написать файл служебного блока systemd, чтобы он до тех пор, пока не запущен какой-либо конкретный интерфейс?
  • Как автоматически импортировать зашифрованный ZFS-пул без загрузки root при загрузке?
  • Управление другими системными модулями пользователя
  • Автоматическое прекращение процесса systemctl
  • Просмотр stdout / stderr службы systemd
  • Interesting Posts

    Добавьте двойную кавычку, если между словами в столбце есть пробел

    завиток с переменными на скрипте bash

    Рекомендация по файловой системе для встроенного устройства – ОЗУ или USB

    возможно ли создать макрокомандующую пользовательскую команду оболочки?

    Как заставить сервер X создавать определенные ключи и состояние?

    Где находится информация о формате файловой системы, хранящемся на внешних жестких дисках

    Как печатать с клиента CUPS 1.5 на сервер CUPS 1.7?

    Как установить инструменты программирования в корневой каталог, чтобы они могли использоваться пользователями, не являющимися администраторами?

    Как создать подкаталог, в котором у моей группы нет разрешений на запись?

    CVLC: имя alsa?

    Разница между find ~ и find *

    Как удалить этот неуправляемый каталог?

    Пакет установлен и не установлен одновременно

    Виртуальные последовательные порты / dev / pts

    Beaglebone Black не может отправлять сырые пакеты UDP с Python на ноутбук под управлением Ubuntu 16.04

    Linux и Unix - лучшая ОС в мире.