OS X emacs: różnica między X11 vs NS vs Cocoa?

10

Sądzę, że istnieją trzy sposoby budowania emacsa na osx --- x11, ns (nextstep?) I kakao. Czy ktoś może wyjaśnić, co oznaczają opcje kompilacji / jaka jest różnica między tymi trzema?

Dan
źródło
1
Minęło kilka miesięcy, odkąd zbudowałem wersję x11 na OSX, ale zajęło mi trochę czasu, aby zorientować się, że konieczne było użycie jej --with-ns=no --with-xjako części opcji wiersza poleceń. Wspominam o tym na wypadek, gdyby ktoś był zainteresowany budowaniem wersji x11 na OSX. Wyobrażam sobie, że zaakceptowana odpowiedź będzie zawierać wzmiankę o materiałach potrzebnych do udanej kompilacji - np. XQuartz (The X Window System) itp.
lista prawników
@lawlist ah, dobrze wiedzieć! Jednym z powodów, dla których zadałem to pytanie, jest to, że chciałem zbudować emacsa z x11 (dla xwidgets) na OSX, ale zastanawiałem się, czy stracę cokolwiek z przejścia z NS na X11.
1
Zobacz ten pokrewny wątek zatytułowany „ Skompilować emacsa za pomocą xwidget w OSX? ”: Emacs.stackexchange.com/questions/25037/ ... Niestandardowe skróty klawiaturowe, na których polegam w wersji GUI wbudowanej Emacsa --with-ns, nie działają w wersji x11, więc tak naprawdę nie byłem jeszcze w stanie produktywnie korzystać z x11. Musiałbym nauczyć się konfigurować alternatywne skróty klawiaturowe w x11 - użytkownicy Linuksa pewnie byliby w domu z wersją x11, ale jestem trochę zagubiony.
prawnik

Odpowiedzi:

12

Istnieje wiele wersji Emacsa dla systemu macOS, w tym:

  • Oficjalny Emacs na macOS jest budowany przy użyciu portu „NS”, znanego również jako port „kakao”. Jak sama nazwa wskazuje, ten port Emacsa pochodzi z Emacsa dla systemu operacyjnego NextSTEP i jest oficjalnym GUI Emacsa na MacOS od Emacsa 23.

  • Mitsuharu Yamamoto-san utrzymuje „port Mac” Emacsa. Zapewnia alternatywny interfejs GUI z innym zestawem funkcji niż port NS. Pochodzi z portu Emacs do Mac OS 8/9 i portu „Carbon” Emacsa 22. (Port ten jest również nazywany Emacsem „kolejowym kotem”, ponieważ tutaj znajduje się brewprzepis).

  • Aquamacs jest oparty na porcie NS Emacsa i zawiera szereg ulepszeń, dzięki czemu zachowuje się bardziej jak tradycyjne aplikacje macOS.

  • X11: Możliwe jest zbudowanie Emacsa z tym samym GUI, który jest używany w systemie X11, jednak do działania wymaga serwera X11. Niestety, efekt końcowy nie będzie wyglądał jak macOS - rzeczy takie jak menu wyglądają tak, jakbyś działał na systemie uniksowym. W rzeczywistości nie jest to jeden GUI, ale rodzina GUI: s można budować przy użyciu różnych bibliotek obsługi X11, takich jak GTK +.

  • Tylko terminal. To daje Emacsa, który może działać tylko w oknie terminala, podobnie jak GUI zachowuje się Emacs po przekazaniu -nwopcji.

Więc co wybrać?

Jeśli jesteś leniwy, wybierz oficjalny Emacs - możesz pobrać gotową wersję ze strony https://emacsformacos.com .

Jeśli chcesz poświęcić trochę czasu na zdobycie najlepszego Emacsa dla siebie, wypróbuj zarówno oficjalny Emacs, jak i port „mac”. Ogólnie są dość podobne, ale zapewniają nieco inny zestaw funkcji.

Zasadniczo nie polecam używania portu X11, ponieważ nie uzyskasz wyglądu macOS, jednak w niektórych sytuacjach może to być interesujące:

  • Chcesz funkcji dostępnej tylko w porcie X11, takiej jak obsługa xwidget
  • Jesteś przyzwyczajony do X11 i chcesz mieć dokładnie taki sam wygląd podczas korzystania z Emacsa na macOS
  • Chcesz implementacji Emacsa w „referencji”, np. Przy współudziale w porcie NS Emacsa.
Lindydancer
źródło
możesz także potrzebować wariantu x11, jeśli instalujesz go na zdalnym hoście, do którego ssh-ing :-)
UpAndAdam