Значок в диалоговом окне аутентификации исходит от приложения, использующего команду.
Чтобы получить пользовательский значок для значка, вы можете использовать вспомогательное приложение AppleScript для запуска сценария, но если osascript
это все, что вы делаете, вы можете просто делать все, используя приложение (в противном случае все, что вы делаете, это используете osascript
для запуска AppleScript, который запускает osascript
).Чтобы создать приложение для osascript
, отредактируйте сценарий в Редакторе сценариев , например:
do shell script "echo 'this is a test' >> ~/Desktop/Testing.txt" with administrator privileges
, затем сохраните его как приложение (оставьте параметры не отмеченными).Переименуйте копию файла значка, который вы хотите использовать, в applet.icns , откройте комплект приложений и замените существующий файл значка в / Contents / Resources / .Затем вы можете запустить приложение из Terminal , используя open /path/to/your/app
Основной значок по-прежнему будет замком, но значок теперь будет значком вашего приложения.
Передача аргументов в приложение немного отличается от osascript , но немного AppleScriptObjC позаботится об этом:
use framework "Foundation"
use scripting additions
# the first argument item is the applet/droplet executable path, so we'll just skip that
set args to rest of (arguments of current application's NSProcessInfo's processInfo() as list)
if args is not {} then
do shell script "echo " & first item of args & " >> ~/Desktop/Testing.txt" with administrator privileges
end if
Вы можете запустить, что с помощью open /path/to/your/app --args “this is a test”