2010-12-16 15 views
5

Używam emacs-server, aby ustawić emacsclienta jako domyślny texteditor i otworzyć nowe pliki jako bufory, a nie nowe instancje emacs.Jak utrzymać trwałą instancję serwera emacs?

Działa to jednak tylko przy uruchomionym serwerze emacs, więc w jaki sposób mogę uruchomić to podczas uruchamiania i pozostać w tle?

Inną kwestią jest to, że jeśli zacznę emacs, następnie zamknij go i uruchom go, mówi mi:

błąd

pliku: Nie można powiązać gniazda serwera, adres już w użytku

Odpowiedz

4

Zakładając, że używasz Emacs 23 umieścić

emacs --daemon 

w swojej ~/.xsession (lub gdziekolwiek umieścić komend startowych).

+1

okrzyki za to. Dodałem emacs --daemon do aplikacji aplikacji startowych, która wydawała się działać tak, jak wtedy, gdy uruchomiłem emacsa, który dał mi Błąd pliku: Nie można powiązać gniazda serwera, adres już jest w użyciu. Chociaż jak mogę naprawić ten błąd? Próbowałem emacsclient z cli, mam - emacsclient: connect: Connection odmówione emacsclient: Brak gniazda lub alternatywny edytor. Proszę używać: \t --socket-name \t --server-pliku (lub zmiennej środowiskowej EMACS_SERVER_FILE) \t --alternate edytora (lub zmiennej środowiskowej ALTERNATE_EDITOR) – tobeannounced

+1

Czy nadal masz '(server-start) w' twoje '~/.emacs'? Spróbuj go usunąć. – igor

2

strona powinna zawierać wszystkie niezbędne informacje. Alternatywą dla Igora sugestią jest, aby nowy skrypt gdzieś na ciebie drogę, która zawiera:

#!/bin/bash 
export GDK_NATIVE_WINDOWS=1 
exec emacsclient --alternate-editor="" -c "[email protected]" 

Zakładając, że używasz GTK.

Alternatywny edytor = "" jest skrótem informującym, że emacs powinien uruchomić nowy serwer, jeśli żaden nie zostanie znaleziony. To wszystko ze strony EmacsWiki. Istnieją również pewne poprawki dotyczące błędu odrzucenia połączenia. Zawsze powinieneś zacząć od tego, próbując dowiedzieć się czegoś o emacs.

+0

Czy to GDK jest poprawne, czy też miałeś na myśli GTK? (Nie mogę powiedzieć). – PythonNut

+0

GDK jest poprawny. – PythonNut