1

Я установил emacs на свой MacBook Air под управлением Mac OS X 10.6.5 с этого сайта http://emacsformacosx.com/. Я считаю, что это то, что раньше называлось Emacs какао. Я перетащил его в папку «Приложение», и он отлично работает, когда я запускаю его оттуда. Я хочу иметь возможность запустить его из терминала. После некоторого поиска в Google я попытался open -a /Application/Emacs.app foo.txt (foo.txt был и существующим файлом). Я получил два окна emacs - одно с экраном приветствия и другое с загруженным файлом foo.txt. Я попробовал несколько приложений в каталоге /Applications, и они, похоже, не вели себя так. Я установил его, используя свою собственную учетную запись (учетную запись администратора), поэтому после выполнения команды ls -l on /Application я заметил, что владелец и группа отличались от других записей в этой папке. Я рекурсивно изменил владельца и группу на root и wheel, как и другие, но это не помогло. Единственное, что сейчас выглядит забавно, это то, что ls -l показывает символ @, который имеет отношение к расширенным атрибутам, но я не знаю, как это проверить.

Любые предложения о том, что проверить дальше?

Используется ли команда open только для запуска программы? Могу ли я симулировать, что он делает, используя скрипт оболочки?

2 ответа2

0

Вы неправильно понимаете, как работает open : вашей командой open /Application/Emacs.app foo.txt вы говорите open чтобы открыть два файла, а именно Emacs и txt файл, но это две разные операции: сначала запускается emacs, а затем foo.txt будет загружен с программой по умолчанию для файлов .txt , которая, по-видимому, является Emacs в вашем случае.

Пока Emacs является значением по умолчанию для этого типа файлов, просто использование open foo.txt откроет файл в Emacs, но если это не значение по умолчанию, вам придется использовать open foo.txt -a /Applications/Emacs.app (ключ -a сообщает open, какое приложение использовать) или, возможно, вы можете передать его как параметр с параметром --args например так: open /Applications/Emacs.app --args foo.txt .

0

Это на самом деле немного странно; для моей установки (которую я сделал с homebrew), откройте -a Emacs file.txt работает нормально ... может быть, вам следует перестроить базу данных LaunchServices? Но в любом случае вы должны иметь возможность вызывать исполняемый файл напрямую с

/Applications/Emacs.app/Contents/MacOS/Emacs file.txt

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .