Verwenden des Desktop-Modus mit Emacs Daemon


9

Ich verwende Emacs 24.3 (Ubuntu 14.10) und möchte, dass der Daemon während der Verwendung am grafischen Desktop-Sitzungslebenszyklus teilnimmt desktop-mode. Ich habe http://www.emacswiki.org/emacs/EmacsAsDaemon durchgesehen, aber es spielt sich immer noch nicht gut für mich. Ein Problem besteht darin, dass die SIGTERM-Terminierung des Dämons nicht bereinigt wird, .emacs.desktop.locksodass beim nächsten Start die Speicherung des gespeicherten Status verweigert wird.

Hat jemand ein Rezept, mit dem Emacs Daemon + Desktop-Modus mit der grafischen Desktop-Sitzung gut gespielt werden kann?

Als Nebenbemerkung: Das Senden von SIGHUP stürzt für mich häufig mit Emacs ab.

Antworten:


6

Töte den Prozess nicht.

Verwenden Sie M-x kill-emacs RETdiese Option, um den Server zu beenden.


Ok, das räumt den Look auf. Ich vermisse vielleicht etwas, aber wie führt man diese Beendigung der grafischen Sitzung aus? Das Einfachste, was ich mir vorstellen kann, ist ein benutzerdefinierter OS-Signalhandler.
Andreas Steffan

2
Wenn Sie einen aktiven Client-Frame haben, können Sie kill-emacsdirekt ausgeben . Wenn Sie keine aktuellen Clients haben, können Sie ausführen emacsclient -e '(kill-emacs)'. Wenn Sie nur möchten, dass Emacs beim Abschalten durch ein Signal eleganter heruntergefahren wird, müssen Sie dies wahrscheinlich tun M-x report-emacs-bug(nachdem Sie überprüft haben, ob es bereits protokolliert wurde).
Phils

Sicher. Die Sache ist, dass ich nicht jedes Programm manuell anweisen möchte, es ordnungsgemäß herunterzufahren. Desktop-Sitzungsmanager teilen den Programmen mit, dass die Sitzung beendet werden soll. Ich möchte, dass Emacs zu diesem Zeitpunkt automatisch aktiv werden.
Andreas Steffan

Überprüfen Sie die Fehlerberichte, melden Sie gegebenenfalls einen neuen. Wenn Sie weitere Informationen haben, aktualisieren Sie die Frage oder geben Sie eine Antwort ein.
Phils
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.