OS X Emacs: Unterschied zwischen X11 vs NS vs Cocoa?


10

Ich glaube, es gibt drei Möglichkeiten, Emacs auf osx --- x11, ns (nächster Schritt?) Und Kakao zu erstellen. Kann jemand erklären, was die Build-Optionen bedeuten / was der Unterschied zwischen diesen drei ist?


1
Es ist ein paar Monate her, seit ich die x11-Version unter OSX erstellt habe, aber ich habe ein wenig Zeit gebraucht, um herauszufinden, dass es notwendig war, sie --with-ns=no --with-xals Teil der Befehlszeilenoptionen zu verwenden. Ich erwähne dies nur für den Fall, dass jemand anderes daran interessiert ist, die x11-Version unter OSX zu erstellen. Ich würde mir vorstellen, dass die akzeptierte Antwort eine Erwähnung der Materialien enthält, die für einen erfolgreichen Bau benötigt werden - z. B. XQuartz (The X Window System) usw.
Lawlist

@lawlist ah, gut zu wissen! Einer der Gründe, warum ich diese Frage gestellt habe, ist, dass ich Emacs mit x11 (für xwidgets) auf osx erstellen wollte, mich aber fragte, ob ich etwas verlieren würde, wenn ich von NS auf x11 wechseln würde.

1
Siehe diesen verwandten Thread mit dem Titel " Emacs mit xwidget unter OSX kompilieren? ": Emacs.stackexchange.com/questions/25037/… Die benutzerdefinierten Tastaturkürzel, auf die ich mich in der GUI-Version von Emacs --with-nsstütze, funktionieren in der x11-Version nicht. Daher konnte ich den x11 noch nicht wirklich produktiv einsetzen. Ich müsste lernen, wie man alternative Tastaturkürzel in x11 konfiguriert - die Linux-Benutzer wären mit der x11-Version wahrscheinlich zu Hause, aber ich bin irgendwie verloren.
Lawlist

Antworten:


12

Es gibt eine Reihe von Emacs-Versionen für macOS, darunter:

  • Das offizielle Emacs unter macOS wird über den "NS" -Port erstellt, der auch als "Cocoa" -Port bekannt ist. Wie der Name schon sagt, stammt dieser Emacs-Port aus Emacs für das NextSTEP-Betriebssystem und ist seit Emacs 23 die offizielle Emacs-GUI unter macOS.

  • Mitsuharu Yamamoto-san unterhält den "Mac-Port" von Emacs. Es bietet eine alternative Benutzeroberfläche mit einem anderen Funktionsumfang als der NS-Port. Dies stammt vom Emacs-Port für Mac OS 8/9 und vom "Carbon" -Port von Emacs 22. (Dieser Port wird auch als "Eisenbahnkatze" -Emacs bezeichnet, da hier das brewRezept gehostet wird.)

  • Aquamacs basiert auf dem NS-Port von Emacs und enthält eine Reihe von Verbesserungen, die das Verhalten von herkömmlichen MacOS-Anwendungen verbessern.

  • X11: Es ist möglich, Emacs mit derselben GUI wie auf dem X11-System zu erstellen, für die Ausführung ist jedoch ein X11-Server erforderlich. Leider sieht das Endergebnis nicht wie MacOS aus - Dinge wie Menüs sehen so aus, als würden Sie auf einem Unix-ähnlichen System ausgeführt. Tatsächlich ist dies keine GUI, sondern eine Familie von GUI: s, da es möglich ist, mit verschiedenen X11-Unterstützungsbibliotheken wie GTK + zu erstellen.

  • Nur Terminal. Dadurch erhalten Sie einen Emacs, der nur in einem Terminalfenster ausgeführt werden kann, ähnlich wie sich ein GUI-Emacs verhält, wenn die -nwOption übergeben wird.

Also, welche solltest du wählen?

Wenn Sie faul sind, wählen Sie die offiziellen Emacs aus - Sie können eine vorgefertigte Version von https://emacsformacos.com herunterladen .

Wenn Sie etwas Zeit damit verbringen möchten, die besten Emacs für Sie zu finden, probieren Sie sowohl den offiziellen Emacs als auch den "Mac" -Port aus. Insgesamt sind sie ziemlich ähnlich, bieten jedoch einen etwas anderen Funktionsumfang.

Im Allgemeinen würde ich die Verwendung des X11-Anschlusses nicht empfehlen, da Sie kein MacOS-Erscheinungsbild erhalten. In einigen Situationen kann dies jedoch von Interesse sein:

  • Sie möchten eine Funktion, die nur im X11-Port verfügbar ist, z. B. Unterstützung für xwidget
  • Sie sind an X11 gewöhnt und möchten genau das gleiche Erscheinungsbild, wenn Sie Emacs unter macOS verwenden
  • Sie möchten eine "Referenz" -Implementierung von Emacs, z. B. wenn Sie zum NS-Port von Emacs beitragen.

Möglicherweise benötigen Sie auch die x11-Variante, wenn Sie sie auf einem Remote-Host installieren, auf dem Sie sich befinden :-)
UpAndAdam
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.