簡體   English   中英

Emacs-client - 什么是最小的安裝?

[英]Emacs-client - whats the minimal installation?

假設我在一些遠程服務器上運行了Emacs-Server,其中包含運行我的應用程序所需的所有庫和軟件。

然后我希望幾個客戶端使用Emacs-client連接到該遠程計算機。 每個客戶端是否需要完整的Emacs安裝,或者是否有足夠的最小安裝與遠程服務器通信,其中所有操作都是?

這個(Emacs-)客戶端安裝是否可以這么小,幾乎所有軟件更新都可以在服務器上完成,而不會影響Emacs客戶端?

根據您要實現的目標,您可以使用Emacs和Screen的組合。 通過從遠程計算機上的屏幕啟動Emacs並從中分離,您可以隨后從不具有Emacs的其他計算機重新連接。 同樣,這是否適合你,取決於你想要做什么; 但是,對於許多Emacs用例,這可能非常有效。 如果你不熟悉以這種方式使用Screen,這里有一些閱讀材料:

屏幕 - 終端多路復用器

是否有理由不遠程運行客戶端,只需使用本地顯示器? 這樣,本地機器上幾乎所有需要的都是ssh客戶端和X Window服務器。

ssh -X (user)@(server) "emacsclient -c"


編輯評論:

此命令啟動一個新客戶端以連接到現有的Emacs服務器(它假定已經在運行)。 如果沒有現有服務器,您可以使用"emacsclient -a '' -c"自動啟動emacs --daemon ,但我不知道您是否希望連接用戶啟動服務器。

事實上,我很不確定整個多用戶方面是否誠實,因為我以前從未這樣做過。 上述身份驗證由ssh處理,但當服務器和客戶端由不同用戶啟動時,可能會有后續的權限問題需要處理或類似。

這種方法應該可以使用Windows / Cygwin作為客戶端和/或服務器,因為Cygwin提供了Emacs,OpenSSH和X.or​​g軟件包。 (我經常使用Windows / Cygwin作為在Linux上運行的Emacs的本地顯示器。)但是,設置可能會更困難,並且當您使用Cygwin時,任何權限問題可能都不同。

如果沒有Cygwin,我不太清楚這是如何工作的。 NTEmacs肯定不會和X.or​​g交談,所以我想你會在那個實例中成為終端。 (可能其他的選擇,但Cygwin的聲音,我是最好的整合方式來使用所有的Emacs,SSH和X的在Windows上)。

最后,我想你可能會收到“Connection refused”錯誤,因為localhost沒有運行sshd守護進程? 我會說ssh的配置超出了這個問題的范圍,但是網上有很多資源。

我不確定那是可能的。 emacsclient使用tramp連接到遠程服務器,只是通過查看tramp elisp文件中的require數量(41),它似乎不太可能。 您可以使用以下方法自行嘗試:

zgrep -oE "\\(require '[az-]+\\)" *el.gz | sed -e 's%[a-z0-9-]\\+\\.el\\.gz:%%g' | sort | uniq -cu | wc -l

我不是emacsclient的專家,但我認為它不是為了滿足您的需求而設計的。 我認為一般用例是emacsclient允許您將新請求重定向到使用emacs打開文件到持久性emacs進程,以避免在啟動時可能有點開銷。 您似乎正在尋找更多真正的客戶端/服務器關系。

我認為為了實現你的目標,你可能需要在emacs外面看一點,可能是一個項目本身 - 'emacsRemoteClient。 它歸結為一兩個型號; 您要編輯的文件需要將其路徑發送到服務器計算機,以便emacs可以執行某種遠程tramp訪問,然后在本地生成xwindow(使用本地X env或在Windows上需要x服務器)。 ..或者兩個,將文件傳輸到服務器盒上的某個臨時位置,然后再次在本地生成遠程x窗口(然后同步tmp和本地文件之間的更改)。

有這樣的東西會很酷......但懷疑它會涉及一些工作。 也許我們只需要一個用javascript編寫的emacs版本,它可以存在於雲端或瀏覽器中......哦,在瀏覽器中有emacs鍵綁定;-)

史蒂夫

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM