如何在没有终端仿真器的情况下访问 bash?

如何在没有终端仿真器的情况下访问 bash?

假设我不小心卸载了系统上的每个终端仿真器:xterm,,,,等等。有没有办法可以在不使用终端仿真器的情况下uxterm访问gnome-terminalguakebash

我能想到的一个可能的方法是创建并运行一个 shell 脚本,但除此之外,我可以获得一个交互式 shell 吗?

这纯粹是假设,但感谢大家的回答!

答案1

是的,按CtrlAltF21即可。这样您就可以访问虚拟控制台 TTY2 。然后,您可以使用 重新安装任何终端仿真器,例如sudo apt-get install terminal-name,其中 terminal-name 是。gnome-terminal

要返回 GUI,请先键入exit以退出虚拟控制台,然后按CtrlAltF7切换回 GUI。(如果您想保持 TTY 会话打开,请跳过键入 exit部分)

编辑:2015年6月17日

我想到了另一个解决方案:如果你有任何 C 语言 IDE,你可以编译以下代码,IDE 的控制台现在将允许你访问 bash

#include<stdio.h>
#include <unistd.h>

void main()
{
        system("bash");
}

笔记: CtrlAltF2并不是唯一的选择。您还可以使用CtrlAltF1CtrlAltF3CtrlAltF4和,它们将分别CtrlAltF5CtrlAltF6您提供虚拟控制台 TTY1、TTY3、TTY4、TTY5 或 TTY6。

答案2

如果您正在运行 ssh 服务器,那么您可以从另一个系统通过 ssh 进行连接。

ssh <your_remote_user_name>@<your_remote_host>

如果我安装系统,那么我首先安装并启动 SSH 服务器。一种生命保险。=)

答案3

Ctrl+ Alt+(F1至少F4,最多F6)在虚拟控制台上运行终端界面。到达那里后,要返回 GUI,请使用Ctrl+ Alt+ F7

如果您执行上述任何操作,您应该能够进入一个可以登录的终端,然后访问该终端。但是,如果 Bash 脚本是放入cron等或双击运行的自动脚本(但不在终端中),它们将继续运行。终端仿真器“为您提供”交互式 shell,但最终bashzsh等是实际的 shell,它们仍然存在,可以通过cron、脚本甚至上述键盘组合上的虚拟控制台运行。

但请注意,如果您的脚本需要交互界面,则必须使用虚拟控制台或再次安装模拟器。

答案4

虽然以上所有答案都是完美的,但因为您使用的是 Linux,所以您还有许多其他可能的解决方案:

  • @serg 回答中描述的虚拟 ttys 是完美的解决方案
  • @AB 解决方案中描述的 SSH 是一个很棒的技巧,但您必须考虑运行 openssh 服务器。
  • 另一种可能的解决方案(它不是完美的,但只是为了展示其他可能性):活CD恢复模式

相关内容