Estou tentando escrever um aplicativo usando o Applescript no Automator que é executado no terminal em um Mac Air executando o Sierra. A conta usando o aplicativo tem o controle dos pais definido, mas eu preciso dar-lhes acesso ao terminal para executar o aplicativo. Por fim, não queremos que os usuários da conta tenham acesso ao terminal. Então, estou tentando descobrir uma maneira de excluir ou ocultar o alias.
Eu posso excluir o alias usando o script abaixo, mas quando eles tentam usar o aplicativo novamente, isso não funciona porque o Terminal não está mais disponível:
tell application "System Events" to delete alias "/Path/to/Library/Managed Items/My Applications/Terminal"
end tell
Quando tentei ocultar o alias, como visto abaixo, recebi um erro informando que o processo não pode ser definido como falso:
tell application "System Events"
set visible of application process "/Path/to/Library/Managed Items/My Applications/Terminal" to false
end tell
Não tenho certeza se posso carregar o Terminal no início do script e, em seguida, excluí-lo no final OU se houver uma maneira de ocultar o alias.
Qualquer sugestão seria muito apreciada !!
Aqui está o meu código inteiro:
on run {input, parameters}
tell application "System Events"
key code 21 using option down
end tell --used to deactivate trackpad
tell application "Terminal"
activate
tell application "Terminal"
do script "su <admin account>" --not root
delay 2
tell application "System Events"
keystroke "<password>" & return
delay 2
keystroke "sudo kextunload /System/Library/Extensions/AppleUSBTopCase.kext/Contents/PlugIns/AppleUSBTCKeyboard.kext/" & return --used to disable keyboard
delay 2
keystroke "<password>" & return
delay 2
keystroke "exit" & return
delay 2
tell application "Terminal"
do script with command "rm -R release.zip; rm -R release; wget https://URL/for/webserver/release.zip; unzip release.zip; rm -rf __MACOSX" in window 1 --deletes old configuration .zip file and folder; downloads new configuration files; unzips new configuration files
delay 15
end tell
tell application "Terminal"
do script with command "su <admin account>" in window 1
delay 2
tell application "System Events"
keystroke "<password>" & return
delay 2
keystroke "sudo kextload /System/Library/Extensions/AppleUSBTopCase.kext/Contents/PlugIns/AppleUSBTCKeyboard.kext/" & return --reloads keyboard
delay 2
keystroke "exit" & return
delay 2
end tell
tell application "Terminal"
do script with command "release/pc-release-mac.command --config config.properties; exit" in window 1 --Launches print release software
end tell
end tell
end tell
delay 2
tell application "Terminal"
quit
end tell
end tell
end tell
end tell
tell application "System Events"
key code 21 using option down
end tell --reactivates trackpad
return input
end run
Qualquer melhoria seria muito apreciada! Eu sou novo no script, então eu me atrapalhei com a maior parte disso.