Nie można otworzyć emacs kakao z terminala przy użyciu open -a

1

Zainstalowałem emacsa na moim MacBooku Air z systemem Mac OS X 10.6.5 z tej strony http://emacsformacosx.com/ . Uważam, że tak właśnie nazywano emaki kakaowe. Przeciągnąłem go do folderu aplikacji i działa dobrze, gdy go uruchomię. Chcę móc uruchomić go z terminala. Po pewnym googlowaniu spróbowałem open -a /Application/Emacs.app foo.txt(foo.txt był i istniejący plik). Mam dwa okna emacsa - jedno z ekranem powitalnym i jedno z załadowanym plikiem foo.txt. Wypróbowałem kilka aplikacji z katalogu / Applications i nie wyglądały tak. Zainstalowałem go przy użyciu własnego konta (konta administratora), więc po zrobieniu ls -ltego/ApplicationZauważyłem, że właściciel i grupa różnią się od innych pozycji w tym folderze. Rekurencyjnie zmieniłem właściciela i grupę na root i wheel, podobnie jak inni, ale to nie pomogło. Jedyną rzeczą, która wygląda teraz zabawnie, jest to, że ls -l pokazuje znak @, który ma coś wspólnego z rozszerzonymi atrybutami, ale nie wiem, jak to sprawdzić.

Wszelkie sugestie dotyczące tego, co następnie sprawdzić?

Czy użycie polecenia open służy tylko do uruchomienia programu? Czy mogę symulować to, co robi za pomocą skryptu powłoki?

Shane Mcpherson
źródło
chcesz emacs załadować / w / okno terminalu? A może chcesz, aby okno odradzało się tak, jak opisano? Myślę, że jeśli jesteś w Terminalu, możesz po prostu uruchomić emacsa w Terminalu, ale mogę się mylić. Sugestia Asmusa zadziałałaby, jeśli chcesz tego pierwszego.
Avery Chan,

Odpowiedzi:

0

Nie rozumiesz, jak to opendziała: za pomocą polecenia open /Application/Emacs.app foo.txtkażesz openotworzyć dwa pliki, mianowicie Emacsa i plik txt, ale są to dwie różne operacje: Najpierw uruchomi się emacs, a następnie foo.txtzostanie załadowany domyślnym programem do .txtplików, który jest najwyraźniej Emacs w twoim przypadku.

Tak długo, jak Emacs jest domyślny dla tego typu pliku, samo użycie open foo.txtspowoduje otwarcie pliku w Emacsie, ale jeśli nie jest to domyślny, będziesz musiał użyć open foo.txt -a /Applications/Emacs.app( -aprzełącznik mówi open jakiej aplikacji użyć), a może możesz go podać na jako parametr z --argsopcją tak: open /Applications/Emacs.app --args foo.txt.

Sven
źródło
On jest za pomocą -aprzełącznika.
Daniel Beck
0

To jest trochę dziwne; w mojej instalacji (co zrobiłem z homebrew), otwórz plik Emacs.txt działa dobrze… może powinieneś przebudować bazę danych LaunchServices? Ale i tak powinieneś być w stanie wywołać plik wykonywalny bezpośrednio za pomocą

/Applications/Emacs.app/Contents/MacOS/Emacs file.txt
Asmus
źródło