在ansi-termEmacs 的终端中,当我ssh到特定的远程主机时,终端无法正确识别,我收到错误:
'eterm-color': unknown terminal type.
Run Code Online (Sandbox Code Playgroud)
我添加export TERMINFO=~/.terminfo到.bashrc远程计算机上,我在远程计算机上尝试了以下内容:
cp -r /usr/share/emacs/21.4/etc/e ~/.terminfo
Run Code Online (Sandbox Code Playgroud)
为了以防万一,我还尝试将我自己的本地副本/etc/e(Emacs 24.3)复制到~/.terminfo远程计算机上.
此外,如果它很重要,如果我尝试infocmp远程机器,我得到:
>infocmp
infocmp: couldn't open terminfo file /usr/share/terminfo/e/eterm-color.
Run Code Online (Sandbox Code Playgroud)
我怎样才能解决这个问题?
这是我的情况:我通常R在Emacs使用ESS终端模拟器,在我的本地电脑中运行.在我的工作场所,我们运行一个新的服务器,R所以我将使用远程服务器ssh.我连接通过ssh,一切正常.我要做的是R在我关闭笔记本电脑并回家的同时保持控制台的存活,这样,从我的家里我将重新连接到现有的R会话.我尝试将R控制台放在后台使用C-q C-z Enter来停止进程但是,当我关闭ssh连接时,进程被终止.没有运气bg &也没用.我也尝试了,mosh但在这种情况下,我得到了一些与我工作网络中的UDP流量相关的问题.Screen并且tmux由于与他们的不良互动而不是非常有用Emacs eshell.在客户端和服务器机器上,我运行Debian 8 xfce.
是否有办法在关闭ssh连接时保持R终端的活动状态?你对长期会议的态度是什么?
编辑
终于来了,我在这里找到了我正在寻找的解决方案.我尝试了与上面链接相同的方法,但是使用tmux,我得到了很多错误.圣杯是屏幕.我尝试按照一步一步的步骤进行操作,但是当我尝试从eshell中附加一个屏幕会话时,我从emacs收到错误.所以我尝试使用ansi-term而不是eshell,并且所有工作都按预期工作.我可以附加和分离R会话.通过这种方式,我只使用远程服务器机器进行计算,而R脚本在我的笔记本电脑中.所以,这是工作流程:
ssh 到主机服务器screen会议Rscreenemacs在本地计算机上作为守护程序运行并打开一个emacsclient
实例(不必通过emacsclient运行emacs但我更喜欢这种方式)R脚本ansi-term(M-x ansi-term)ssh 从服务器到 ansi-termscreen -r)R控制台连接到本地R脚本( …