Offlineimap + gpg 암호화된 PW 내부 tmux Systemd 서비스는 시스템 시작 후 수동으로 작동하지만 자동으로 작동하지 않습니다.

Offlineimap + gpg 암호화된 PW 내부 tmux Systemd 서비스는 시스템 시작 후 수동으로 작동하지만 자동으로 작동하지 않습니다.

내가 찾고 있는 것에 대한 간단한 설명:

시스템 사용자 서비스로 별도의 tmux 세션이 자동으로 시작되기를 원합니다. 거기에서 오프라인imap은 내 로그인 자격 증명을 시작하고 암호를 해독하도록 되어 있습니다. 세션에 연결할 때 pinentry의 그래픽 변형은 로그인 자격 증명을 해독하는 데 사용할 비밀번호를 묻습니다. 로그인 자격 증명을 관리하기 위해 이 프로그램을 사용하고 싶습니다.통과.

내가 지금까지 얻은 것 :

시스템에 로그인한 후 사용자 서비스를 시작하면 원하는 동작이 완벽하고 재현 가능하게 작동합니다(재부팅 이후).

하지만 불행하게도 "symstemctl --user 활성화 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("[email protected]")
ssl = yes
type = IMAP
remotehost = imap.mailbox.org
remoteuser = [email protected]
sslcacertfile = /etc/ssl/certs/ca-bundle.crt
keepalive = 60
holdconnectionopen = yes

답변1

제가 찾고 있는 것은 현재는 불가능한 것 같습니다.

처음에 설명을 잘못 읽었습니다 graphical.target. 로그인이 발생한 후에 이 대상이 설정될 것이라고 생각했습니다. 대신 로그인 화면만 설정합니다(lightdm과 같은). 현재 "그래픽 데스크탑에 로그온"에 대한 목표는 없습니다.

아치리눅스 위키창 관리자를 시스템 사용자 서비스로 시작하는 방법을 설명합니다. 이는 사용자가 lightdm에 로그인하는 시점에 따라 달라지므로 저에게는 작동하지 않았습니다.

해결 방법으로필요할 때 별칭을 사용하여 서비스를 시작합니다.

관련 정보