Usando o aplicativo ruby em scripts launchctl

0

No OS X, estou tentando criar um script chamado automaticamente por launchctl .

Este script invocará a aplicação ruby ( jabber-tee e terminal-notifier ) instalada com gem .

Ela é meu script python.

#!/usr/bin/env python

import os

os.environ["PATH"] += os.pathsep + "/usr/local/bin"
os.environ["PATH"] += os.pathsep + "/Applications/Xcode.app/Contents/Developer/usr/bin"
os.environ["PATH"] += os.pathsep + "/opt/local/bin"
os.environ["PATH"] += os.pathsep + "/opt/local/sbin"
os.environ["PATH"] += os.pathsep + "/usr/bin"
os.environ["PATH"] += os.pathsep + "/bin"
os.environ["PATH"] += os.pathsep + "/usr/sbin"
os.environ["PATH"] += os.pathsep + "/sbin"

f = open("reminder.txt")

for line in f:
    tuple = line.split()
    text = tuple[0]
    target = tuple[1]

    os.system('echo  Do not forget me plz! "' + text + '" | /usr/bin/jabber-tee --to ' + target + '@jabber.8d.com')
    os.system('/usr/bin/terminal-notifier -message "Reminded ' + target + '" -title "Reminded"')%

Quando estou executando o script, recebi o seguinte erro.

/usr/bin/jabber-tee:4:in 'require': no such file to load -- jabber-tee/cli (LoadError)
    from /usr/bin/jabber-tee:4
/usr/bin/terminal-notifier:7:in 'require': no such file to load -- terminal-notifier (LoadError)
    from /usr/bin/terminal-notifier:7

Parece que a instrução require não funciona mais com launchctl .

Como posso resolver este problema?

    
por plcstpierre 21.11.2013 / 23:32

1 resposta

0

Parece que você não pode manipular diretamente a variável env com um script executado pelo lauchctl.

Eu tive que invocar o seguinte comando em um terminal

launchctl setenv PATH $PATH
    
por 25.11.2013 / 18:48