【问题标题】:gcloud sdk in mac terminal - backspace does not workmac终端中的gcloud sdk - 退格不起作用
【发布时间】:2021-08-10 12:14:55
【问题描述】:

Mac 10.14.6 iTerm2 构建 3.4.8 谷歌云 SDK 351.0.0 测试版 2021.07.30 bq 2.0.70 核心 2021.07.30 gsutil 4.66

登录到我的虚拟 gcloud 服务器没有错误: gcloud compute ssh myserver

但是,终端中的退格键注册为空格键。

尝试与普通 Mac 终端完全相同,行为相同。

什么给了?

【问题讨论】:

  • 您为 $TERM 设置的值是多少,它是否在 /usr/share/terminfo 中定义?例如,当我从我的 Linux 机器上进行 SSH 连接时: $ echo $TERM screen-256color $ find /lib/terminfo -name $TERM /lib/terminfo/s/screen-256color (对不起......在 Markdown 格式中遇到了困难。)
  • 在我的 Mac 上,$TERM 是 xterm-24bit
  • @Gerb 谢谢。主机上的 `find' 命令没有列出 'xterm-24bit',而客户端将它传递给 ssh 会话的主机,它自然无法找到。从这里开始有两个选项:在主机上设置一些其他 $TERM(例如“set term xterm”)或将“xterm-24bit”添加到主机的 terminfo。您可以将您的评论作为答案,我会接受。

标签: gcloud iterm2


【解决方案1】:

如果环境变量TERM 未设置为terminfo 配置中定义的值,则退格键通常会注册为空格键。

您可以通过运行检查TERM 的值:

echo $TERM

terminfo 可以在多个位置进行配置,但在 Google Compute Engine 上可能使用来自/lib/terminfo 的值。 (其他可能性包括$HOME/.terminfo/usr/share/terminfo。)您可以通过运行检查TERM 的当前设置是否对应于该目录中的文件:

find /lib/terminfo -name $TERM

如果该值存在,您将看到类似/lib/terminfo/s/screen-256color 的内容。如果它不存在,您将看不到任何输出。

您可以通过确保将TERM 环境变量设置为terminfo 中定义的文件之一来解决此问题。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-09-25
    • 1970-01-01
    • 2023-03-24
    • 2013-11-14
    • 2015-10-23
    • 2022-11-13
    • 2020-12-16
    相关资源
    最近更新 更多