我使用的是 Kubuntu,18.04。我遇到了以下奇怪的问题:
启动任何终端应用程序(Konsole、gnome-terminal、带有嵌入式控制台窗口的 Dolphin 文件管理器)时,它们都会以空白提示符开始。
我输入的任何内容都会显示出来,但没有“含义” - 也就是说,它不会被 shell 视为输入。
我需要按 Ctrl+C 才能退出此状态,并使提示符恢复正常运行。
我猜一定有一些配置文件告诉终端应用程序要启动哪个 shell(以及如何启动),我猜那里发生了一些变化。
你们有人知道如何解决这个问题吗?
这是我启动 Konsole 时的输出(所有终端应用程序都一样):
This text has no effect after "enter"
as you can see.
Now I will press Ctrl+C:
^Cdkish@r2d2:~$
从最后一行可以看出,只有在按下 Ctrl+C 后才会出现提示,从那时起一切都正常工作。
提前致谢!
答案1
我认为终端应用程序通常会启动您在 中指定的终端/etc/passwd
。当您执行 时grep dkish /etc/passwd
,最后一部分(最后一个:
字符后的部分)会说什么?我使用的是 bash,因此在我的系统上它会显示/bin/bash
。如果它显示的内容不同,请尝试编辑此文件。我认为您需要注销+登录才能使此操作生效。
更新您提到您的 Bash“启动不良”,但这/bin/sh
并未受到影响。这可能是 Bash 特定配置文件的问题。~/.bashrc
并/etc/bash.bashrc
浮现在脑海中。~/.bashrc
首先检查一下。它是否包含等待输入的命令?它是否包含未设置为在后台运行的长时间运行的命令?
检查这些文件是否是罪魁祸首的另一种方法是使用 启动 shell /bin/sh
,然后使用 手动启动 Bash /bin/bash --norc
。这是否可以让您在无需按 Ctrl+C 的情况下运行 Bash?