Executando um aplicativo de linha de comando com sudo e senha automaticamente na inicialização do OS X

0

Eu preciso executar um aplicativo na inicialização / login no meu mac. Eu quero que ele seja lançado em segundo plano e comece a funcionar sem me interromper ou ter que iniciá-lo porque eu invariavelmente me esqueço e quando preciso, ele não estava funcionando!

Eu tentei usar o AppleScript para dizer ao Terminal para executá-lo e digitar minha senha, mas ele acaba abrindo várias janelas do Terminal e não está funcionando. O ideal é que eu precise de um script que eu possa adicionar aos itens de login do usuário e ele será executado por mim.

O aplicativo não tem como usar um argumento de senha e ele tem uma senha e também o sudo! Eu preciso de uma solução que pode ser feita como um applescript (que pode ser feito em um executável) ou eu preciso de um script de linha de comando, mas eu não tenho idéia sobre eles.

Este é o código manual que eu digito

$ sudo serverStatus
password:123456
password:serverpass

Meu AppleScript:

tell application Terminal
 activate
 do shell script "sudo serverStatus"
 delay 5
 do shell script "123456"
 delay 2
 do shell script "serverpass"
end tell
    
por Designer023 18.06.2012 / 10:38

1 resposta

2

do shell script é usado para executar scripts de shell dentro de um AppleScript e não abre uma janela do Terminal. Você poderia abrir uma nova janela do Terminal com do script e depois emular digitando as senhas com keystroke .

tell application "Terminal"
    do script "sudo serverStatus"
    activate
end tell
delay 1
tell application "System Events"
    keystroke "login password" & return
    delay 1
    keystroke "server password" & return
end tell

Se você quiser, também pode usar um gancho de login que seria executado depois de fazer login sua conta de usuário. Esse gancho poderia chamar o AppleScript apropriado com:

osascript /path/to/script.scpt

Mas isso parece ser um pouco demais se você pudesse adicioná-lo aos itens de login manualmente.

    
por 18.06.2012 / 14:16