Não é possível abrir o cacau emacs do terminal usando open -a

Não é possível abrir o cacau emacs do terminal usando open -a

Instalei o emacs no meu MacBook Air executando o Mac OS X 10.6.5 deste sitehttp://emacsformacosx.com/. Acredito que isso é o que costumava ser chamado de cacau emacs. Arrastei-o para minha pasta de aplicativos e funciona bem quando o executo de lá. Quero poder executá-lo a partir do Terminal. Depois de pesquisar no Google, tentei open -a /Application/Emacs.app foo.txt(foo.txt era um arquivo existente). Eu tenho duas janelas do emacs - uma com tela de boas-vindas e outra com foo.txt carregado. Tentei alguns aplicativos no diretório /Applications e eles não pareciam se comportar assim. Eu o instalei usando minha própria conta (uma conta de administrador), então, depois de fazer ls -lisso, /Applicationpercebi que o proprietário e o grupo eram diferentes das outras entradas nesta pasta. Mudei recursivamente o proprietário e o grupo para root e wheel, como os outros, mas isso não ajudou. A única coisa que parece engraçada agora é que ls -l mostra um caractere @ que tem algo a ver com atributos estendidos, mas não sei como verificá-los.

Alguma sugestão sobre o que verificar a seguir?

Usar o comando open é o único para executar o programa? Posso simular o que ele faz usando um script de shell?

Responder1

Você não entendeu como openfunciona: Com o seu comando open /Application/Emacs.app foo.txtvocê diz openpara abrir dois arquivos, ou seja, o Emacs e o arquivo txt, mas essas são duas operações diferentes: Primeiro, o emacs será iniciado e depois foo.txtserá carregado com o programa padrão para .txtarquivos, que é aparentemente Emacs no seu caso.

Contanto que o Emacs seja o padrão para este tipo de arquivo, apenas usar open foo.txtabriria o arquivo no Emacs, mas se não for o padrão, você teria que usar open foo.txt -a /Applications/Emacs.app(a -aopção diz ao open qual aplicativo usar) ou talvez você possa entregá-lo over como parâmetro com a --argsopção assim: open /Applications/Emacs.app --args foo.txt.

Responder2

Na verdade, isso é um pouco estranho; para minha instalação (que fiz com o homebrew), open -a Emacs file.txt funciona bem… talvez você deva reconstruir seu banco de dados LaunchServices? Mas de qualquer forma, você poderá chamar o executável diretamente com

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

informação relacionada