2014-10-17 95 views
1

我嘗試在Windows 8計算機上啓動emacs服務器。我下載了vanilla emacs,並使用runemacs.exe運行它。然後我跑M-x server-start和該命令的執行需要大約3分鐘後,有一個~/.emacs.d/server/server文件具有以下內容:Emacs無法啓動服務器

127.0.0.1:65118 5868 
[email protected]]X-VjCB`g\&t;U1<bj3X]}6!8XUz~P;{q9'AIj322!w0O1XK[/K4v>ZOK* 

和emacs服務器不運行:當我試圖打開一個文件,emacsclientw.exe它說沒有服務器。

顯然emacs試圖啓動服務器,但失敗了。我是~/.emacs.d文件夾的所有者。

+0

是不是隻是一箇舊服務器上的文件?如果您將其刪除並重試,會發生什麼情況? – choroba 2014-10-17 09:41:48

+0

@choroba:試過了 - nope是emacs在3分鐘'server-start'後製作的文件。 – Adobe 2014-10-17 10:31:53

+0

請制定/添加一個明確的問題。提前致謝。順便說一句:你有'〜/ .emacs.d/server'的獨家閱讀權限嗎? AFAIK emacs將其他人擁有讀取權限的服務器目錄視爲安全風險。您是否仔細閱讀了消息緩衝區?它可能有一些問題指標。 – Tobias 2014-10-20 14:08:44

回答

2

您正在使用非標準套接字目錄。默認情況下,套接字存儲在/tmp/emacsXYZQ(其中XYZQ是一個數字)。不能期望emacsclient知道你把套接字放在哪裏,所以你需要告訴它(如果它不是平常的地方)。您可以使用-s命令執行此操作。

emacsclient -s ~/.emacs.d/server/server 

通常情況下,你會加入

EMACS_SERVER_FILE=~/.emacs.d/server/server 

~/.profile和使用emacsclient常使這更convienient,但我不知道的是,窗口模擬將是什麼。

引用:

+0

我面對的問題是在Windows 8上。所以不需要'/ tmp/emacsXYZQ'。另外我不設置任何套接字目錄 - 它是創建服務器文件的emacs。問題不在於我無法連接到服務器,我無法啓動它的問題。 – Adobe 2014-10-27 04:39:26

+0

然而,你的建議 - 1:'emacs -Q --daemon --debug-init'和2:重新定義'server-socket-dir'都很好。我會在一週後再次嘗試他們(這是我學生的電腦,我會在下一節課上試一下)。 – Adobe 2014-10-27 04:43:39

+0

我想你的意思是'-f'('--server-file'),而不是'-s'('--socket-name')。特別是因爲'-s'在Windows上不受支持。 – kaka 2015-05-19 12:55:34