Vin*_*wal 37 terminal osx-lion
我跑的时候
screen
Run Code Online (Sandbox Code Playgroud)
在远程主机(运行Linux)上,我得到以下错误:
Cannot find terminfo entry for 'xterm-256color'.
Run Code Online (Sandbox Code Playgroud)
我在Mac OSX Lion上运行终端以访问远程主机.我已经谷歌搜索找出这个问题的解决方案,似乎人们建议做
export TERM=xterm-color
Run Code Online (Sandbox Code Playgroud)
这对我不起作用.
请帮忙.
Big*_*gSN 57
找出支持哪个TERM:
ls /usr/share/terminfo/x
Run Code Online (Sandbox Code Playgroud)
这将为您提供支持的TERM列表,即
xterm
xterm-xfree86
Run Code Online (Sandbox Code Playgroud)
设置环境变量:
export TERM=xterm-xfree86
Run Code Online (Sandbox Code Playgroud)
并运行屏幕:
TERMINFO='/usr/share/terminfo/' screen
Run Code Online (Sandbox Code Playgroud)
ben*_*ich 13
在您使用ssh的终端应用程序中,转到首选项 - >高级 - >将终端声明为: - > xterm-color(或除了xterm-256color之外的其他内容)
这个答案取自对这篇文章的评论,该评论有另一个解决方案:http: //marcoschuh.de/wp/?p = 873
如果是我的Buffalo Linkstation,我可以通过以下方式解决它:
cd /lib/terminfo/x
ln -s xterm-color xterm-256color
Run Code Online (Sandbox Code Playgroud)
您在terminfo远程计算机上缺少与“xterm-256color”匹配的文件。
Screen 不知道如何模拟您要求的终端 (xterm-256color),因为它没有描述您正在使用的终端的文件 (xterm-256color)。
您可以更改 ENV 变量TERM以请求远程机器确实具有的终端仿真。例如:export TERM=vt220,但这将假设您的遥控器有一个 vt220 terminfo 文件,并且您不会获得漂亮的颜色,并且您必须做其他繁琐的事情才能使其坚持下去。更好的...
如果您的本地机器有 terminfo 文件,但您的远程机器没有,例如,linux/macos 与 QNAP/QNAS/busybox/rpi/router/modem/IOTdevice 通信,那么...
您可以将必要的文件复制到它并指示您的远程终端将其用于屏幕。例如:
[local] $ scp /lib/terminfo/x/xterm-256color john@nasbox:xterm-256color
[local] $ ssh john@nasbox
[remote] $ ls
xterm-256color
[remote] $ TERMINFO='/share/homes/john/xterm-256color' screen
Run Code Online (Sandbox Code Playgroud)
此时屏幕应该可以工作。您的本地机器可能在terminfo其他地方拥有该目录(/etc/terminfo/并且/usr/share/terminfo/是常见的替代品;您可能需要四处寻找才能找到您的)。
要对其进行更永久的设置,请将其移动到主目录中的“.terminfo”目录(或其他地方,如果您更了解)。例如:
[remote] mkdir -p .terminfo/x
[remote] mv xterm-256color .terminfo/x
[nasbox] screen
Run Code Online (Sandbox Code Playgroud)
相同的技术应该适用于其他终端仿真。ENV 变量TERM确定它应该尝试模拟哪个终端,同名文件提供了使这一切发生的魔术代码。
我以前使用默认的 Mac OS X 终端应用程序通过 ssh 访问我基于 Ubuntu 的 tmux,并发现了您描述的问题 - 我的 bash 和 tmux 设置为 screen-256color,该选项甚至不在 Mac 的列表中终端偏好。
我尝试添加以下行:
export TERM=screen-256color
Run Code Online (Sandbox Code Playgroud)
作为启动命令,但它被忽略并在启动时被 xterm-color 覆盖。
我还设法通过选择 Shell > Export Settings 将 Mac Terminal 的设置更改为 screen-256color,然后编辑它生成的 XML 文件,找到 xterm-color 行并将其更改为 screen-256color,然后 Shell > Importing this设置文件。然而,在启动终端后,我发现它仍然用 xterm-color 覆盖了这个设置。
所以我承认并下载了iTerm2,它允许我通过将其输入到纯文本字段(而不是从有限的下拉菜单中进行选择)来更改 screen-256color 设置。这立即生效,甚至无需关闭并重新打开控制台。
所以总而言之,我建议使用 iTerm2 而不是默认的 Mac 终端(它似乎不允许对您需要的 $TERM 进行更改)。
小智 5
您可以ncurses-term在远程服务器 (Debian/Ubuntu) 上安装以解决此问题。
小智 3
您可能需要在 Linux 主机上安装一个软件包,该软件包提供以下文件之一:
/usr/share/terminfo/x/xterm-256color
/lib/terminfo/x/xterm-256color
Run Code Online (Sandbox Code Playgroud)
例如,在 Ubuntu 上,这是由ncurses-base软件包提供的。
| 归档时间: |
|
| 查看次数: |
60038 次 |
| 最近记录: |