【问题标题】:Launching server emacs from shell从 shell 启动服务器 emacs
【发布时间】:2009-10-26 19:28:14
【问题描述】:

我的班级在学校服务器上使用 Emacs 的实现。我在运行雪豹的 Mac 上,我有自己的 Emacs 实现。为了访问服务器 Emacs,我 ssh 进入服务器并从那里的位置启动 Emacs。

我对 emacs 比较陌生,每当我尝试从本地 emacs 的 shell 模式访问服务器 emacs 时,我都会遇到一个特殊的问题,并通过 ssh 进入服务器。它给了我“屏幕尺寸 -1x80 太小”的错误,并且不启动服务器 emacs。

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

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

【问题讨论】:

  • 可能比 StackOverflow 更适合 SuperUser。
  • 二次转给超级用户。
  • 呵呵,SuperUser 确实如此,但 Emacs 的超级用户社区要小得多,而且它只是分裂了 Emacs 社区。​​span>
  • 嗯。下次我先去那里试试。

标签: macos emacs terminal


【解决方案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 解决显示问题。您可以通过here 获取适用于 Mac 的 X11。

【讨论】:

  • 这难道不是仅适用于 1) 如果您正在运行 XWindows 和 2) 如果您知道您的家庭显示器的名称?两者都是可行的,但应该提及。
  • 好点,我想过,但不积极。我妻子的 Mac 在我对面的桌子上,但上面没有 Emacs……我打开了一个 shell,但没有 DISPLAY 变量。
  • 不幸的是,我确实需要使用服务器版本,因为我的教授已经按照他的喜好定制了它,我不想在我的本地 emacs 上实现他的一些定制。我简单地尝试了 DISPLAY 位,但它在 setenv 部分出错了。我有X11,所以我不知道。今天课后我会去寻找一些文档,然后再仔细看看。
  • 如果只是使用这些自定义项,您可以使用不同的 .emacs 文件并启动 emacs,例如:emacs -q -l .professor.emacs...
  • 是的,Trey 是正确的。当您在 Mac 上运行时,只需使用 profs .emacs(或 .elisp 文件夹或其他)。你也可以做一个 M-x 加载文件,一旦你运行了 emacs,它将加载到一个任意的 .el 文件中......
【解决方案2】:

很难说出你在做什么,但你可能想通过 X 隧道 ssh 到服务器,然后在那里运行 emacs,它会在你的 mac 上弹出窗口。

首先,不要使用终端。

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

ssh -Y me@server.something

这应该会为您提供一个远程 shell 并设置 DISPLAY 环境以直接返回您的 Mac 的 X 服务器。通过从那里运行 xterm 来测试它。如果可行,您可以改为运行 emacs。如果可行,您可以将其与 ssh 调用结合使用:

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

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

【讨论】:

    【解决方案3】:

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

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

    【讨论】:

    • 出于好奇,为什么不好?
    • 好吧,首先真的没有理由这样做。但主要是你必须弄清楚谁得到什么修饰符......控制权交给本地emacs吗?还是服务器emacs?每个的元密钥是什么?鼠标点击只会转到本地 emacs...而且无论如何,您最终都会使用 SSH 版本的 UI...
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-08-05
    • 2014-12-12
    • 1970-01-01
    • 2010-10-27
    • 1970-01-01
    • 1970-01-01
    • 2018-08-10
    相关资源
    最近更新 更多