2010-07-14 62 views
5

This page來自Emacs手冊描述了一個名爲make-frame-on-display的函數,它允許您訪問遠程Emacs會話。我對這個功能的興趣是使用它與同事遠程共享緩衝區來進行配對編程。如何在Emacs中使用make-frame-on-display和multi-tty?

從頁面:

使用此功能,讓兩個或多個用戶在兩臺顯示器同時輸入,同樣的Emacs的工作中甚至有可能。然而,在實踐中,如果不小心,不同的用戶可能很容易干擾彼此的編輯。

我到底該如何設置?我需要什麼?我的合作伙伴需要什麼?細節沒有說明,但我不知道Emacs是否知道從哪裏開始。

是否有任何其他方式獲得共享的Emacs會話?來自Emacs Wiki的This page指稱爲multi-tty的東西。我上面提到的問題也適用於此。

哪個更好:multi-tty or make-frame-on-display

回答

5

我還沒有嘗試多tty,但是make-frame-on-display非常簡單。你輸入M-x make-frame-on-display,點擊返回,然後輸入你希望顯示框架的顯示。例如:

我有我的本地主機(thor)運行emacs,我想在名爲zeus的機器上僅在X顯示器(0.0)上彈出一個框架。所以我會輸入M-x打開框架<ret> zeus:0.0 <ret>

All set!

您可能需要將遠程機器的X服務器配置爲接受來自機器的「xhost + thor」傳入連接。您可能還需要配置其防火牆,以允許X11端口上的傳入連接數爲6000.請記住,X轉發沒有加密,因此如果您沒有與局域網上的某個人一起工作,您可能需要通過VPN以保持私密。

編輯修正括號。

+0

你在機器上鍵入'M-x make-frame-on-displayzeus:0.0'?你必須先通過SSH登入嗎? – hekevintran 2010-07-14 12:40:51

+0

從Thor上運行的emacs窗口開始,您鍵入M-x make-frame-on-display zeus:0.0 – nmichaels 2010-07-14 14:59:40

3

你也可以在zeus類型的人ssh -X thor emacsclient -c

+1

我在互聯網上試了一下,它在冬天像糖蜜一樣慢。另一方面,屏幕閃電般快,就像在那裏。 – 2011-02-04 01:06:28

3

您有沒有考慮在共享帳戶上使用GNU screen進行配對編程?它很容易讓它起作用,並且你可以選擇任何基於控制檯的編輯器(emacs,vim,joe,nano,zile,...)。但是,這當然不適用於無法在終端內運行的編輯。

要設置它,請在運行ssh的計算機上創建共享帳戶。然後雙方登錄到該帳戶。其中一個合作伙伴開始屏幕

screen 

和其他連接到它與

screen -x 

其中-x的意思是「附加到不沾邊屏幕會話」。用戶可以從他們的會話中分離出「C-a d」。

0

老問題,對於任何新的解決方案登陸這個頁面上,從2016年

我在Ubuntu 14.04設置這和它完美的作品:

假設我要共同編輯或演示一些很酷與我的同事Joe在世界的另一端提供emacs。

  1. 確保在兩端安裝了emacs的ssh服務器。也就是說,MyPC或JoePC必須是SSH服務器並安裝了Emacs。從現在開始,假設我讓Joe在他的電腦上安裝SSH服務器和Emacs。
  2. 確保byobu安裝在JoePC上。 Byobu支持tmuxscreen作爲後端(我更喜歡tmux更現代和功能豐富)。
  3. 我用ssh [email protected]連接到JoePC。無需X轉發。
  4. 從byobu-ssh終端打開emacs:TERM=xterm-256color && emacsclient --alternate-editor="" -t。可以爲此命令製作一個別名。我推薦這個長命令,因爲它可以在終端中支持更好的顏色支持,並在守護進程模式下運行Emacs。 daemon mode可以快速關閉並重新打開幀。
  5. 現在神奇展開:請喬用相同的登錄remoteuser我登錄在;如果不是他,打開終端並開始byobu
  6. 開始黑客或摸索:-)

評論:

  • 因爲這樣byobu工作。此方法適用於byobu終端內的任何其他程序。
  • 此設置比Teamviewer或任何其他GUI遠程桌面解決方案執行得更好。
  • 因爲連接是通過ssh直接連接到遠程服務器的,所以它與ssh contion所提供的一樣安全。