箭头键、Home、End、Tab 完成键在 shell 中不起作用

箭头键、Home、End、Tab 完成键在 shell 中不起作用

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

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

这些问题均未在恢复模式下出现。我该如何修复?

答案1

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

chsh -s /bin/bash

或者更改其他用户的登录 shell(显然需要 root 权限才能执行此操作)

sudo chsh -s /bin/bash <username>

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

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

答案2

通过 VNC 连接到无头 XFCE4 时,我无法使用制表符补全。此处列出的答案不起作用,但这个有效:

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

sudo nano ~/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-keyboard-shortcuts.xml

寻找:

<property name="&lt;Super&gt;Tab" type="string" value="switch_window_key"/>

更改为:

<property name="&lt;Super&gt;Tab" type="empty"/>

注销/重启即可

答案3

我刚刚安装了 Vim,所有问题都解决了。一开始我以为是原版 Ubuntu 上安装了 Vi,因为我能用 Vi 命令,但事实并非如此。

sudo apt-get install vim 

解决了问题。

答案4

在我的例子中,它原来是我在.bash-aliases名为“test”的文件中创建的函数。如果您仍然遇到这些错误,请检查.bashrc.bash_profile和中的自定义别名.bash_aliases,暂时删除任何可疑添加,然后再次尝试 bash 自动完成。

相关内容