Como carregar o offlineimap plist no launchctl sem sudo no OSX?

1

Gostaria de ter o launchd executando o offlineimap a cada poucos minutos para atualizar meu diretório de mensagens do mutt. Eu não consigo obter o arquivo plist para offlineimap para ser carregado sem usar sudo embora.

Ao executar

launchctl load -S Aqua /path/to/plist

Eu recebo um erro:

launch_msg(): Socket is not connected

O que eu acredito está relacionado a eu não ter permissões sudo para o socket.

Tentando

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

É executado sem nenhum problema, mas o offlineimap procura o .offlineimaprc em / var / root, o que é inútil. Eu acredito que isso é porque o offlineimap está sendo executado como usuário root.

Alguém pode oferecer sugestões? Estou prestes a arrancar meu cabelo.

RESPOSTA

Eu estava usando o iTerm2 como meu cliente de terminal. Isso não aparece para um aplicativo Aqua, portanto, não consigo acessar o soquete da sessão aqua com launchctl. Executar o mesmo comando no Terminal.app também me permitiu.

Obrigado a Gordon pela sugestão que levou à resposta.

    
por Michael Barton 20.01.2011 / 20:08

2 respostas

2

Esse é o erro que o launchctl dá quando você não faz parte do tipo de sessão apropriado. Nesse caso, parece que você está tentando carregar o item de inicialização em uma sessão do Aqua (ou seja, login da GUI), e isso está falhando porque você não está executando em uma sessão desse tipo. Você está entrando no computador ou algo parecido?

BTW, o motivo pelo qual ele funciona quando sudoed é que executar launchctl como root sempre fala com a sessão do sistema (aparentemente isso substitui a opção -S Aqua ), que está sempre lá.

    
por 22.01.2011 / 18:05
1

Se você ainda quiser usar o launchctl do iTerm2, você também pode fazer isso:

sudo launchctl load -F /path/to/plist

Isso deve funcionar, já que eu também tenho o mesmo problema quando tento fazer uma carga "normal" do iTerm2

    
por 27.08.2011 / 09:27