【问题标题】:Emacs 23 on OS X - pseudo terminal will not be allocated because stdin is not a terminalOS X 上的 Emacs 23 - 不会分配伪终端,因为 stdin 不是终端
【发布时间】:2009-08-15 04:46:25
【问题描述】:

我在 OS X(NS/Cocoa 变体)上安装了 Emacs 23,当我尝试从 emacs 内的 shell 运行 ssh 时出现以下错误。

“不会分配伪终端,因为标准输入不是终端”。

在网上搜索告诉我这是因为标准输入在某种程度上是一个管道而不是一个真正的 tty。我通过运行 stty 确认了这一点。

不幸的是,似乎没有人真正知道如何解决它。有人建议尝试修改 process-connection-type(有人说将其设置为 nil,而另一些人说 t),但不幸的是,两者似乎都不起作用。

我该如何解决这个问题并在 emacs 的 shell 中重新使用 ssh(我猜还有其他工具,如 ftp、latex 和任何需要 tty 的工具)?

[更新:我知道 M-x 术语,但这不是我的解决方案。我已经确认这在 Carbon Emacs 22.3 上对我有用,所以这可能是关于 NS 帖子的特定内容)

【问题讨论】:

    标签: macos emacs emacs23


    【解决方案1】:

    我想通了。我的 .emacs 中有一些 elisp 将 process-connection-type 设置为 nil。虽然这是 Carbon Emacs 需要的,但 NS Emacs 23 似乎不需要它。将其设置为 t 修复它

    【讨论】:

      【解决方案2】:

      您使用的是 M-x shell 还是 M-x term,term 是一个成熟的终端仿真器,可让您运行所需的任何控制台应用程序。

      【讨论】:

      • 首先,谢谢!使用 M-x term 可以解除我的阻塞(直到现在我一直在使用 M-x shell)。但是,我不确定为什么 M-x shell 不这样做。我刚刚在 Carbon Emacs 22.3 上对此进行了测试,M-x shell 中的 ssh 绝对有效。
      • 另外,我更愿意在 M-x shell 上使用它,因为 M-x 术语没有颜色突出显示和其他你期望从 M-x shell 得到的东西
      • 术语确实有颜色突出显示。
      【解决方案3】:

      M-x ansi-term

      字符无视 15 个字符的限制。

      【讨论】:

        猜你喜欢
        • 2011-10-30
        • 1970-01-01
        • 2018-07-16
        • 2014-03-10
        • 1970-01-01
        • 2019-08-13
        • 2011-06-07
        • 2017-10-31
        相关资源
        最近更新 更多