箭头键、Home、End、制表符完成键在 shell 中不起作用

132 command-line bash ubuntu-minimal

我已经在我的虚拟机上安装了 ubuntu minimum(mini.iso)。然后我使用恢复模式以 root 身份登录并创建一个帐户,useradd -m admin然后使用passwd admin.

当我登录新帐户时,我只看到一个$标志,而不是正常提示。如果我尝试使用制表符完成命令或文件名,它会打印一个普通的制表符。如果我尝试使用箭头键,它会打印^[[A, ^[[B,^[[C^[[D. 此外,ls不再添加颜色。

这些问题均未处于恢复模式。我怎样才能解决这个问题?

ste*_*ver 237

这可能意味着新用户帐户是使用 /bin/sh 作为其登录外壳创建的(默认情况下它是指向破折号外壳的符号链接)而不是 /bin/bash - 您可以使用“chsh”命令更改用户的登录外壳

chsh -s /bin/bash
Run Code Online (Sandbox Code Playgroud)

或更改另一个用户的登录 shell(显然需要是 root 用户才能执行此操作)

sudo chsh -s /bin/bash <username>
Run Code Online (Sandbox Code Playgroud)

(您需要启动一个新的登录会话以使更改生效)。您可能还需要从 /etc/skel 复制默认的 .bashrc 以获取颜色提示。

将来您可能想要使用“adduser”命令而不是“useradd”——它设置了一个更完整的用户环境,包括默认的 .profile 和 .bashrc 之类的东西——以及将登录 shell 设置为“bash”

  • 附加提示:用户可以在不需要 sudo 权限的情况下为自己的帐户更改此设置(只需在上述命令中省略 `sudo`)。 (19认同)
  • 实际上,您不必注销。只需在提示符下输入 `/bin/bash` 即可调用它。如果你修改你的 `bash.rc` 文件,同样的事情也会发生。要查看更改,您可以执行相同的操作。 (8认同)

小智 5

通过 VNC 连接到无头 XFCE4 时,我无法使用 Tab 补全。此处列出的答案无效,但这确实有效:

在 xml 文件中编辑键盘快捷键:

sudo nano ~/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-keyboard-shortcuts.xml
Run Code Online (Sandbox Code Playgroud)

找:

<property name="&lt;Super&gt;Tab" type="string" value="switch_window_key"/>
Run Code Online (Sandbox Code Playgroud)

将其更改为:

<property name="&lt;Super&gt;Tab" type="empty"/>
Run Code Online (Sandbox Code Playgroud)

注销/重启,应该没问题