Python 试图让终端在Emacs中工作
我在使用emacs时遇到了很多问题,并试图让终端使用:Python 试图让终端在Emacs中工作,python,emacs,ssh,cygwin,Python,Emacs,Ssh,Cygwin,我在使用emacs时遇到了很多问题,并试图让终端使用: M-x term 我安装了cygwin,并修复了.emacs以包括以下路径: (setenv "PATH" (concat "c:/cygwin/bin;" (getenv "PATH"))) (setq exec-path (cons "c:/cygwin/bin" exec-path)) (require 'cygwin-mount) (cygwin-mount-activate) (a
M-x term
我安装了cygwin,并修复了.emacs以包括以下路径:
(setenv "PATH" (concat "c:/cygwin/bin;" (getenv "PATH")))
(setq exec-path (cons "c:/cygwin/bin" exec-path))
(require 'cygwin-mount)
(cygwin-mount-activate)
(add-hook 'comint-output-filter-functions
'shell-strip-ctrl-m nil t)
(add-hook 'comint-output-filter-functions
'comint-watch-for-password-prompt nil t)
(setq explicit-shell-file-name "bash.exe")
;; For subprocesses invoked via the shell
;; (e.g., "shell -c command")
(setq shell-file-name explicit-shell-file-name)
但现在当我启动终端时,它似乎只给出一个空白屏幕和“挂起”
当我启动时:
M-x shell
它确实启动了bashshell,并且可以在文件目录中运行(使用cd、ls、cp、rm等)。然而,当我尝试打开Python shell时,它再次出现,我输入。。。炮弹坠毁了。我正在做的事情是否有任何重大错误,或者有人可以指导我在线解决方案?(我已经仔细看过了。)
SSH也给出了错误:
“不会分配伪终端,因为stdin不是终端。”是否使用默认的“Cygwin Bash Shell”?这是一个在Windows cmd shell中启动的命令,您无法通过拖动来调整屏幕大小。由于底层的Windows组件,这个外壳被严重破坏。尝试使用类似于rxvt的工具或油灰叉 如果已全部设置,则问题可能是termcap问题。有些人将他们的Cygwin TERM变量设置为“xterm”,因为许多远程机器没有为诸如
rxvt Cygwin native
之类的东西安装termcaps。在本地重写它将导致尝试一系列终端操作的程序出现问题
在~/.bash_配置文件中,可以将终端设置为以下设置<代码>导出术语=rxvt cygwin native
有关rxvt的更多信息,请参阅my
SSH也给出了错误:
“不会分配伪终端,因为stdin不是
终点站。”
为了在NTEmacs(不是cygwin的emacs)中解决这个问题,我做了以下工作:
fakecygpty ssh my_server
,而不是只运行ssh my_server
(如果fakecygpty在您的路径上,则最简单)李>
我在运行cmd、cygwin bash和git bash的*shell*
中测试了这一点,它们都工作得很好。我的理解是fakecygpty.c将NTEMAC表示为有效的cygwin tty,以便ssh愿意与之对话
通过将以下内容添加到init.el,还可以使NTEMAC通过SSH正确编辑文件:
(eval-after-load "tramp"
'(progn
(add-to-list 'tramp-methods
(mapcar
(lambda (x)
(cond
((equal x "sshx") "cygssh")
((eq (car x) 'tramp-login-program) (list 'tramp-login-program "fakecygpty ssh"))
(t x)))
(assoc "sshx" tramp-methods)))
(setq tramp-default-method "cygssh")))
我还需要将我的Tramp更新到2.2.7,以便能够通过ssh从NTEMAC编辑文件
希望这能给别人省去一些麻烦。:) 在通过.emacs设置rxvt时遇到问题…说“-i不是选项”,并列出可能的选项。术语变量的默认设置是什么?我在网上找到消息说它被设置为CYGWIN,但是,我不知道这是批处理文件还是其他隐藏文件?我想在emacs中很难找到外壳。非常感谢你的意见!