如何在OSX上没有sudo的情况下将offlineimap plist加载到launchctl中?


1

我想每隔几分钟启动一次offline offlinep来更新我的mutt消息目录。我似乎无法在不使用sudo的情况下将offlineimap的plist文件加载到其中。

跑步时

launchctl load -S Aqua /path/to/plist

我得到了错误:

launch_msg(): Socket is not connected

我认为这与我没有套接字的sudo权限有关。

sudo launchctl load -S Aqua /path/to/plist

运行没有任何问题,但然后offlineimap在/ var / root中查找.offlineimaprc是无用的。我相信这是因为offlineimap以root用户身份运行。

有人可以提供任何建议吗?我准备开始拔头发了。

回答

我使用iTerm2作为我的终端客户端。这似乎不是Aqua应用程序,因此我无法使用launchctl访问aqua会话套接字。在Terminal.app中运行相同的命令也允许我。

感谢戈登的建议导致答案。

Answers:


2

当你不属于适当的会话类型时,这就是launchctl给出的错误。在这种情况下,您似乎正在尝试将启动项目加载到Aqua(即GUI登录)会话中,这是失败的,因为您没有在这样的会话中运行。您是否正在通过SSH连接到计算机或类似的东西?

BTW,它在sudoed时工作的原因是以root身份运行launchctl总是与系统会话进行通信(显然这会覆盖 -S Aqua 选项),总是在那里。


嗨戈登,谢谢你的回答。我在OSX中运行gui会话。但是我使用iTerm2作为终端客户端。使用Terminal.app尝试这个允许我加载plist文件。
Michael Barton

1

如果您仍想使用iTerm2中的launchctl,您也可以这样做:

sudo launchctl load -F /path/to/plist

这应该有效,因为当我尝试从iTerm2进行“正常”加载时,我也遇到了同样的问题

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.