OS X emacs : X11 vs NS vs Cocoa의 차이점은 무엇입니까?


10

나는 osx --- x11, ns (nextstep?), 그리고 cocoa에 emacs를 구축하는 세 가지 방법이 있다고 믿는다. 누구나 빌드 옵션의 의미 /이 세 가지의 차이점을 설명 할 수 있습니까?


1
OSX에서 x11 버전을 빌드 한 지 몇 달이 지났지 만 --with-ns=no --with-x명령 줄 옵션의 일부로 사용해야한다는 것을 알아내는 데 약간의 시간이 걸렸습니다 . 다른 사람이 OSX에서 x11 버전을 만드는 데 관심이있는 경우를 대비하여 이것을 언급합니다. 예를 들어, XQuartz (X 윈도우 시스템), 등 - 내가 허용 대답이 성공적으로 빌드에 필요한 재료의 언급이 포함됩니다 것을 상상
lawlist

@lawlist 아, 알아서 좋습니다! 이 질문을하는 이유 중 하나는 osx에서 x11 (xwidgets)을 사용하여 emacs를 빌드하려고했기 때문에 NS에서 x11로 이동하는 것에서 잃을 것이 있는지 궁금합니다.

1
"자격이 관련 스레드를 참조하십시오 ? OSX에서 xwidget로 컴파일 이맥스 " emacs.stackexchange.com/questions/25037/... 내장 이맥스의 GUI 버전에 내가 의존 사용자 정의 키보드 단축키를 --with-nsX11 버전에없는 일을, x11을 아직 생산적으로 사용할 수 없었습니다. x11에서 대체 키보드 단축키를 구성하는 방법을 배워야 할 것입니다. Linux 사용자는 x11 버전으로 집에있을 수도 있지만 길을 잃었습니다.
lawlist

답변:


12

macOS 용 Emacs 버전에는 다음이 포함됩니다.

  • macOS의 공식 Emacs는 "cocoa"포트라고도하는 "NS"포트를 사용하여 빌드됩니다. 이름에서 알 수 있듯이이 Emacs 포트는 NextSTEP 운영 체제의 Emacs에서 시작되었으며 Emacs 23 이후 macOS의 공식 Emacs GUI였습니다.

  • Yamamoto-san Mitsuharu는 Emacs의 "Mac 포트"를 유지 관리합니다. NS 포트와 다른 기능 세트를 가진 대체 GUI를 제공합니다. 이는 Emacs 포트에서 Mac OS 8/9 및 Emacs 22의 "Carbon"포트로 시작됩니다.이 포트는 " brew레시피 고양이"Emacs라고도합니다 .

  • Aquamacs는 Emacs의 NS 포트를 기반으로하며 기존의 macOS 응용 프로그램과 유사하게 동작하는 여러 가지 향상된 기능을 포함합니다.

  • X11 : X11 시스템에서 사용 된 것과 동일한 GUI로 Emacs를 구축 할 수 있지만 X11 서버를 실행해야합니다. 불행히도 최종 결과에는 macOS 모양과 느낌이 없습니다. 마치 메뉴처럼 마치 유닉스 계열 시스템에서 실행되는 것처럼 보입니다. 실제로 이것은 GTK +와 같은 다른 X11 지원 라이브러리를 사용하여 빌드 할 수 있기 때문에 하나의 GUI가 아니라 GUI 제품군입니다.

  • 터미널 만. 이것은 -nw옵션을 통과했을 때 GUI Emacs가 동작하는 것처럼 터미널 창에서만 실행할 수있는 Emacs를 제공합니다 .

그렇다면 어느 것을 선택해야합니까?

게으른 경우 공식 Emacs를 선택 하십시오 . https://emacsformacos.com 에서 사전 빌드 된 버전을 다운로드 할 수 있습니다 .

최고의 Emacs를 얻는 데 시간을 보내고 싶다면 공식 Emacs와 "mac"포트를 모두 사용해보십시오. 전반적으로 그것들은 상당히 비슷하지만 약간 다른 기능 세트를 제공합니다.

일반적으로 macOS 모양과 느낌이 들지 않으므로 X11 포트를 사용하지 않는 것이 좋지만 일부 상황에서는 관심이있을 수 있습니다.

  • X11 포트에서만 사용할 수있는 기능을 원합니다 (예 : xwidget
  • X11에 익숙하고 macOS에서 Emacs를 사용할 때 똑같은 모양과 느낌을 원합니다
  • 예를 들어 Emacs의 NS 포트에 기여할 때 Emacs의 "참조"구현을 원합니다.

x11 변형을 ssh-ing하려는 원격 호스트에 설치하는 경우 :-)
UpAndAdam
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.