使用虚拟控制台关闭系统

我的电脑不时冻结。 这是因为我犯了一些错误,我毁了我的系统。 我现在没有时间重新安装系统。 当我的电脑被冻结时,按Ctrl + Alt + F1时它仍然有效。 有没有办法重启系统使用它?

Ctrl + Alt + F1可将您从X11(GUI)带到虚拟控制台 。 你当然可以从这里重启。

  • 从虚拟控制台重新启动的最简单方法Ctrl + Alt + Delete 。 您甚至不需要先登录,但如果您这样做则不会有问题。 与旧的DOS系统不同,在像Ubuntu这样的GNU / Linux系统中按Ctrl + Alt + Delete实际上会执行正确的关闭和干净的重启。

    这在GUI中不起作用(除非你已经设置好,或者你正在运行一个非常古老的发行版)。 但它确实可以在任何没有运行X11的虚拟控制台中运行(除非你没有设置它,这很少见)。

  • 另一种方法是登录并运行sudo reboot 。 系统会要求您输入密码以登录虚拟控制台,并且系统会再次要求您输入sudo 。 两次都是相同的密码,当您输入时,您不会看到任何占位符字符(如* )。 输入 ,然后按Enter键

但是,您可以考虑: 而不是重新启动

  • 只重新启动GUI。 您的桌面环境和所有正在运行的程序将很快退出(因此您通常必须小心重启),GUI将重新启动,并且当您运行时,图形登录屏幕将重新启动:

     sudo service lightdm restart 

    这可以通过停止和启动显示管理器来实现 。 该特定命令实际上仅在您的显示管理器是LightDM时才有效,默认情况下,它在大多数Ubuntu系统上都是如此。 主要的例外是如果您正在运行使用GDM的 Ubuntu GNOME:

     sudo service gdm restart 
  • 试图关闭违规计划。 虽然没有程序会导致整个GUI冻结,但偶尔也会发生。 您可以登录(参见上文)并运行top查看当前正在运行的进程,按CPU使用情况排序。 (按Q退出top 。)导致GUI冻结的程序不一定使用大量CPU,但这是一个开始的地方。

    您还可以使用ps命令查找您想要尝试退出的程序的进程ID或名称,以及killkillall命令,分别按编号或名称退出。 正如其名称所示, killall尝试杀死所有具有您提供名称的进程。 (进程名称不一定与启动器图标或标题栏中显示的名称相同。)

重启时要小心 ,无论你怎么做:

  • 如果您的程序包含未保存的文档,则您的文档将丢失。 如果您需要先尝试保存数据,请不要急于重启。
  • 这也适用于重新启动显示管理器,除了在其他虚拟控制台中打开的文档(但包括通过图形桌面上的终端窗口访问的终端中打开的文档)。

另请参阅Ubuntu冻结时应该怎么做?

运行以下命令:

 sudo reboot 

要么

 sudo shutdown -r now 

两个命令都将在您的系统上执行重新启动/重新启动。 如果不起作用,请按住电源键几秒钟,然后将其释放并再次按下以启动电脑。

如果系统碰巧运行16.04版本(您可以使用lsb_release -r进行检查),则不需要对restart命令执行sudo权限。 只需运行reboot完成工作。

进入控制台模式后,运行以下sudo init 6sudo init 6

init 6基本上告诉init进程关闭init文件中写入的所有生成的进程/守护进程(按照它们启动的相反顺序),最后调用shutdown -r now命令重启机器