OS X上的Emacs 23 - 伪终端将不会被分配,因为stdin不是终端

时间:2009-08-15 04:46:26

标签: macos emacs emacs23

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

“不会分配伪终端,因为stdin不是终端”。

在网上搜索告诉我,这是因为stdin在某种程度上是管道而不是真正的tty。我确认通过运行stty。

不幸的是,似乎没有人真正知道如何解决它。有人建议尝试修改进程连接类型(有些人说把它设置为nil而有些人说是t)但不幸的是,似乎都没有。

如何解决这个问题,并在emacs的shell中恢复使用ssh(我猜其他工具,如ftp,latex和任何需要tty的东西)?

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

3 个答案:

答案 0 :(得分:1)

我想出来了。我的.emacs中有一些elisp,它将进程连接类型设置为nil。虽然这是Carbon Emacs所需要的,但是NS Emacs似乎并不需要它。设置它来修复它

答案 1 :(得分:0)

你使用的是M-x shell还是M-x术语,term是一个完整的终端模拟器,可以让你运行你想要的任何控制台应用程序。

答案 2 :(得分:0)

M-x ansi-term

克服15个字符限制的字符。