我已经安装了带有 systemd 的 ubuntu 16.04。我需要安装来自 nvidia 的 cuda 工具包,但我只能从运行级别 3 安装它。
现在我在这里找到了一些答案,但都不起作用。例如:
echo "manual" | dd of=/etc/init/lightdm.override
有人告诉我这会让我在启动时选择运行级别
systemctl isolate runlevel3.target
这里,我被告知它无需启动就会改变为运行级别 3,但它只是让显示屏变得一片漆黑。
答案1
如果你只是需要切换到文本模式而不需要运行任何 GUI 内容(比如 X 服务器),那么你可以使用以下命令systemctl
让你的机器进入所谓的multi-user.target
:
sudo systemctl start multi-user.target
graphical.target
您可以通过重新启动或按照与上述相同的方式手动切换来恢复此操作并返回桌面( ):
sudo systemctl start graphical.target
如果你确实需要将运行级别更改为 3,可以使用以下init
命令完成,如 @特登指出他的评论:
sudo init 3
你可以用这个runlevel
命令来验证你当前的运行级别。它会输出两个字母:左边的字母是你之前的运行级别,而右边的字母代表你当前的运行级别。
通过再次将运行级别设置为 5 来返回桌面:
sudo init 5
两种方法的重要注意事项:
切换到
multi-user.target
或运行级别 3 都将终止 X 服务器并终止所有 GUI 应用程序和桌面环境。请确保在开始之前关闭所有有用的应用程序并保存您的工作,否则它们的状态将丢失!也
systemctrl start ???.target
不要init ?
切换您的活动 TTY。这意味着,如果您从桌面上的终端仿真器(通常在 TTY7 上)运行这些命令,之后您将看到黑屏(可选择显示一些调试输出)。原因很简单,因为 TTY 8-12 不连接到文本控制台,而是保留给视频控制台以显示 GUI。只有 TTY 1-7 是文本控制台。
因此,要在
multi-user.target
运行级别 3 中或在其上操作,您必须切换到文本控制台 TTY,例如,按Ctrl+ Alt+切换到 TTY1。返回或运行级别 5 后,您可以分别按+ +F1返回桌面 (TTY7) 。graphical.target
CtrlAltF7当您进入这样的文本控制台时,请注意您必须先根据要求输入您的用户名和密码重新登录。
答案2
为了解决您的任务,您最好重新启动进入恢复模式,它是基于文本的,可以满足您的需求。
关闭机器并按住“Shift”键启动。将出现 Grub 菜单。通常第二个选项是您想要的,标记为“高级”或“恢复”。这将引导您进入基于文本的菜单。选择 root shell 的选项。
你想要你應該就做。
如果发现驱动器以只读方式安装,则可以重新以读写方式安装根驱动器:
mount -o remount,rw /
输入“exit”作为最后一个 shell 命令。您将返回到菜单,您可以在其中选择“恢复启动”。
systemd isolate
考虑到机器从 SSD 启动的速度,这种方法与在图形环境中切换的方法相比具有竞争力。