gop*_*410 55 command-line gnome-terminal xterm
当我使用我的帐户(具有 sudo 权限)通过 ssh 进入另一台 Ubuntu 机器时,我的退格键在按下时会生成一些尴尬的符号。Tab、Del 和箭头键也不起作用。
另一方面,我在同一台机器上还有另一个帐户,当我通过这个帐户 ssh 时,它的终端工作得很好。我无法弄清楚为什么会发生这种情况。
Aar*_*ron 39
编辑:参考:马腾的回答
Mateng 很接近,我认为您可能正在运行 Bourne Shell。但是您不应该/etc/passwd
直接编辑您的文件。尝试使用以下chsh
命令:
chsh -s /bin/bash
Run Code Online (Sandbox Code Playgroud)
-s 标志将使新的 shell(在本例中为 Bash)成为您的登录 shell,继续前进。
Dra*_*ris 21
当你第一次 ssh 进入时,试试这两个命令
stty sane
export TERM=linux
Run Code Online (Sandbox Code Playgroud)
我必须在某些机器上执行此操作才能准确解决此问题
Mat*_*eng 21
以下更改为我解决了问题。首先,我检查了哪个 shell 正在运行:
$ echo $0
Run Code Online (Sandbox Code Playgroud)
返回:
/bin/sh
Run Code Online (Sandbox Code Playgroud)
正如我在 Ubuntuforums 的这篇文章中所读到的,更改 shell 以/bin/bash
提供解决方案。所以我将我的用户设置编辑/etc/passwd
为:
johndoe:x:1001:104:John Doe:/home/johndoe:/bin/bash
Run Code Online (Sandbox Code Playgroud)
我退出,然后重新登录。奇怪的是,我不得不通过输入以下内容手动切换外壳(也许某些缓存处于活动状态):
/bin/bash
Run Code Online (Sandbox Code Playgroud)
瞧!
[问题是由于发行版更新引起的。]
小智 7
解决此问题的最简单方法之一是在命令行界面提示符下键入 /bin/bash:
$ /bin/bash
上述命令将作为子进程在现有 shell 之上执行 Bourne Again Shell。这带来了利用更多资源的缺点,但无需编辑任何内容,也不需要特殊权限。例如,在最近的 Kubuntu 版本中,它将在默认的 /bin/dash 命令行 shell 界面上启动一个 /bin/bash 会话。
但是,要保持更改,一种可能性是编辑 /etc/passwd 文件并将默认 shell 添加/编辑/替换到 /bin/bash 对应于用户的行中最后一个 ':' 字符之后。但是,为了编辑此文件,需要管理员权限。