systemdサービス/タイマーを介してメールをオフラインimapと同期します。 GNOMEキーリングからパスワードを取得します。

systemdサービス/タイマーを介してメールをオフラインimapと同期します。 GNOMEキーリングからパスワードを取得します。

systemdサービスを介してOfflineimapを使用してmuttが自分のメールを自動的に同期しようとしています。使っていますこれら/etc/systemd/userファイルをこのフォルダに移動します。

ただし、gnome-keyringとpassを介してパスワードを保存しますsecret-tool lookup user [user] domain gmail.com。これはコマンドラインで機能しますが、サービスは次を返します。

user@computer:~/.dotfiles$ systemctl --user -l status offlineimap.service
● offlineimap.service - Offlineimap Service
   Loaded: loaded (/etc/systemd/user/offlineimap.service; enabled; vendor preset: enabled)
   Active: failed (Result: exit-code) since Fri 2016-06-10 10:03:43 CEST; 11s ago
  Process: 5193 ExecStart=/usr/bin/offlineimap -o -u syslog (code=exited, status=1/FAILURE)
 Main PID: 5193 (code=exited, status=1/FAILURE)

Jun 10 10:03:40 computer offlineimap[5193]: Establishing connection to imap.gmail.com:993
Jun 10 10:03:43 computer ERROR[5193]: While attempting to sync account 'MyAccount'
                                       Command 'secret-tool lookup user myaccount domain gmail.com' returned non-zero exit status 1
Jun 10 10:03:43 computer offlineimap[5193]: *** Finished account 'MyAccount' in 0:03
Jun 10 10:03:43 computer ERROR[5193]: Exceptions occurred during the run!
Jun 10 10:03:43 computer ERROR[5193]: While attempting to sync account 'MyAccount'
                                       Command 'secret-tool lookup user myaccount domain gmail.com' returned non-zero exit status 1
Jun 10 10:03:43 computer Traceback[5193]:   File "/usr/lib/python2.7/site-packages/offlineimap/accounts.py", line 263, in syncrunner
                                             self.__sync()
                                           File "/usr/lib/python2.7/site-packages/offlineimap/accounts.py", line 326, in __sync
                                             remoterepos.getfolders()
                                           File "/usr/lib/python2.7/site-packages/offlineimap/repository/IMAP.py", line 390, in getfolders
                                             imapobj = self.imapserver.acquireconnection()
                                           File "/usr/lib/python2.7/site-packages/offlineimap/imapserver.py", line 511, in acquireconnection
                                             self.__authn_helper(imapobj)
                                           File "/usr/lib/python2.7/site-packages/offlineimap/imapserver.py", line 411, in __authn_helper
                                             if func(imapobj):
                                           File "/usr/lib/python2.7/site-packages/offlineimap/imapserver.py", line 350, in __authn_login
                                             self.__loginauth(imapobj)
                                           File "/usr/lib/python2.7/site-packages/offlineimap/imapserver.py", line 203, in __loginauth
                                             imapobj.login(self.username, self.__getpassword())
                                           File "/usr/lib/python2.7/site-packages/offlineimap/imapserver.py", line 159, in __getpassword
                                             self.password = self.repos.getpassword() or \
                                           File "/usr/lib/python2.7/site-packages/offlineimap/repository/IMAP.py", line 332, in getpassword
                                             return self.localeval.eval(passwd)
                                           File "/usr/lib/python2.7/site-packages/offlineimap/localeval.py", line 48, in eval
                                             return eval(text, names)
                                           File "<string>", line 1, in <module>
                                           File "/home/user/.mutt/offlineimap.py", line 8, in get_keychain_pass
                                             stderr=subprocess.STDOUT)
                                           File "/usr/lib64/python2.7/subprocess.py", line 573, in check_output
                                             raise CalledProcessError(retcode, cmd, output=output)
Jun 10 10:03:43 computer systemd[1075]: offlineimap.service: Main process exited, code=exited, status=1/FAILURE
Jun 10 10:03:43 computer systemd[1075]: Failed to start Offlineimap Service.
Jun 10 10:03:43 computer systemd[1075]: offlineimap.service: Unit entered failed state.
Jun 10 10:03:43 computer systemd[1075]: offlineimap.service: Failed with result 'exit-code'.

問題がdbus通信にある可能性があることに気づきましたが、解決策がわかりません。誰でも洞察力を提供できますか?

編集する:

提案されているように、[Repository YOUR_ACCOUNT-remote]セクションに以下を追加して、XOAUTH2に関連する(無害な)警告を解決しました。このフォーラムトピック

auth_mechanisms = LOGIN

しかし、この質問は関係ありませんが、混乱を防ぐために、上記のエラーを更新しました。

答え1

私が想像できる1つの解決策はシステム環境変数またはシステム実行環境オフラインのIMAPパスワードスクリプトに環境変数(パスワードなど)を反映させます。クライアント証明書を試すこともできます。

関連情報