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 -l
isso, /Application
percebi 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 open
funciona: Com o seu comando open /Application/Emacs.app foo.txt
você diz open
para 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.txt
será carregado com o programa padrão para .txt
arquivos, que é aparentemente Emacs no seu caso.
Contanto que o Emacs seja o padrão para este tipo de arquivo, apenas usar open foo.txt
abriria o arquivo no Emacs, mas se não for o padrão, você teria que usar open foo.txt -a /Applications/Emacs.app
(a -a
opção diz ao open qual aplicativo usar) ou talvez você possa entregá-lo over como parâmetro com a --args
opçã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