Mac os запуск программы с параметрами
Системные настройки позволяют задать общесистемные предпочтения, однако некоторые приложения имеют собственные возможности для настройки. Я уже говорил, что поиск нужных настроек в Windows больше напоминает игру в прятки, но Mac избавит вас от этого, поскольку любая программа располагает свое меню в верхней панели сразу после меню Apple. Просто нажмите название программы и выберите пункт «Настройки» (Preferences).
К примеру, кликните по свободному месту рабочего стола и в появившемся меню программы Finder выберите пункт «Настройки».
Стандартное окно настроек программы Finder. Доступные опции выделены в несколько категорий: «Общие» (General), «Этикетки» (Labels), «Боковое меню» (Sidebar) и «Дополнительно» (Advanced). Переключаться между категориями нужно, нажимая соответствующие иконки. Эти категории я также называю закладками, или панелями.
Нажмите название программы, в выпадающем меню выберите пункт «Настройки», чтобы добраться до настроек программы. В данном случае это Finder. Окно настроек Finder имеет четыре закладки: «Общие», «Этикетки», «Боковое меню» и «Дополнительно».
Общий алгоритм работы с настройками программ таков:
1. Разверните меню, повторяющее название программы, и затем нажмите «Настройки» (Preferences). Приложение выведет на экран свои настройки.
2. Нажмите вкладку, содержащую настройки, которые вы хотите изменить.
3. Внесите свои изменения в настройки. Как в случае с системными настройками, настройки приложения представляют собой средства управления - текстовые поля, флаговые кнопки, кнопки выбора, всплывающие меню и списки.
4. Повторите пункты 2 и 3, чтобы установить другие настройки приложения.
5. Когда закончите, нажмите кнопку «Закрыть» (Close button).
Работая с системными настройками, вы можете обнаружить, что некоторые пункты меню недоступны для редактирования. Это сделано для того, чтобы защитить наиболее чувствительные настройки системы от несанкционированного доступа. Таким образом, к примеру, защищается доступ в категорию «Родительский контроль» (Parental Controls).
Чтобы получить доступ к таким разделам, сделайте следующее:
1. Нажмите иконку замка в левом нижнем углу окна. Mac запросит у вас имя и пароль авторизованного пользователя.
2. Введите имя учетной записи администратора в текстовом поле «Имя» (Name), а пароль этой учетной записи - в текстовом поле «Пароль» (Password).
3. Нажмите «Снять защиту» (Unlock). Mac выведет на экран или сделает доступными настройки, а значок закрытого замка поменяется на значок открытого замка.
в Windows я могу добавлять аргументы в свойства ярлыка, но поскольку Mac не используют ярлык как таковой и не запускают приложения напрямую, это невозможно.
я обнаружил, что запуск приложений через bash или Applescript частично работает:
Я могу сделать эти исполняемые файлы и назначить значок, и все работает отлично, за исключением того, что, когда я запускаю любую из этих псевдо-программ, либо окно терминала, либо значок Applescript остается открытым до тех пор, пока приложение открыто. Предположительно, с помощью команды Applescript open бы избежать этого, но так как я не запускаю приложение, как он упакован (просто /Applications/Firefox ), он не работает.
Итак, есть ли лучший способ запускать приложения с аргументы командной строки? Если нет, есть ли способ предотвратить постоянный сеанс терминала или значок Applescript от пребывания открытым, пока приложение открыто?
редактировать
по словам Mozilla Wiki page лучше всего использовать скрипт для запуска приложения с аргументами. Добавление & до конца скрипт убивает персистентное окно терминала. Единственное раздражение теперь заключается в том, что он открывает мертвое окно терминала (которое лучше, чем настойчивый, но все же. )
вот мое лучшее решение: создайте Applescript с помощью:
и сохранить как приложение.
Вы можете поместить любое приложение с любыми аргументами в первой части. Часть после & должен убить все, что вы назвали свой скрипт + .приложение. Вы увидите приложение, скрипт Флэш в доке, но потом исчезают.
Примечание: сценарий не будет работать должным образом при запуске из редактора сценариев, только при запуске из созданный сценарий приложения.
начиная с OS X 10.6.2, команда open может передавать аргументы приложению, которое она открывает, с помощью флага --args. AppleScript для использования выглядит так:
Это должно дать вам все поведение, которое вы хотите.
открыть Automator создать приложение в одном Выполнить Скрипт действие:
Это приложение запустит Firefox и выйти мгновенно, оставив только Firefox работает.
в качестве альтернативы, создайте приложение с помощью AppleScript Editor со следующим кодом AppleScript:
оба работают нормально и не держат ни терминал, ни приложение-скрипт бегает больше секунды или около того. С помощью Automator можно даже создать сервис если вы выбираете так.
Это старая дискуссия, но все еще появляется в поисках Google, поэтому я подумал, что добавлю пару ¢.
Это, наверное, лучше использовать "идентификатор пакета", а не абсолютный путь к исполняемому файлу:
или в сценарии Apple:
что я еще не понял, так это как открыть новый экземпляр/окно с другим профилем, как только первый уже открыт. (Если я запускаю AppleScript выше, то другой с " профилем 2", тогда Chrome по-прежнему будет просто открывать другое окно как "профиль 1"). : (
нет необходимости (как предлагали некоторые другие ответы) использовать killall (или аналогичный), чтобы убить родительский процесс приложения AppleScript ("апплет") в этом сценарии. Он может даже иметь неблагоприятные побочные эффекты если имя / картина, Котор дали к killall матчи больше, чем просто процесс родителей апплета (например, другие, параллельно AppleScript приложений (при использовании "апплет" как шаблон)).
что-то вроде kill $PPID может быть более разумным, но мы не можем предположить, что апплет приложения AppleScript всегда является непосредственным родителем оболочки, запущенной сделать скрипт. К счастью, есть вполне разумный способ сделать то, что вам нужно.
использовать Редактор Скриптов, чтобы сохранить следующую программу в качестве приложения AppleScript:
(функциональные разрывы строк добавлены, чтобы держать его "узкий"; удалить ¬ и \ и поставить все это на одной длинной линии, если хотите)
Он будет работать достаточно долго, чтобы начать Firefox и выйдет чисто пока Firefox продолжает работать.
перенаправление требуется, потому что не только сделать скрипт дождитесь выхода его непосредственного потомка (оболочки), но он также ждет (всех экземпляров) записываемых концов каналов, которые он создает, чтобы stdout и stderr оболочки были закрыты. Оболочки stdout и stderr (сделать скрипт ' ы трубы) наследуются программ, которые он работает без перенаправления (даже те, которые работают в фоновом режиме с & ); перенаправление гарантирует, что оболочка является последней для хранения записываемых концов трубная продукция. Таким образом,сделать скрипт вернется сразу после выхода оболочки, позволяя приложению AppleScript само выйти (так как сделать скрипт - последнее выражение в программе AppleScript).
другие ответы, которые используют открыть внутри сделать скрипт работы за открыть (фактически LaunchServices) выполняет эквивалентную работу по backgrounding результирующей программы и отправке ее stdout и stderr в другом месте.
Все, что будет написано ниже об использовании команды open , в том или ином виде уже встречалось в статьях рубрики Советы и трюки. А тут я просто соберу все эти примеры в одном месте, для удобства.
В командной строке OS X (приложение Терминал) можно выполнять не только консольные команды, но и запускать приложения с графическим интерфейсом.
Запускаем GUI-приложение
Самый простой пример. Откроем приложение TextEdit:
open -a TextEdit
А для приложений, имеющих в своем названии более одного слова, нужно заключить такое название в кавычки. Например:
open -a "Google Chrome"
Открываем файлы
Можно загрузить файл в приложение, назначенное для этого типа файла по умолчанию. Например:
откроет указанный файл в приложении Просмотр. А можно и в приложении не по умолчанию:
open -a "Microsoft Word" text.rtf 🙂
Примечание. Если файл находится не в текущем каталоге, то следует указать и весь путь до него, например:
Открываем каталог в Finder
откроет в Finder каталог Загрузки.
Открываем WEB-адрес
а можно и не в браузере по умолчанию:
Создаем письмо с приложенным файлом
open -a Mail picture.jpg
Удачи!
Свободное общение и обсуждение материалов
Apple представила watchOS 8 почти без нововведений Apple выпустила iOS 14.2.1 для iPhone 12 с исправлением ошибокЛонгриды для вас
Перестановки в штате Apple продолжаются. После ухода Джони Айва и Фила Шиллера рокировке подвергся и Эдди Кью. В отличие от своих коллег, он не покинул компанию, но несколько изменил сферу своей деятельности. Что бы это значило?
Мы все умеем запускать приложения через обычный пользовательский интерфейс, но ведь существует множество способов запустить программу намного быстрее. Если вы проведете достаточно времени за командной строкой, вы сможете легко научиться запускать приложения напрямую. Подобным образом, можно запускать программы через Терминал в текстовом режиме. Если, к примеру, вы хотите редактировать текстовый файл в приложении TextWrangler, а не в текстовом интерфейсе nano, мы расскажем вам, как это сделать.
В Терминале команда для открытия приложений OS X называется ‘open’. Если вы напечатаете в командной строке ‘open’, вот, что вы увидите:
Теперь вы можете редактировать эти файлы в привычном пользовательском интерфейсе. Команда ‘open’ достаточно умная и знает, что когда вы используете параметр -a, вы запускаете приложение, так что вам не нужно полностью указывать путь к программе. Очевидно, вам придется указать директорию, в которой находится файл, который вы хотите редактировать.
Также стоит отметить, что если вы запускаете программу, в названии которой есть пробелы, вам нужно будет поставить обратный слеш после каждого слова. Например, чтобы открыть Adobe Photoshop CS, наберите:
Немножко неудобно так печатать каждый раз, правда? Давайте облегчим себе жизнь, придумав другое имя программе (alias). Как это делается:
или
И пишем в новой строке:
Теперь команда “open -a Adobe\ Photoshop CS” упрощена до ‘photoshop’. Сохраните .profile и готово! Вы можете использовать alias для запуска практически любой программы.
Читайте также: