Я пытаюсь написать приложение, используя Applescript в Automator, которое работает на терминале на Mac Air под управлением Sierra. Учетная запись, использующая приложение, имеет установленный родительский контроль, но мне нужно дать им доступ к терминалу для запуска приложения. В конечном счете, мы не хотим, чтобы пользователи аккаунта имели доступ к терминалу. Итак, я пытаюсь найти способ удалить или скрыть псевдоним.
Я могу удалить псевдоним, используя приведенный ниже скрипт, но когда они снова пытаются использовать приложение, оно не работает, потому что терминал больше не доступен:
tell application "System Events" to delete alias "/Path/to/Library/Managed Items/My Applications/Terminal"
end tell
Когда я пытался скрыть псевдоним, как показано ниже, я получаю сообщение об ошибке, утверждающее, что для процесса нельзя установить значение false:
tell application "System Events"
set visible of application process "/Path/to/Library/Managed Items/My Applications/Terminal" to false
end tell
Не уверен, смогу ли я загрузить Терминал в начале скрипта, а затем удалить его в конце ИЛИ, если есть способ скрыть псевдоним.
Любые предложения будут ценны!!
Вот весь мой код:
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
Любые улучшения будут с благодарностью! Я новичок в написании сценариев, поэтому я запутался в большей части этого.