我在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帖子的具体内容)
答案 0 :(得分:1)
我想出来了。我的.emacs中有一些elisp,它将进程连接类型设置为nil。虽然这是Carbon Emacs所需要的,但是NS Emacs似乎并不需要它。设置它来修复它
答案 1 :(得分:0)
你使用的是M-x shell还是M-x术语,term是一个完整的终端模拟器,可以让你运行你想要的任何控制台应用程序。
答案 2 :(得分:0)
M-x ansi-term
克服15个字符限制的字符。