Emacsclient 문서에는 Gnuclient 에뮬레이션이 언급되어 있습니다. 무슨 관계야?

Emacsclient 문서에는 Gnuclient 에뮬레이션이 언급되어 있습니다. 무슨 관계야?

GNU Emacs GUI에서 파일을 열 때 gnuserv이미 실행 중인 Emacs에 추가를 사용합니다. 내가 "gnuserv"를 사용한 이유는 해당 주제에 관해 읽은 첫 번째 문서에서 제안했기 때문입니다.

오늘 저는 특정 줄 번호에서 파일을 여는 방법을 찾고 있었고 다음을 사용하여 참조를 찾았습니다.emacsclient -c +4:3 파일...명령을 실행하면 불평이 나옵니다.서버를 시작해야 합니다...
gnuserv이 실행 중이므로 gnuserv와 emacsclient는 분명히 보완적인 구성 요소가 아닙니다.

이 두 클라이언트-서버 시스템 간의 관계는 무엇입니까?
예를 들어. 공존할 수 있을까? ..."최신" 항목이 또 있나요? ...단지 터미널용으로 하나? ..비슷한 기능을 수행하나요? ..

답변1

한동안 Emacs에는 두 가지 주요 구현이 있었습니다:GNU 이맥스그리고XEmacs. XEmacs는 일반적으로 더 많은 기능을 갖고 있으며 GNU Emacs는 이를 따라잡지만 더 세련된 제품을 제공합니다. XEmacs는 지난 몇 년 동안 큰 발전을 이루지 못했습니다. 제 생각에는 GNU Emacs 23이 XEmacs 21(최신 버전)의 모든 주요 기능을 따라잡았습니다.

GNU Emacs와 XEmacs의 다양한 기능 중 하나는 emacsclient/gnuclient입니다. GNU Emacs 22 이전에는 emacsclient가 기존 Emacs에서만 파일을 열 수 있었던 반면, gnuclient는 원격 Emacs 프로세스에서 임의의 코드를 실행할 수 있었습니다. GNU Emacs 23부터 emacsclient와 gnuclient는 비슷한 기능을 갖습니다.

gnuclient/gnuserv와 emacsclient/emacsserver는 서로 다른 프로토콜을 사용합니다. 그러니 하나를 골라서 지켜야 합니다. (Emacs 인스턴스에서 gnuserv와 emacsserver를 모두 실행할 수 있어야 합니다. 이름 충돌을 피하기 위해 약간의 Lisp 조정이 필요할 수 있습니다.)

emacsclient가 파일 열기 외에는 아무것도 지원하지 않을 때는 가능한 한 gnuserv/gnuclient를 사용했지만 Emacs 23부터는 emacsclient와 함께 내장 서버를 사용합니다.

¹이 프로젝트들 사이에는 여기서 논의하지 않을 다른 정치적 차이점이 있습니다 .

관련 정보