在我的 Debian 7.8 中,当从 5 进入运行级别 1 时,运行级别可以从 5 更改为 1,例如,在控制台上发出以下命令时:
init 5
INIT:切换到运行级别 5
INIT:发送处理 TERM 信号 INIT:发送处理 KILL 信号
现在光标永远停在那里。我该如何修复它?请观看我在 YouTube 上的屏幕截图视频。
http://youtu.be/KlZeF3YQOCo
答案1
“从运行级别 1 返回到多用户运行级别并不安全”。
WARNINGS
On a Debian system, entering runlevel 1 causes all processes to be
killed except for kernel threads and the script that does the killing
and other processes in its session. As a consequence of this, it isn't
safe to return from runlevel 1 to a multi-user runlevel: daemons that
were started in runlevel S and are needed for normal operation are no
longer running. The system should be rebooted.
http://manpages.debian.org/cgi-bin/man.cgi?sektion=8&query=init&apropos=0&manpath=sid&locale=en- 尽管由于 systemd 的原因,此链接可能会在某些时候被替换/删除,但抱歉。
答案2
您可能对 Debian 和 Red Hat 之间的区别感到困惑。
在 Red Hat 衍生系统上,运行级别 2 到 5 具有特定含义;例如,运行级别 3 是“带网络的文本模式多用户”,运行级别 5 是“图形桌面”等。
在 Debian 上sysvinit
,这些运行级别没有预定义的含义。所有附带初始化脚本的软件都将在所有四个这些运行级别。您可以将运行级别从 2 切换到 5,但是除非您执行了一些特定的操作来以不同方式配置这些运行级别,否则不会完成任何操作。
如果您想要的是图形桌面,则无需切换运行级别;相反,您需要做的是确保您想要运行的桌面确实已安装。为此,最简单的方法是以tasksel
root 身份运行,选择要使用的桌面,然后安装它。
答案3
抱歉,我无法测试这个(我不再使用sysvinit
),但要切换sysvinit
运行级别,请使用telinit
,例如telinit 5
- 实际上可以通过启动 DE 来启动运行级别 5。只是好奇,但为什么要切换到运行级别 1(单用户)?如果您想要tty
唯一的,我认为使用运行级别 3(带网络的多用户)更安全、更方便。