РЕДАКТИРОВАТЬ: Я принял ответ ниже, потому что он отвечает на мой вопрос, но я не знал, что если кто-то использует emacs x11, это ужасно, и поэтому я прибегаю к просто положить start-server в мой файл инициализации и таким образом каждый Когда я запускаю emacs.app (нажав на него), я могу использовать терминал, чтобы открыть больше emacsclients, используя -c и -t.Единственным недостатком здесь является то, что главное окно emacs должно оставаться открытым, но это самое близкое, что я нашел к тому, что я действительно искал. Я все равно буду признателен, если кто-нибудь сможет поправить меня на моем подходе.

Я заранее прошу прощения, если этот вопрос уже был задан и получен ответ, но я искал решение для этого с сегодняшнего утра как в StackExchange, так и в Google.

Во-первых, я новичок в Emacs и в написании сценариев.

Хорошо, у меня установлена последняя версия Emacs.app с http://emacsformacosx.com, и я использовал MacPorts для установки последней сборки для Emacs, которая работает в Терминале. Оба они работают нормально, но моя проблема в том, что всякий раз, когда я запускаю emacs --daemon из Terminal, а затем пытаюсь выполнить emacsclient -c , он выдает следующую ошибку:

Waiting for Emacs...
*ERROR*: Don't know how to create a frame on window system x

Может кто-нибудь помочь мне понять, что происходит и как я могу без проблем использовать и emacsclient -c и emacsclient -t ?

PS: я прочитал этот ответ, но он не помог, так как опция -c выдает ошибку, которую я описал выше, и emacsclient не откроется, если я не дам ему аргумент.

1 ответ1

1

Emacs, который вы запускаете из терминала как emacs --daemon , не скомпилирован с поддержкой X Windows. Вот что означает сообщение об ошибке: Emacs не знает, как создать фрейм на основе X, потому что код не скомпилирован. Установите Emacs с скомпилированной поддержкой X, запустите его с --daemon , и тогда вы сможете запустить emacsclient под X или в окне терминала.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .