从shell启动服务器emacs

时间:2009-10-26 19:28:14

标签: macos emacs terminal

我在一个在学校服务器上使用Emacs实现的类中。我在运行雪豹的mac上,我有自己的Emacs实现。为了访问服务器-Emacs,我将ssh插入服务器并从其位置启动Emacs。

我是emacs的新手,每当我尝试从我的local-emacs的shell模式访问服务器emacs时,我遇到了一个特殊的问题,ssh进入服务器。它给出了“屏幕大小-1x80太小”的错误,并且没有启动服务器emacs。

我还有一个单独的问题,当我尝试在Apple的终端中执行此操作时,它确实会启动服务器emacs,但我确实非常不喜欢在终端内启动emacs时的界面。

在两种情况下,我都尝试了几次在新窗口中启动服务器emacs,但显然我做得不对。

3 个答案:

答案 0 :(得分:1)

我认为理解你想要做的事情是有用的。

您是否只想编辑服务器上的文件?如果是这种情况,请阅读tramp的文档,然后尝试:

C-x C-f //user@server:/path/to/file

如果您确实想要使用服务器上运行的emacs,请尝试在

上创建一个框架

(如果是这样,请查看tramp)如果您想实际使用服务器中的emacs,但是在Mac上显示窗口:

ssh server
setenv DISPLAY mymac:0
emacsclient file &

这假设您正在运行X11,并且知道如何解析Mac的显示。您可以为Mac here获取X11。

答案 1 :(得分:1)

告诉你正在做什么有点难,但是你可能想用一个X隧道ssh到服务器,然后在那里运行emacs,它会在你的mac上弹出窗口。

首先,不要使用终端。

在你的Mac上,启动X11(如果你还没有,请使用谷歌搜索XQuartz)。 启动XTerm(默认情况下应该这样做)。从XTerm,ssh到您的服务器使用-Y选项:

ssh -Y me@server.something

这应该让你获得一个远程shell并设置DISPLAY环境以便隧道回到Mac的X服务器。通过从那里运行xterm来测试它。如果可行,您可以改为运行emacs。如果可行,您可以将其与ssh调用结合使用:

ssh -Y me@server.something / usr / bin / emacs#或您需要的任何路径

您应该将ssh设置为不需要密码,但这比您要求的要多。

答案 2 :(得分:0)

我认为Trey Jackson对tramp(或者更老式的'ange-ftp)的建议可能是你最好的选择。

通常,在emacs中运行emacs绝不是一个好主意。你想要在服务器上运行emacs(在终端内的-nw模式下,或通过一些$ DISPLAY魔术)或在你的mac上运行它(通过tramp)。两者都没有很好的方法。