我已经设置了我的 tmux 来使用screen-256colors它,它与 vim 配合得很好。
但是,当我从 tmux 内 ssh 到远程主机时,screen-256colors无法识别,所以我收到如下错误:
E558: Terminal entry not found in terminfo 'screen-256color' not known. Available builtin terminals are:
builtin_ansi
builtin_xterm
builtin_iris-ansi
builtin_dumb defaulting to 'ansi'
Run Code Online (Sandbox Code Playgroud)
除了编辑每个遥控器.bashrc(类似于这个建议),有没有办法TERM在远程主机上正确自动地设置?
有一个非常奇怪的问题。我创建了一个小的 bash 脚本,它通过 ssh(使用公钥身份验证)在远程主机上运行命令。
当我从命令行手动运行此脚本时,它工作正常,但是当放置在 /etc/cron.hourly 中时,它会失败并显示Permission denied, please try again.错误。
ssh -i /root/.ssh/id_rsa user@remote "command";在脚本中显式设置密钥echo `id` > /tmp/whoami.log来仔细检查);和系统是 Ubuntu 12.04 服务器,我在远程端没有太多访问权限进行故障排除,但正如我所说,手动运行 ssh 或从命令行运行相同的 bash 脚本。
知道为什么会发生这种情况或如何解决吗?
结果我弄错了,ssh 密钥受密码保护(钥匙串加载 ssh 代理),因此为什么它从脚本中失败,但在从 bash 会话运行时却没有。添加. ~/.keychain/$HOSTNAME-sh到我的脚本中解决了问题(感谢@grawity 为我指明了正确的方向并提供了全面的答案)。