OS X emacs: perbedaan antara X11 vs NS vs Cocoa?

10

Saya percaya, ada tiga cara untuk membangun emacs di osx --- x11, ns (nextstep?), Dan cocoa. Adakah yang bisa menjelaskan apa arti opsi membangun / perbedaan di antara ketiganya?

Dan
sumber
1
Sudah beberapa bulan sejak saya membangun versi x11 pada OSX, tetapi butuh sedikit waktu untuk mengetahui bahwa itu perlu digunakan --with-ns=no --with-xsebagai bagian dari opsi baris perintah. Saya menyebutkan ini kalau-kalau ada orang lain yang tertarik untuk membangun versi x11 di OSX. Saya akan membayangkan bahwa jawaban yang diterima akan mencakup penyebutan materi yang dibutuhkan untuk membangun yang sukses - misalnya, XQuartz (Sistem X Window), dll.
lawlist
@hukum, ah, senang tahu! salah satu alasan bagi saya untuk mengajukan pertanyaan ini adalah karena saya ingin membangun emacs dengan x11 (untuk xwidgets) di osx, tapi saya bertanya-tanya apakah saya akan kehilangan apa pun dari pergi dari NS ke x11.
1
Lihat utas terkait ini yang berjudul " Kompilasi emacs dengan xwidget di bawah OSX? ": Emacs.stackexchange.com/questions/25037/... Pintasan keyboard khusus yang saya andalkan dalam versi GUI Emacs built --with-nstidak berfungsi di versi x11, jadi saya belum benar-benar dapat menggunakan x11 secara produktif. Saya perlu belajar cara mengkonfigurasi pintasan keyboard alternatif di x11 - pengguna Linux mungkin akan betah dengan versi x11, tapi saya agak bingung.
lawlist

Jawaban:

12

Ada sejumlah versi Emacs untuk macOS, termasuk:

  • Emacs resmi pada macOS dibuat menggunakan port "NS", juga dikenal sebagai port "cocoa". Seperti namanya, porta Emacs ini berasal dari Emacs untuk sistem operasi NextSTEP dan telah menjadi GUI Emacs resmi pada MacOS sejak Emacs 23.

  • Mitsuharu Yamamoto-san memelihara "port Mac" dari Emacs. Ini memberikan GUI alternatif dengan set fitur yang berbeda dibandingkan dengan port NS. Ini berasal dari port Emacs ke Mac OS 8/9 dan port "Carbon" dari Emacs 22. (Port ini juga disebut sebagai "kereta api kucing" Emacs, karena ini adalah tempat brewresep di-host.)

  • Aquamacs didasarkan pada port NS dari Emacs dan berisi sejumlah perangkat tambahan sehingga berperilaku lebih seperti aplikasi macOS tradisional.

  • X11: Dimungkinkan untuk membangun Emacs dengan GUI yang sama seperti yang digunakan pada sistem X11, namun itu membutuhkan server X11 untuk dijalankan. Sayangnya, hasil akhirnya tidak akan memiliki tampilan dan nuansa macOS - hal-hal seperti menu tampak seolah-olah Anda sedang berjalan pada sistem seperti unix. Sebenarnya, ini bukan satu GUI tetapi keluarga GUI: s karena dimungkinkan untuk membangun menggunakan berbagai pustaka dukungan X11 seperti GTK +.

  • Hanya terminal. Ini memberi Anda Emacs yang hanya dapat berjalan di jendela terminal, seperti GUI Emacs yang berperilaku ketika melewati -nwopsi.

Jadi, mana yang harus Anda pilih?

Jika Anda malas, pilih Emacs resmi - Anda dapat mengunduh versi prebuilt dari https://emacsformacos.com .

Jika Anda ingin meluangkan waktu untuk mendapatkan Emacs terbaik untuk Anda, coba baik Emacs resmi dan port "mac". Secara keseluruhan, mereka cukup mirip tetapi menyediakan set fitur yang sedikit berbeda.

Secara umum, saya tidak akan merekomendasikan menggunakan port X11 karena Anda tidak akan mendapatkan tampilan dan nuansa macOS, namun dalam beberapa situasi mungkin menarik:

  • Anda ingin fitur yang hanya tersedia di port X11, seperti dukungan untuk xwidget
  • Anda terbiasa dengan X11 dan menginginkan tampilan dan rasa yang sama persis saat menggunakan Emacs di macOS
  • Anda menginginkan implementasi "referensi" dari Emacs, misalnya saat berkontribusi ke port NS Emacs.
Lindydancer
sumber
Anda mungkin juga memerlukan varian x11 jika Anda menginstalnya pada host jarak jauh yang Anda ssh-ing ke dalam :-)
UpAndAdam