以用户身份使用 sudo 时,TTY/终端行为是否奇怪?

以用户身份使用 sudo 时,TTY/终端行为是否奇怪?

我最近从 Digital Ocean 设置了一个 Ubuntu VPS。

当我以 root 身份登录时,我能够正确浏览终端

当我以其他用户身份执行 sudo 时,会出现一些非常奇怪的终端行为

  • 我无法向左移动光标。它会用奇怪的控制字符覆盖它,例如。rvm ^[[D
  • 我无法使用向上箭头导航上一个命令。我得到了类似的信息 -$ ^[[A^[[A^[[A
  • Vim 完全无法使用。向任何方向移动都会导致插入上述控制字符或“覆盖”现有字符的奇怪组合。我无法删除它们。
  • Tab 补全根本不存在。输出与上面相同。

由于这一切在以 身份登录时都可以正常工作root,因此我怀疑这是与软件相关的问题,这让我希望它可以被修复。

有什么想法吗?谢谢!

答案1

bash应该为用户的 shell 设置 以使箭头键正常工作。要找出他们使用的 shell,请在以用户身份登录时从终端窗口输入以下内容:

echo $SHELL

如果不是 bash,以下将为用户添加 shell 变量:

sudo usermod -s /bin/bash <username>

希望有所帮助。

答案2

请注意,如果要更改默认 shell,则应编辑中的变量/etc/default/useradd为“/bin/bash“。这样,新用户应该会自动获得/bin/bash作为他们的 shell(除非在命令行上被覆盖)。

相关内容