2008-10-01 3 views
6

У меня есть небольшая программа, которую я хочу открыть автоматически, когда мой Mac запущен.Как я могу автоматически запускать программу в OSX?

Поскольку эта программа принимает аргументы командной строки, его не так просто, как только собирается система PREFS/счетов/Вход элементов и добавить его там ...

от Google, я прочитал, что я могу создать .profile файл в домашней папке моего пользователя, и это выполнит все, что я в него вложу ... Итак, у меня есть страница .profile в ~ примерно так:

-rw-r-r - @ 1 matt staff 27 27 сентябрь 13:36 .profile

, который содержит этот ...

/App lications/mousefix 3.5

Но он не запускается при запуске! Если я вхожу в «/ Applications/mousefix 3.5» вручную в терминал, он работает.

Любые идеи?

+0

Ваш .profile предполагается запустить при открытии терминала, не при запуске, а не при входе в GUI. Это работает? – 2008-10-01 16:16:47

ответ

11

Отсюда и в будущее, заглянуть в launchd за то, что вы хотите сделать. Все другие методы устарели или теперь не поддерживаются. Это, вероятно, немного тяжелее, чем вы хотите.

Возможно, это также проблема с вашей версией оболочки bash, которая неправильно выполнила ваш .profile. Попробуйте поместить команду в .bashrc в свой домашний каталог и посмотрите, поможет ли это.

0

Вы всегда можете написать сценарий оболочки, который запускает его с аргументами, которые вы хотите

3

Самый общий способ запуска вещей при запуске на MacOS - использовать launchd. Вы можете создать файл plist, чтобы сообщить ему о запуске вашей программы при запуске, который может включать в себя аргументы.

4

Вы можете использовать Lingon, чтобы помочь построить файл plist для launchd.

1

Вы можете использовать Applescript, который может запускать команды терминала, а затем запустить этот applescript при запуске.

0

Спасибо всем. Решение launchd довольно круто, да, его тяжеловес для такой простой вещи, но его хорошо знать, и как разработчик я рад поработать о :)

+0

launchd на самом деле не весь этот тяжеловес - он идет на несколько длин, чтобы быть настолько эффективным, насколько это возможно для того, что он делает. Это Open Source, поэтому вы можете сами проверить это, если хотите: http://launchd.macosforge.org/ – 2008-10-03 09:30:36

1

.profile и .bash_profile только приходят в игру, когда вы открываете новую оболочку (т.е. открытие терминала или ввод через SSH). Кроме того, я считаю, если Баш обнаруживает .bash_profile он не будет искать .profile
Если вы хотите начать после входа в систему, я хотел бы посмотреть на другие предложения о

запуск программ
Смежные вопросы